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_5.s582
-rw-r--r--asm/battle_7.s3815
-rw-r--r--asm/battle_anim_80A5C6C.s356
-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.s522
-rw-r--r--asm/battle_anim_8170478.s224
-rw-r--r--asm/battle_anim_sound_tasks.s40
-rw-r--r--[-rwxr-xr-x]asm/battle_frontier_1.s152
-rw-r--r--[-rwxr-xr-x]asm/battle_frontier_2.s384
-rw-r--r--asm/battle_link_817C95C.s286
-rw-r--r--asm/battle_records.s16
-rw-r--r--asm/battle_setup.s3550
-rw-r--r--[-rwxr-xr-x]asm/battle_tent.s18
-rw-r--r--[-rwxr-xr-x]asm/battle_tower.s80
-rw-r--r--asm/battle_transition.s9826
-rw-r--r--asm/berry_blender.s8788
-rwxr-xr-xasm/berry_fix_program.s8
-rw-r--r--asm/berry_tag_screen.s1538
-rw-r--r--asm/bike.s2199
-rw-r--r--asm/birch_pc.s234
-rw-r--r--asm/cable_car.s2
-rw-r--r--asm/cable_club.s130
-rw-r--r--asm/clock.s175
-rw-r--r--asm/coins.s74
-rw-r--r--asm/contest.s118
-rw-r--r--asm/contest_ai.s2
-rw-r--r--asm/contest_effect.s2
-rw-r--r--asm/contest_link_80F57C4.s44
-rw-r--r--asm/contest_link_80FC4F4.s8
-rw-r--r--[-rwxr-xr-x]asm/contest_link_81D9DE4.s2
-rw-r--r--asm/contest_painting.s8
-rw-r--r--asm/coord_event_weather.s156
-rw-r--r--asm/credits.s6
-rw-r--r--asm/crt0.s4
-rw-r--r--asm/daycare.s3193
-rw-r--r--asm/dewford_trend.s10
-rw-r--r--asm/easy_chat.s32
-rw-r--r--asm/field_control_avatar.s108
-rw-r--r--asm/field_door.s754
-rw-r--r--asm/field_effect.s72
-rw-r--r--asm/field_message_box.s337
-rw-r--r--asm/field_player_avatar.s194
-rw-r--r--asm/field_poison.s323
-rw-r--r--asm/field_region_map.s325
-rw-r--r--asm/field_screen.s178
-rw-r--r--asm/field_specials.s8075
-rw-r--r--asm/field_tasks.s2
-rw-r--r--asm/fldeff_80F9BCC.s52
-rw-r--r--[-rwxr-xr-x]asm/fldeff_cut.s18
-rw-r--r--asm/fldeff_flash.s709
-rw-r--r--[-rwxr-xr-x]asm/fldeff_groundshake.s0
-rw-r--r--[-rwxr-xr-x]asm/fldeff_softboiled.s6
-rw-r--r--asm/fldeff_strength.s10
-rw-r--r--asm/fldeff_sweetscent.s6
-rw-r--r--asm/fldeff_teleport.s84
-rw-r--r--[-rwxr-xr-x]asm/fossil_specials.s2
-rw-r--r--asm/hall_of_fame.s3603
-rw-r--r--asm/heal_location.s83
-rw-r--r--[-rwxr-xr-x]asm/international_string_util.s12
-rw-r--r--asm/intro.s78
-rwxr-xr-xasm/item_icon.s468
-rw-r--r--[-rwxr-xr-x]asm/item_menu.s142
-rw-r--r--[-rwxr-xr-x]asm/item_menu_icons.s20
-rw-r--r--asm/item_use.s2863
-rw-r--r--asm/landmark.s128
-rw-r--r--[-rwxr-xr-x]asm/learn_move.s20
-rw-r--r--asm/link.s630
-rw-r--r--[-rwxr-xr-x]asm/list_menu.s22
-rw-r--r--asm/load_save.s669
-rw-r--r--asm/macros.inc22
-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.inc (renamed from asm/macros/event.s)1025
-rw-r--r--asm/macros/m4a.inc13
-rw-r--r--asm/macros/map.inc104
-rw-r--r--asm/macros/movement.inc123
-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.s24
-rw-r--r--[-rwxr-xr-x]asm/map_name_popup.s6
-rw-r--r--asm/map_obj_8097404.s1861
-rw-r--r--asm/map_obj_lock.s26
-rw-r--r--asm/mauville_old_man.s30
-rwxr-xr-xasm/menu.s5505
-rw-r--r--asm/menu_helpers.s32
-rw-r--r--[-rwxr-xr-x]asm/menu_indicators.s0
-rw-r--r--asm/mon_markings.s6
-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--asm/overworld.s (renamed from asm/rom4.s)126
-rw-r--r--[-rwxr-xr-x]asm/party_menu.s430
-rw-r--r--asm/player_pc.s52
-rwxr-xr-xasm/pokeball.s2861
-rw-r--r--asm/pokeblock_feed.s1873
-rw-r--r--asm/pokedex.s82
-rw-r--r--asm/pokedex_area_screen.s12
-rw-r--r--asm/pokedex_cry_screen.s6
-rw-r--r--asm/pokemon_1.s10
-rw-r--r--asm/pokemon_animation.s11782
-rw-r--r--[-rwxr-xr-x]asm/pokemon_icon.s36
-rw-r--r--asm/pokemon_item_effect.s58
-rw-r--r--[-rwxr-xr-x]asm/pokemon_storage_system.s334
-rw-r--r--[-rwxr-xr-x]asm/pokemon_summary_screen.s92
-rw-r--r--[-rwxr-xr-x]asm/pokenav.s200
-rw-r--r--asm/post_battle_event_funcs.s165
-rwxr-xr-xasm/rayquaza_scene.s5972
-rw-r--r--asm/record_mixing.s4
-rw-r--r--asm/recorded_battle.s2749
-rw-r--r--asm/region_map.s4288
-rw-r--r--asm/reset_rtc_screen.s1342
-rw-r--r--asm/rom6.s12339
-rw-r--r--asm/rom_8034C54.s1312
-rw-r--r--asm/rotating_gate.s4
-rw-r--r--asm/roulette.s82
-rw-r--r--asm/script_menu.s52
-rw-r--r--[-rwxr-xr-x]asm/script_movement.s2
-rw-r--r--asm/script_pokemon_util_80F87D8.s38
-rw-r--r--asm/shop.s24
-rw-r--r--asm/slot_machine.s22
-rw-r--r--[-rwxr-xr-x]asm/smokescreen.s0
-rw-r--r--asm/start_menu.s36
-rw-r--r--asm/starter_choose.s985
-rw-r--r--asm/title_screen.s1321
-rw-r--r--asm/trade.s177
-rw-r--r--asm/trader.s8
-rw-r--r--asm/trainer_card.s56
-rw-r--r--[-rwxr-xr-x]asm/trainer_rematch.s4
-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.s392
-rw-r--r--asm/wallclock.s1515
-rw-r--r--asm/wild_encounter.s2353
146 files changed, 18155 insertions, 121724 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_5.s b/asm/battle_5.s
deleted file mode 100644
index f2d6797f9..000000000
--- a/asm/battle_5.s
+++ /dev/null
@@ -1,582 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start AllocateBattleResrouces
-AllocateBattleResrouces: @ 8056F28
- push {r4-r6,lr}
- ldr r5, =gBattleResources
- ldr r6, =gBattleTypeFlags
- ldr r0, [r6]
- movs r1, 0x80
- lsls r1, 19
- ands r0, r1
- cmp r0, 0
- beq _08056F3E
- bl sub_81D55D0
-_08056F3E:
- ldr r4, =gBattleStruct
- movs r0, 0xA9
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x20
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0xA0
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1]
- movs r0, 0x10
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x4]
- movs r0, 0x24
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x8]
- movs r0, 0x24
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0xC]
- movs r0, 0xC
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x10]
- movs r0, 0x1C
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x14]
- movs r0, 0x54
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x18]
- movs r0, 0x24
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x1C]
- ldr r4, =gLinkBattleSendBuffer
- movs r5, 0x80
- lsls r5, 5
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- ldr r4, =gLinkBattleRecvBuffer
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- ldr r4, =gUnknown_0202305C
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- str r0, [r4]
- ldr r4, =gUnknown_02023060
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- ldr r0, [r6]
- movs r1, 0x80
- lsls r1, 20
- ands r0, r1
- cmp r0, 0
- beq _08056FFA
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gSaveBlock1Ptr
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- ldr r0, =0x00001a9c
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- bl CreateSecretBaseEnemyParty
-_08056FFA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AllocateBattleResrouces
-
- thumb_func_start FreeBattleResources
-FreeBattleResources: @ 8057028
- push {r4-r6,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 19
- ands r0, r1
- cmp r0, 0
- beq _0805703C
- bl sub_81D5694
-_0805703C:
- ldr r6, =gBattleResources
- ldr r0, [r6]
- cmp r0, 0
- beq _080570D0
- ldr r4, =gBattleStruct
- ldr r0, [r4]
- bl Free
- movs r5, 0
- str r5, [r4]
- ldr r0, [r6]
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- str r5, [r0]
- ldr r0, [r0, 0x4]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x4]
- ldr r0, [r0, 0x8]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x8]
- ldr r0, [r0, 0xC]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0xC]
- ldr r0, [r0, 0x10]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x10]
- ldr r0, [r0, 0x14]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x14]
- ldr r0, [r0, 0x18]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x18]
- ldr r0, [r0, 0x1C]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x1C]
- bl Free
- str r5, [r6]
- ldr r4, =gLinkBattleSendBuffer
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gLinkBattleRecvBuffer
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0202305C
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_02023060
- ldr r0, [r4]
- bl Free
- str r5, [r4]
-_080570D0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeBattleResources
-
- thumb_func_start AdjustFriendshipOnBattleFaint
-AdjustFriendshipOnBattleFaint: @ 80570F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08057140
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x3
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gBattleMons
- movs r0, 0x58
- adds r1, r3, 0
- muls r1, r0
- adds r1, r2
- adds r1, 0x2A
- muls r0, r4
- adds r0, r2
- adds r0, 0x2A
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bls _0805714A
- adds r4, r3, 0
- b _0805714A
- .pool
-_08057140:
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
-_0805714A:
- ldr r2, =gBattleMons
- movs r1, 0x58
- adds r0, r4, 0
- muls r0, r1
- adds r0, r2
- adds r3, r0, 0
- adds r3, 0x2A
- adds r0, r5, 0
- muls r0, r1
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x2A
- ldrb r0, [r3]
- ldrb r2, [r1]
- cmp r0, r2
- bls _080571B8
- ldrb r1, [r1]
- subs r0, r1
- cmp r0, 0x1D
- ble _08057198
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x8
- bl AdjustFriendship
- b _080571CE
- .pool
-_08057198:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x6
- bl AdjustFriendship
- b _080571CE
- .pool
-_080571B8:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x6
- bl AdjustFriendship
-_080571CE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AdjustFriendshipOnBattleFaint
-
- thumb_func_start sub_80571DC
-sub_80571DC: @ 80571DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08057248
- movs r2, 0
- ldr r6, =gBattlePartyID
- lsls r3, r4, 1
- ldr r5, =gUnknown_0203CF00
- ldr r4, =gBattleStruct
-_080571FE:
- adds r0, r2, r5
- ldr r1, [r4]
- adds r1, r2, r1
- adds r1, 0x60
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _080571FE
- adds r0, r3, r6
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- bl pokemon_order_func
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B8FB0
- movs r2, 0
- ldr r4, =gBattleStruct
- ldr r3, =gUnknown_0203CF00
-_08057236:
- ldr r0, [r4]
- adds r0, r2, r0
- adds r0, 0x60
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08057236
-_08057248:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80571DC
-
- thumb_func_start sub_805725C
-sub_805725C: @ 805725C
- 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
- movs r0, 0
- mov r8, r0
- ldr r1, =gBattleCommunication
- mov r10, r1
- b _08057284
- .pool
-_0805727C:
- mov r2, r8
- cmp r2, 0
- beq _08057284
- b _08057406
-_08057284:
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _0805728E
- b _08057390
-_0805728E:
- cmp r0, 0x1
- ble _08057294
- b _080573FC
-_08057294:
- cmp r0, 0
- beq _0805729A
- b _080573FC
-_0805729A:
- ldr r6, =gBattleMons
- movs r0, 0x58
- mov r5, r9
- muls r5, r0
- adds r0, r6, 0
- adds r0, 0x4C
- adds r4, r5, r0
- ldr r0, [r4]
- movs r7, 0x7
- ands r0, r7
- cmp r0, 0
- beq _08057372
- mov r0, r9
- bl UproarWakeUpCheck
- lsls r0, 24
- cmp r0, 0
- beq _080572FC
- ldr r0, [r4]
- movs r1, 0x8
- negs r1, r1
- ands r0, r1
- str r0, [r4]
- adds r2, r6, 0
- adds r2, 0x50
- adds r2, r5, r2
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- bl BattleScriptPushCursor
- movs r0, 0x1
- mov r2, r10
- strb r0, [r2, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedWokeUp
- str r0, [r1]
- movs r0, 0x2
- mov r8, r0
- b _08057372
- .pool
-_080572FC:
- adds r0, r5, r6
- adds r0, 0x20
- ldrb r0, [r0]
- movs r2, 0x1
- cmp r0, 0x30
- bne _0805730A
- movs r2, 0x2
-_0805730A:
- ldr r1, [r4]
- adds r0, r1, 0
- ands r0, r7
- cmp r0, r2
- bcs _0805731E
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r4]
- b _08057322
-_0805731E:
- subs r0, r1, r2
- str r0, [r4]
-_08057322:
- ldr r2, =gBattleMons
- movs r0, 0x58
- mov r1, r9
- muls r1, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r4, [r0]
- movs r0, 0x7
- ands r4, r0
- cmp r4, 0
- beq _08057354
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedIsAsleep
- str r0, [r1]
- movs r1, 0x2
- mov r8, r1
- b _08057372
- .pool
-_08057354:
- adds r2, 0x50
- adds r2, r1, r2
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- bl BattleScriptPushCursor
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedWokeUp
- str r0, [r1]
- movs r2, 0x2
- mov r8, r2
-_08057372:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r10, r1
- b _080573FC
- .pool
-_08057390:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- adds r1, 0x4C
- adds r4, r0, r1
- ldr r0, [r4]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080573F4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080573D4
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedIsFrozen
- str r0, [r1]
- b _080573EC
- .pool
-_080573D4:
- ldr r0, [r4]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r4]
- bl BattleScriptPushCursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedUnfroze
- str r0, [r1]
- mov r0, r10
- strb r5, [r0, 0x5]
-_080573EC:
- movs r1, 0x2
- mov r8, r1
- ldr r2, =gBattleCommunication
- mov r10, r2
-_080573F4:
- mov r1, r10
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080573FC:
- mov r2, r10
- ldrb r0, [r2]
- cmp r0, 0x2
- beq _08057406
- b _0805727C
-_08057406:
- mov r0, r8
- cmp r0, 0x2
- bne _08057430
- ldr r4, =gActiveBank
- mov r1, r9
- strb r1, [r4]
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- ldr r1, =gBattleMons + 0x4C
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl EmitSetMonData
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
-_08057430:
- mov r0, r8
- 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_805725C
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_7.s b/asm/battle_7.s
deleted file mode 100644
index 94cc1ba8e..000000000
--- a/asm/battle_7.s
+++ /dev/null
@@ -1,3815 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AllocateBattleSpritesData
-AllocateBattleSpritesData: @ 805D118
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- movs r0, 0x10
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x10
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1]
- movs r0, 0x30
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0x4]
- movs r0, 0x10
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0x8]
- movs r0, 0x50
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AllocateBattleSpritesData
-
- thumb_func_start FreeBattleSpritesData
-FreeBattleSpritesData: @ 805D158
- push {r4,r5,lr}
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- cmp r0, 0
- beq _0805D192
- ldr r0, [r0, 0xC]
- bl Free
- ldr r0, [r5]
- movs r4, 0
- str r4, [r0, 0xC]
- ldr r0, [r0, 0x8]
- bl Free
- ldr r0, [r5]
- str r4, [r0, 0x8]
- 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]
-_0805D192:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeBattleSpritesData
-
- thumb_func_start ChooseMoveAndTargetInBattlePalace
-ChooseMoveAndTargetInBattlePalace: @ 805D19C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r2, r0, 9
- ldr r1, =gBattleBufferA + 4
- adds r2, r1
- mov r10, r2
- movs r1, 0
- movs r2, 0xFF
- bl CheckMoveLimitations
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x92
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r4, r0, 31
- movs r0, 0x2
- ands r4, r0
- adds r6, r4, 0
- adds r5, r4, 0x2
- b _0805D20E
- .pool
-_0805D20C:
- adds r4, 0x1
-_0805D20E:
- cmp r4, r5
- bge _0805D234
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- ldr r1, =gBattleMons + 0x48
- adds r0, r1
- ldr r0, [r0]
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4, r0
- ldr r2, =gUnknown_0831C494
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r7
- ble _0805D20C
-_0805D234:
- subs r7, r4, r6
- cmp r4, r5
- bne _0805D23C
- movs r7, 0x2
-_0805D23C:
- movs r6, 0
- movs r4, 0
- mov r1, r10
- ldrh r0, [r1]
- cmp r0, 0
- beq _0805D27C
- mov r5, r10
-_0805D24A:
- ldrh r0, [r5]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r7, r0
- bne _0805D26E
- mov r0, r10
- adds r0, 0x8
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805D26E
- ldr r0, =gBitTable
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- orrs r6, r0
-_0805D26E:
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0805D27C
- ldrh r0, [r5]
- cmp r0, 0
- bne _0805D24A
-_0805D27C:
- cmp r6, 0
- beq _0805D2AC
- ldr r3, =gBattleStruct
- ldr r1, [r3]
- adds r1, 0x92
- ldrb r2, [r1]
- movs r0, 0xF
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0x92
- lsls r0, r6, 4
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
- lsls r0, r6, 24
- lsrs r0, 24
- bl BattleAI_SetupAIData
- bl BattleAI_ChooseMoveOrAction
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0805D2AC:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _0805D2B6
- b _0805D40C
-_0805D2B6:
- mov r2, r8
- cmp r2, 0xF
- bne _0805D2BE
- b _0805D3EA
-_0805D2BE:
- movs r5, 0
- movs r6, 0
- ldr r7, =gBitTable
- mov r4, r10
-_0805D2C6:
- ldrh r0, [r4]
- bl sub_805D4A8
- lsls r0, 24
- cmp r0, 0
- bne _0805D2DE
- ldr r0, [r7]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _0805D2DE
- adds r5, 0x1
-_0805D2DE:
- ldrh r0, [r4]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805D2F8
- ldr r0, [r7]
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- bne _0805D2F8
- adds r5, 0x10
-_0805D2F8:
- ldrh r0, [r4]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0805D316
- ldr r0, [r7]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _0805D316
- movs r2, 0x80
- lsls r2, 1
- adds r5, r2
-_0805D316:
- adds r7, 0x4
- adds r4, 0x2
- ldr r0, =gBitTable
- adds r0, 0xC
- cmp r7, r0
- ble _0805D2C6
- movs r1, 0xF
- ands r1, r5
- cmp r1, 0x1
- ble _0805D32C
- adds r6, 0x1
-_0805D32C:
- movs r0, 0xF0
- ands r0, r5
- cmp r0, 0x1F
- ble _0805D336
- adds r6, 0x1
-_0805D336:
- ldr r2, =0x000001ff
- cmp r0, r2
- ble _0805D33E
- adds r6, 0x1
-_0805D33E:
- cmp r6, 0x1
- bgt _0805D346
- cmp r6, 0
- bne _0805D388
-_0805D346:
- ldr r5, =gBitTable
-_0805D348:
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r4, r1, 16
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _0805D366
- mov r9, r4
-_0805D366:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _0805D348
- b _0805D3D4
- .pool
-_0805D388:
- cmp r1, 0x1
- ble _0805D38E
- movs r6, 0
-_0805D38E:
- cmp r0, 0x1F
- ble _0805D394
- movs r6, 0x1
-_0805D394:
- cmp r0, r2
- ble _0805D39A
- movs r6, 0x2
-_0805D39A:
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r4, r1, 16
- ldr r1, =gBitTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- bne _0805D3CC
- lsls r0, r4, 1
- add r0, r10
- ldrh r0, [r0]
- bl sub_805D4A8
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0805D3CC
- mov r9, r4
-_0805D3CC:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _0805D39A
-_0805D3D4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bls _0805D40C
-_0805D3EA:
- ldr r2, =gProtectStructs
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r1, 4
- adds r1, r2
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- movs r0, 0
- b _0805D496
- .pool
-_0805D40C:
- mov r1, r9
- lsls r0, r1, 1
- mov r2, r10
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0xAE
- bne _0805D434
- ldrb r0, [r2, 0x12]
- movs r5, 0
- cmp r0, 0x7
- beq _0805D442
- ldrb r1, [r2, 0x13]
- movs r0, 0x7
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r5, r0, 31
- movs r0, 0x10
- ands r5, r0
- b _0805D442
-_0805D434:
- ldr r2, =gBattleMoves
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r5, [r0, 0x6]
-_0805D442:
- movs r0, 0x10
- ands r0, r5
- cmp r0, 0
- beq _0805D45C
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 8
- b _0805D48A
- .pool
-_0805D45C:
- cmp r5, 0
- bne _0805D470
- bl sub_805D5F4
- lsls r0, 16
- lsrs r0, 16
- mov r2, r9
- orrs r2, r0
- mov r9, r2
- b _0805D490
-_0805D470:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 16
-_0805D48A:
- mov r1, r9
- orrs r1, r0
- mov r9, r1
-_0805D490:
- mov r2, r9
- lsls r0, r2, 16
- lsrs r0, 16
-_0805D496:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ChooseMoveAndTargetInBattlePalace
-
- thumb_func_start sub_805D4A8
-sub_805D4A8: @ 805D4A8
- push {lr}
- 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, 0x6]
- adds r3, r1, 0
- cmp r0, 0x40
- bls _0805D4C2
- b _0805D5EE
-_0805D4C2:
- lsls r0, 2
- ldr r1, =_0805D4D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0805D4D4:
- .4byte _0805D5D8
- .4byte _0805D5E6
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EA
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5D8
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5EE
- .4byte _0805D5E6
-_0805D5D8:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0805D5EE
-_0805D5E6:
- movs r0, 0x2
- b _0805D5F0
-_0805D5EA:
- movs r0, 0x1
- b _0805D5F0
-_0805D5EE:
- movs r0, 0
-_0805D5F0:
- pop {r1}
- bx r1
- thumb_func_end sub_805D4A8
-
- thumb_func_start sub_805D5F4
-sub_805D5F4: @ 805D5F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805D6FA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805D630
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x3
- b _0805D63E
- .pool
-_0805D630:
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x2
-_0805D63E:
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gBattleMons
- movs r2, 0x58
- mov r0, r8
- muls r0, r2
- adds r5, r0, r1
- adds r0, r7, 0
- muls r0, r2
- adds r6, r0, r1
- ldrh r0, [r5, 0x28]
- ldrh r3, [r6, 0x28]
- cmp r0, r3
- bne _0805D680
- bl Random
- adds r3, r0, 0
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- movs r1, 0x2
- ands r1, r3
- adds r0, r1
- b _0805D702
- .pool
-_0805D680:
- ldr r4, =gUnknown_0831C604
- ldr r0, =gActiveBank
- mov r9, r0
- ldrb r0, [r0]
- muls r0, r2
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _0805D6CC
- cmp r4, 0x1
- bgt _0805D6B4
- cmp r4, 0
- beq _0805D6BA
- b _0805D6FA
- .pool
-_0805D6B4:
- cmp r4, 0x2
- beq _0805D6DE
- b _0805D6FA
-_0805D6BA:
- ldrh r0, [r5, 0x28]
- ldrh r6, [r6, 0x28]
- cmp r0, r6
- bls _0805D6C8
- mov r1, r8
- lsls r0, r1, 8
- b _0805D704
-_0805D6C8:
- lsls r0, r7, 8
- b _0805D704
-_0805D6CC:
- ldrh r0, [r5, 0x28]
- ldrh r6, [r6, 0x28]
- cmp r0, r6
- bcs _0805D6DA
- mov r3, r8
- lsls r0, r3, 8
- b _0805D704
-_0805D6DA:
- lsls r0, r7, 8
- b _0805D704
-_0805D6DE:
- bl Random
- adds r3, r0, 0
- mov r0, r9
- ldrb r1, [r0]
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- ands r4, r3
- adds r0, r4
- lsls r0, 24
- lsrs r0, 16
- b _0805D704
-_0805D6FA:
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
-_0805D702:
- lsls r0, 8
-_0805D704:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_805D5F4
-
- thumb_func_start sub_805D714
-sub_805D714: @ 805D714
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r3, [r0]
- lsls r0, r3, 26
- cmp r0, 0
- bge _0805D766
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _0805D766
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- lsls r0, r1, 25
- cmp r0, 0
- bge _0805D75C
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _0805D766
- .pool
-_0805D75C:
- lsls r0, r3, 27
- cmp r0, 0
- bge _0805D766
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0805D766:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D714
-
- thumb_func_start sub_805D770
-sub_805D770: @ 805D770
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- adds r3, r4, 0
- adds r3, 0x2C
- ldrb r0, [r3]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r3]
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- cmp r1, 0
- bne _0805D798
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _0805D7A0
- .pool
-_0805D798:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0805D7A0:
- adds r0, r4, 0
- bl AnimateSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805D770
-
- thumb_func_start sub_805D7AC
-sub_805D7AC: @ 805D7AC
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_020243FC
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805D7E4
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _0805D7E4
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0805D7E0
- ldr r0, =sub_805D7EC
- b _0805D7E2
- .pool
-_0805D7E0:
- ldr r0, =SpriteCallbackDummy
-_0805D7E2:
- str r0, [r2, 0x1C]
-_0805D7E4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D7AC
-
- thumb_func_start sub_805D7EC
-sub_805D7EC: @ 805D7EC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x26]
- subs r0, 0x2
- strh r0, [r1, 0x26]
- lsls r0, 16
- cmp r0, 0
- bne _0805D800
- ldr r0, =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_0805D800:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D7EC
-
- thumb_func_start DoStatusAnimation
-DoStatusAnimation: @ 805D808
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- ldr r6, =gBattleSpritesDataPtr
- ldr r1, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r3, [r1, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1]
- movs r3, 0x10
- orrs r2, r3
- strb r2, [r1]
- cmp r0, 0
- bne _0805D888
- cmp r4, 0x20
- bne _0805D844
- ldrb r0, [r5]
- movs r1, 0x6
- bl move_anim_start_t2
- b _0805D902
- .pool
-_0805D844:
- cmp r4, 0x8
- beq _0805D850
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _0805D85A
-_0805D850:
- ldrb r0, [r5]
- movs r1, 0
- bl move_anim_start_t2
- b _0805D902
-_0805D85A:
- cmp r4, 0x10
- bne _0805D868
- ldrb r0, [r5]
- movs r1, 0x2
- bl move_anim_start_t2
- b _0805D902
-_0805D868:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _0805D87A
- ldrb r0, [r5]
- movs r1, 0x4
- bl move_anim_start_t2
- b _0805D902
-_0805D87A:
- cmp r4, 0x40
- bne _0805D8EA
- ldrb r0, [r5]
- movs r1, 0x5
- bl move_anim_start_t2
- b _0805D902
-_0805D888:
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- cmp r0, 0
- beq _0805D89C
- ldrb r0, [r5]
- movs r1, 0x3
- bl move_anim_start_t2
- b _0805D902
-_0805D89C:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _0805D8AE
- ldrb r0, [r5]
- movs r1, 0x1
- bl move_anim_start_t2
- b _0805D902
-_0805D8AE:
- movs r0, 0x80
- lsls r0, 21
- ands r0, r4
- cmp r0, 0
- beq _0805D8C2
- ldrb r0, [r5]
- movs r1, 0x7
- bl move_anim_start_t2
- b _0805D902
-_0805D8C2:
- movs r0, 0x80
- lsls r0, 20
- ands r0, r4
- cmp r0, 0
- beq _0805D8D6
- ldrb r0, [r5]
- movs r1, 0x8
- bl move_anim_start_t2
- b _0805D902
-_0805D8D6:
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r4
- cmp r0, 0
- beq _0805D8EA
- ldrb r0, [r5]
- movs r1, 0x9
- bl move_anim_start_t2
- b _0805D902
-_0805D8EA:
- ldr r0, [r6]
- ldrb r2, [r5]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0805D902:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end DoStatusAnimation
-
- thumb_func_start DoBattleAnimationFromTable
-DoBattleAnimationFromTable: @ 805D908
- 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 r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r4, 16
- lsrs r7, r4, 16
- cmp r5, 0
- bne _0805D950
- movs r0, 0x80
- ands r0, r7
- cmp r0, 0
- beq _0805D950
- ldr r0, =gBattleMonForms
- adds r0, r6, r0
- movs r2, 0x7F
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _0805DA1E
- .pool
-_0805D950:
- ldr r0, =gBattleSpritesDataPtr
- mov r9, r0
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r4, r6, 2
- adds r0, r4, r0
- ldrb r1, [r0]
- movs r2, 0x4
- mov r8, r2
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _0805D9CC
- adds r0, r5, 0
- bl sub_805DAA0
- lsls r0, 24
- cmp r0, 0
- bne _0805D980
- movs r0, 0x1
- b _0805DA1E
- .pool
-_0805D980:
- mov r1, r9
- ldr r0, [r1]
- ldr r0, [r0]
- adds r0, r4, r0
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _0805D9CC
- cmp r5, 0x2
- bne _0805D9CC
- ldr r1, =gSprites
- ldr r0, =gBankSpriteIds
- adds r0, r6, r0
- ldrb r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _0805D9CC
- adds r0, r6, 0
- movs r1, 0x1
- bl refresh_graphics_maybe
- adds r0, r6, 0
- bl sub_805E974
- movs r0, 0x1
- b _0805DA1E
- .pool
-_0805D9CC:
- ldr r0, =gAnimBankAttacker
- mov r2, r10
- strb r2, [r0]
- ldr r0, =gAnimBankTarget
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- strh r7, [r0]
- ldr r0, =gUnknown_082C9320
- adds r1, r5, 0
- movs r2, 0
- bl LaunchBattleAnimation
- ldr r0, =task0A_0803415C
- movs r1, 0xA
- 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, 0x8]
- ldr r0, [r4]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
-_0805DA1E:
- 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 DoBattleAnimationFromTable
-
- thumb_func_start task0A_0803415C
-task0A_0803415C: @ 805DA48
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DA8A
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- ldr r2, [r2, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0805DA8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task0A_0803415C
-
- thumb_func_start sub_805DAA0
-sub_805DAA0: @ 805DAA0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bgt _0805DAB4
- cmp r0, 0xA
- bge _0805DAB8
- cmp r0, 0x2
- beq _0805DAB8
- b _0805DABC
-_0805DAB4:
- cmp r0, 0x11
- bne _0805DABC
-_0805DAB8:
- movs r0, 0x1
- b _0805DABE
-_0805DABC:
- movs r0, 0
-_0805DABE:
- pop {r1}
- bx r1
- thumb_func_end sub_805DAA0
-
- thumb_func_start DoSpecialBattleAnimation
-DoSpecialBattleAnimation: @ 805DAC4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gAnimBankAttacker
- strb r1, [r0]
- ldr r0, =gAnimBankTarget
- strb r2, [r0]
- ldr r0, =gUnknown_082C937C
- adds r1, r3, 0
- movs r2, 0
- bl LaunchBattleAnimation
- ldr r0, =task0A_08034248
- movs r1, 0xA
- 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]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoSpecialBattleAnimation
-
- thumb_func_start task0A_08034248
-task0A_08034248: @ 805DB34
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DB76
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- ldr r2, [r2, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0805DB76:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task0A_08034248
-
- thumb_func_start IsMoveWithoutAnimation
-IsMoveWithoutAnimation: @ 805DB8C
- movs r0, 0
- bx lr
- thumb_func_end IsMoveWithoutAnimation
-
- thumb_func_start mplay_80342A4
-mplay_80342A4: @ 805DB90
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _0805DBD8
- ldr r2, =gBattleSpritesDataPtr
- ldr r0, [r2]
- ldr r1, [r0, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- adds r1, 0x1
- strb r1, [r0, 0x8]
- ldr r2, [r2]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1D
- bls _0805DBDC
- ldr r0, =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, =gMPlay_SE2
- bl m4aMPlayStop
-_0805DBD8:
- cmp r5, 0
- beq _0805DBF0
-_0805DBDC:
- movs r0, 0x1
- b _0805DC02
- .pool
-_0805DBF0:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- strb r5, [r0, 0x8]
- movs r0, 0
-_0805DC02:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end mplay_80342A4
-
- thumb_func_start BattleLoadOpponentMonSpriteGfx
-BattleLoadOpponentMonSpriteGfx: @ 805DC0C
- 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, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- adds r2, r1, r0
- ldrh r0, [r2, 0x2]
- cmp r0, 0
- bne _0805DC50
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r6, [sp]
- b _0805DC58
- .pool
-_0805DC50:
- ldrh r5, [r2, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r6, [r0]
-_0805DC58:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- mov r10, r0
- mov r0, r8
- bl GetBankIdentity
- lsls r0, 24
- lsls r2, r5, 3
- ldr r1, =gMonFrontPicTable
- adds r2, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- mov r3, r8
- lsls r2, r3, 4
- movs r0, 0x80
- lsls r0, 1
- adds r7, r2, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r3, 2
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- str r1, [sp, 0x4]
- mov r9, r2
- cmp r0, 0
- bne _0805DCBC
- adds r0, r4, 0
- bl pokemon_get_pal
- b _0805DCC6
- .pool
-_0805DCBC:
- adds r0, r5, 0
- mov r1, r10
- ldr r2, [sp]
- bl species_and_otid_get_pal
-_0805DCC6:
- adds r6, r0, 0
- ldr r4, =0x0201c000
- adds r0, r6, 0
- adds r1, r4, 0
- bl LZDecompressWram
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
- mov r1, r9
- adds r1, 0x80
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =0x00000181
- cmp r5, r0
- bne _0805DD1A
- movs r7, 0x80
- lsls r7, 1
- add r7, r9
- ldr r5, =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r6, 0
- bl LZDecompressWram
- ldr r0, =gBattleMonForms
- add r0, r8
- ldrb r1, [r0]
- lsls r1, 5
- adds r1, r4
- ldr r0, [r5]
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
-_0805DD1A:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- ldr r1, [sp, 0x4]
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DD46
- ldr r3, =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_0805DD46:
- 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 BattleLoadOpponentMonSpriteGfx
-
- thumb_func_start BattleLoadPlayerMonSpriteGfx
-BattleLoadPlayerMonSpriteGfx: @ 805DD7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- adds r2, r1, r0
- ldrh r0, [r2, 0x2]
- cmp r0, 0
- bne _0805DDC0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, [sp]
- b _0805DDC8
- .pool
-_0805DDC0:
- ldrh r5, [r2, 0x2]
- ldr r0, =gTransformedPersonalities
- adds r0, r1, r0
- ldr r4, [r0]
-_0805DDC8:
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x4]
- mov r0, r8
- bl GetBankIdentity
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x1
- mov r1, r8
- bl sub_80688F8
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- lsls r1, 2
- mov r10, r1
- cmp r0, 0x1
- beq _0805DE00
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DE2C
-_0805DE00:
- lsls r0, r5, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r2, r7, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- adds r2, r5, 0
- adds r3, r4, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- b _0805DE46
- .pool
-_0805DE2C:
- lsls r0, r5, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r2, r7, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- adds r2, r5, 0
- adds r3, r4, 0
- bl HandleLoadSpecialPokePic
-_0805DE46:
- mov r2, r8
- lsls r1, r2, 4
- movs r0, 0x80
- lsls r0, 1
- adds r7, r1, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- mov r9, r1
- cmp r0, 0
- bne _0805DE74
- adds r0, r6, 0
- bl pokemon_get_pal
- b _0805DE7E
- .pool
-_0805DE74:
- adds r0, r5, 0
- ldr r1, [sp, 0x4]
- ldr r2, [sp]
- bl species_and_otid_get_pal
-_0805DE7E:
- adds r6, r0, 0
- ldr r4, =0x0201c000
- adds r0, r6, 0
- adds r1, r4, 0
- bl LZDecompressWram
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
- mov r1, r9
- adds r1, 0x80
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =0x00000181
- cmp r5, r0
- bne _0805DED2
- movs r7, 0x80
- lsls r7, 1
- add r7, r9
- ldr r5, =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r6, 0
- bl LZDecompressWram
- ldr r0, =gBattleMonForms
- add r0, r8
- ldrb r1, [r0]
- lsls r1, 5
- adds r1, r4
- ldr r0, [r5]
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
-_0805DED2:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- add r0, r10
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DEFC
- ldr r3, =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_0805DEFC:
- 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 BattleLoadPlayerMonSpriteGfx
-
- thumb_func_start nullsub_23
-nullsub_23: @ 805DF30
- bx lr
- thumb_func_end nullsub_23
-
- thumb_func_start nullsub_24
-nullsub_24: @ 805DF34
- bx lr
- thumb_func_end nullsub_24
-
- thumb_func_start DecompressTrainerFrontPic
-DecompressTrainerFrontPic: @ 805DF38
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- bl GetBankIdentity
- lsls r0, 24
- lsls r4, 3
- ldr r2, =gTrainerFrontPicTable
- adds r2, r4, r2
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- movs r2, 0
- bl DecompressPicFromTable_2
- ldr r0, =gTrainerFrontPicPaletteTable
- adds r4, r0
- adds r0, r4, 0
- bl LoadCompressedObjectPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DecompressTrainerFrontPic
-
- thumb_func_start DecompressTrainerBackPic
-DecompressTrainerBackPic: @ 805DF84
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl GetBankIdentity
- lsls r0, 24
- lsls r5, 3
- ldr r2, =gTrainerBackPicTable
- adds r2, r5, r2
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- movs r2, 0
- bl DecompressPicFromTable_2
- ldr r0, =gTrainerBackPicPaletteTable
- adds r5, r0
- ldr r0, [r5]
- lsls r4, 20
- movs r1, 0x80
- lsls r1, 17
- adds r4, r1
- lsrs r4, 16
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DecompressTrainerBackPic
-
- thumb_func_start nullsub_25
-nullsub_25: @ 805DFE0
- bx lr
- thumb_func_end nullsub_25
-
- thumb_func_start FreeTrainerFrontPicPalette
-FreeTrainerFrontPicPalette: @ 805DFE4
- push {lr}
- lsls r0, 16
- ldr r1, =gTrainerFrontPicPaletteTable
- lsrs r0, 13
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeTrainerFrontPicPalette
-
- thumb_func_start sub_805DFFC
-sub_805DFFC: @ 805DFFC
- push {r4-r7,lr}
- ldr r4, =gUnknown_0832C128
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0805E034
- ldr r0, =gUnknown_0832C0D0
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0832C0D8
- bl LoadCompressedObjectPic
- movs r5, 0x2
- b _0805E056
- .pool
-_0805E034:
- ldr r4, =gUnknown_0832C0E0
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- ldr r4, =gUnknown_0832C0F0
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- movs r5, 0x4
-_0805E056:
- movs r4, 0
- cmp r4, r5
- bcs _0805E076
- ldr r7, =gBanksByIdentity
- ldr r6, =gUnknown_0832C108
-_0805E060:
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r6
- bl LoadCompressedObjectPic
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0805E060
-_0805E076:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805DFFC
-
- thumb_func_start BattleLoadAllHealthBoxesGfx
-BattleLoadAllHealthBoxesGfx: @ 805E08C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r6, 0
- cmp r4, 0
- bne _0805E09C
- b _0805E1AE
-_0805E09C:
- cmp r4, 0x1
- bne _0805E0B8
- ldr r4, =gUnknown_0832C128
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- b _0805E1AE
- .pool
-_0805E0B8:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0805E120
- cmp r4, 0x2
- bne _0805E0F0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0805E0E4
- ldr r0, =gUnknown_0832C100
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E0E4:
- ldr r0, =gUnknown_0832C0D0
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E0F0:
- cmp r4, 0x3
- bne _0805E100
- ldr r0, =gUnknown_0832C0D8
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E100:
- cmp r4, 0x4
- bne _0805E110
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0]
- b _0805E198
- .pool
-_0805E110:
- cmp r4, 0x5
- bne _0805E1AC
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x1]
- b _0805E198
- .pool
-_0805E120:
- cmp r4, 0x2
- bne _0805E130
- ldr r0, =gUnknown_0832C0E0
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E130:
- cmp r4, 0x3
- bne _0805E140
- ldr r0, =gUnknown_0832C0E8
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E140:
- cmp r4, 0x4
- bne _0805E150
- ldr r0, =gUnknown_0832C0F0
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E150:
- cmp r4, 0x5
- bne _0805E160
- ldr r0, =gUnknown_0832C0F8
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E160:
- cmp r4, 0x6
- bne _0805E170
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0]
- b _0805E198
- .pool
-_0805E170:
- cmp r4, 0x7
- bne _0805E180
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x1]
- b _0805E198
- .pool
-_0805E180:
- cmp r4, 0x8
- bne _0805E190
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x2]
- b _0805E198
- .pool
-_0805E190:
- cmp r5, 0x9
- bne _0805E1AC
- ldr r0, =gBanksByIdentity
- ldrb r0, [r0, 0x3]
-_0805E198:
- lsls r0, 3
- ldr r1, =gUnknown_0832C108
- adds r0, r1
- bl LoadCompressedObjectPic
- b _0805E1AE
- .pool
-_0805E1AC:
- movs r6, 0x1
-_0805E1AE:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end BattleLoadAllHealthBoxesGfx
-
- thumb_func_start LoadBattleBarGfx
-LoadBattleBarGfx: @ 805E1B8
- push {lr}
- ldr r0, =gUnknown_08C093F0
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBA
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- bl LZDecompressWram
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadBattleBarGfx
-
- thumb_func_start BattleInitAllSprites
-BattleInitAllSprites: @ 805E1D8
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r6, 0
- ldrb r0, [r5]
- cmp r0, 0x6
- bls _0805E1E8
- b _0805E346
-_0805E1E8:
- lsls r0, 2
- ldr r1, =_0805E1F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0805E1F8:
- .4byte _0805E214
- .4byte _0805E21A
- .4byte _0805E324
- .4byte _0805E230
- .4byte _0805E260
- .4byte _0805E29C
- .4byte _0805E33C
-_0805E214:
- bl sub_805E378
- b _0805E324
-_0805E21A:
- ldrb r0, [r4]
- bl BattleLoadAllHealthBoxesGfx
- lsls r0, 24
- cmp r0, 0
- beq _0805E228
- b _0805E320
-_0805E228:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0805E346
-_0805E230:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0805E24C
- ldrb r0, [r4]
- cmp r0, 0
- bne _0805E24C
- bl CreateSafariPlayerHealthboxSprites
- b _0805E252
- .pool
-_0805E24C:
- ldrb r0, [r4]
- bl CreateBankHealthboxSprites
-_0805E252:
- ldr r2, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r1, r2
- strb r0, [r1]
- b _0805E30E
- .pool
-_0805E260:
- ldrb r0, [r4]
- bl SetBankHealthboxSpritePos
- ldr r0, =gBanksByIdentity
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _0805E288
- ldr r0, =gHealthBoxesIds
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0
- bl DummyBattleInterfaceFunc
- b _0805E30E
- .pool
-_0805E288:
- ldr r0, =gHealthBoxesIds
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0x1
- bl DummyBattleInterfaceFunc
- b _0805E30E
- .pool
-_0805E29C:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805E2E4
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0805E302
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- b _0805E302
- .pool
-_0805E2E4:
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gEnemyParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
-_0805E302:
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
-_0805E30E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _0805E346
-_0805E320:
- movs r0, 0
- strb r0, [r4]
-_0805E324:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0805E346
- .pool
-_0805E33C:
- bl LoadAndCreateEnemyShadowSprites
- bl sub_81B8C68
- movs r6, 0x1
-_0805E346:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end BattleInitAllSprites
-
- thumb_func_start sub_805E350
-sub_805E350: @ 805E350
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805E350
-
- thumb_func_start sub_805E378
-sub_805E378: @ 805E378
- push {lr}
- bl sub_805E350
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805E378
-
- thumb_func_start sub_805E394
-sub_805E394: @ 805E394
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0
- ldr r5, =gNoOfAllBanks
- ldrb r0, [r5]
- cmp r4, r0
- bge _0805E3EA
- ldr r0, =gSprites
- mov r9, r0
- movs r0, 0x1
- mov r12, r0
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ldr r7, =gBattleSpritesDataPtr
- ldr r6, =gBankSpriteIds
-_0805E3B8:
- ldr r0, [r7]
- ldr r0, [r0]
- lsls r3, r4, 2
- adds r3, r0
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- mov r0, r12
- ands r1, r0
- ldrb r2, [r3]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r4, 0x1
- ldrb r0, [r5]
- cmp r4, r0
- blt _0805E3B8
-_0805E3EA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805E394
-
- thumb_func_start CopyBattleSpriteInvisibility
-CopyBattleSpriteInvisibility: @ 805E408
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r1, [r1]
- lsls r3, r0, 2
- adds r3, r1
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bx lr
- .pool
- thumb_func_end CopyBattleSpriteInvisibility
-
- thumb_func_start sub_805E448
-sub_805E448: @ 805E448
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r2, 24
- cmp r2, 0
- beq _0805E51C
- ldr r0, =gBankSpriteIds
- adds r5, r7, r0
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- mov r8, r1
- add r0, r8
- ldr r4, =gBattleSpritesDataPtr
- ldr r1, [r4]
- ldr r1, [r1, 0x8]
- ldrb r1, [r1]
- bl StartSpriteAnim
- lsls r0, r7, 20
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r6, r0, 16
- ldr r2, =gBattleStruct
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- ldrh r1, [r0]
- lsls r1, 5
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3
- ldr r0, [r2]
- adds r0, r1
- adds r1, r6, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gBattleMonForms
- adds r1, r7, r1
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r4]
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0805E4DE
- ldr r3, =0x00007fff
- adds r0, r6, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r6, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
-_0805E4DE:
- adds r0, r7, 0
- bl sub_80A6138
- ldrb r2, [r5]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- b _0805E77A
- .pool
-_0805E51C:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0805E558
- movs r0, 0
- mov r10, r0
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2, 0x2]
- mov r8, r1
- ldr r3, [r2, 0x8]
- mov r9, r3
- ldr r4, [r2, 0xC]
- lsls r0, r1, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- ldr r3, [r2, 0x10]
- b _0805E5FA
- .pool
-_0805E558:
- adds r0, r7, 0
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805E58C
- ldr r1, =gBattlePartyID
- ldr r2, [sp]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _0805E59C
- .pool
-_0805E58C:
- ldr r1, =gBattlePartyID
- ldr r3, [sp]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_0805E59C:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805E618
- ldr r0, =gBattlePartyID
- lsls r4, r7, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r9, r0
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r4, r0, 0
- mov r1, r8
- lsls r0, r1, 3
- ldr r1, =gMonBackPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- mov r3, r10
- lsls r2, r3, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- ldr r3, =gTransformedPersonalities
- lsls r2, r7, 2
- adds r2, r3
- ldr r3, [r2]
-_0805E5FA:
- mov r2, r8
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- b _0805E662
- .pool
-_0805E618:
- ldr r0, =gBattlePartyID
- lsls r4, r7, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gEnemyParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r9, r0
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r4, r0, 0
- mov r1, r8
- lsls r0, r1, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- mov r3, r10
- lsls r2, r3, 2
- adds r1, 0x4
- adds r1, r2
- ldr r1, [r1]
- ldr r3, =gTransformedPersonalities
- lsls r2, r7, 2
- adds r2, r3
- ldr r3, [r2]
- mov r2, r8
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_0805E662:
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- mov r2, r10
- lsls r1, r2, 2
- adds r0, 0x4
- adds r0, r1
- ldr r2, [r0]
- ldr r0, =gBankSpriteIds
- adds r0, r7
- mov r10, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r3, =gSprites
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r1, =0x06010000
- adds r0, r1
- ldr r1, =0x040000d4
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, =0x84000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- lsls r0, r7, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r6, r0, 16
- mov r0, r8
- adds r1, r4, 0
- mov r2, r9
- bl species_and_otid_get_pal
- mov r9, r0
- ldr r4, =0x0201c000
- adds r1, r4, 0
- bl LZDecompressWram
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =0x00000181
- cmp r8, r0
- bne _0805E70A
- mov r2, r10
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r1, 0x8
- adds r0, r1
- ldr r1, =gMonAnimationsSpriteAnimsPtrTable
- mov r3, r8
- lsls r2, r3, 2
- adds r1, r2
- ldr r1, [r1]
- str r1, [r0]
- ldr r5, =gBattleStruct
- ldr r1, [r5]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- mov r0, r9
- bl LZDecompressWram
- ldr r0, =gBattleMonForms
- ldr r1, [sp]
- adds r0, r1, r0
- ldrb r1, [r0]
- lsls r1, 5
- adds r1, r4
- ldr r0, [r5]
- adds r0, r1
- adds r1, r6, 0
- movs r2, 0x20
- bl LoadPalette
-_0805E70A:
- ldr r3, =0x00007fff
- adds r0, r6, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r6, 1
- ldr r0, =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0805E74A
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- mov r2, r8
- strh r2, [r0, 0x2]
- ldr r0, =gBattleMonForms
- adds r1, r7, r0
- ldr r3, [sp]
- adds r0, r3, r0
- ldrb r0, [r0]
- strb r0, [r1]
-_0805E74A:
- adds r0, r7, 0
- bl sub_80A6138
- mov r1, r10
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, =gSprites
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- mov r3, r10
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =gBattleMonForms
- adds r1, r7, r1
- ldrb r1, [r1]
- bl StartSpriteAnim
-_0805E77A:
- 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_805E448
-
- thumb_func_start BattleLoadSubstituteSpriteGfx
-BattleLoadSubstituteSpriteGfx: @ 805E7DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r1, 24
- cmp r1, 0
- bne _0805E898
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0805E7F8
- movs r4, 0
- b _0805E802
-_0805E7F8:
- adds r0, r4, 0
- bl GetBankIdentity
- lsls r0, 24
- lsrs r4, r0, 24
-_0805E802:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0805E814
- ldr r0, =gUnknown_08C2D120
- b _0805E822
- .pool
-_0805E814:
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0805E83C
- ldr r0, =gUnknown_08C2CEE0
-_0805E822:
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r4, 2
- adds r1, 0x4
- adds r1, r4
- ldr r1, [r1]
- bl LZDecompressVram
- b _0805E84E
- .pool
-_0805E83C:
- ldr r0, =gUnknown_08C2D120
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- lsls r4, 2
- adds r1, 0x4
- adds r1, r4
- ldr r1, [r1]
- bl LZDecompressVram
-_0805E84E:
- movs r3, 0x1
- lsls r6, r5, 4
- ldr r7, =gUnknown_08C2CEBC
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- adds r0, 0x4
- adds r4, r0, r4
- ldr r2, =0x040000d4
- ldr r5, =0x84000200
-_0805E860:
- ldr r0, [r4]
- lsls r1, r3, 11
- adds r1, r0, r1
- str r0, [r2]
- str r1, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805E860
- movs r0, 0x80
- lsls r0, 1
- adds r1, r6, r0
- adds r0, r7, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- b _0805E8E6
- .pool
-_0805E898:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0805E8E6
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0805E8D0
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- adds r1, r4, 0
- bl BattleLoadOpponentMonSpriteGfx
- b _0805E8E6
- .pool
-_0805E8D0:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r5, 0
- bl BattleLoadPlayerMonSpriteGfx
-_0805E8E6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleLoadSubstituteSpriteGfx
-
- thumb_func_start refresh_graphics_maybe
-refresh_graphics_maybe: @ 805E8F4
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl BattleLoadSubstituteSpriteGfx
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- ldr r0, =gBattleMonForms
- adds r0, r6, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- bne _0805E938
- adds r0, r6, 0
- bl sub_80A614C
- b _0805E93E
- .pool
-_0805E938:
- adds r0, r6, 0
- bl sub_80A6138
-_0805E93E:
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end refresh_graphics_maybe
-
- thumb_func_start TrySetBehindSubstituteSpriteBit
-TrySetBehindSubstituteSpriteBit: @ 805E94C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xA4
- bne _0805E96C
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_0805E96C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end TrySetBehindSubstituteSpriteBit
-
- thumb_func_start sub_805E974
-sub_805E974: @ 805E974
- lsls r0, 24
- ldr r1, =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r1, [r1]
- lsrs r0, 22
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_805E974
-
- thumb_func_start sub_805E990
-sub_805E990: @ 805E990
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- adds r7, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805EA08
- ldr r7, =gBattleSpritesDataPtr
- ldr r0, [r7]
- ldr r2, [r0]
- lsls r4, r6, 2
- adds r0, r4, r2
- ldrb r1, [r0]
- movs r5, 0x2
- movs r3, 0x2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0805EA5A
- adds r0, r6, 0
- eors r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0805E9F6
- movs r0, 0x5A
- bl PlaySE
-_0805E9F6:
- ldr r0, [r7]
- ldr r1, [r0]
- adds r1, r4, r1
- ldrb r0, [r1]
- orrs r0, r5
- strb r0, [r1]
- b _0805EA5A
- .pool
-_0805EA08:
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r0, [r0]
- lsls r1, r6, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0805EA34
- movs r0, 0x5A
- bl m4aSongNumStop
- b _0805EA5A
- .pool
-_0805EA34:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805EA5A
- ldr r1, [r4]
- movs r0, 0x2
- eors r7, r0
- ldr r1, [r1]
- lsls r0, r7, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0805EA5A
- movs r0, 0x5A
- bl m4aSongNumStop
-_0805EA5A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805E990
-
- thumb_func_start BattleMusicStop
-BattleMusicStop: @ 805EA60
- push {r4-r6,lr}
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r6, 0x3
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805EAA2
- ldr r2, [r5]
- movs r0, 0x2
- adds r1, r4, 0
- eors r1, r0
- ldr r0, [r2]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
-_0805EAA2:
- movs r0, 0x5A
- bl m4aSongNumStop
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleMusicStop
-
- thumb_func_start sub_805EAB4
-sub_805EAB4: @ 805EAB4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805EAB4
-
- thumb_func_start sub_805EAE8
-sub_805EAE8: @ 805EAE8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805EB7E
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r5, =gBattlePartyID
- mov r1, r8
- lsls r0, r1, 1
- adds r0, r5
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r9
- lsls r0, r1, 1
- adds r0, r5
- ldrb r0, [r0]
- bl pokemon_order_func
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0x64
- adds r0, r4, 0
- muls r0, r7
- ldr r6, =gPlayerParty
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0805EB5A
- adds r0, r4, 0
- mov r1, r8
- bl sub_805E990
-_0805EB5A:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805EB7E
- adds r0, r5, 0
- muls r0, r7
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0805EB7E
- adds r0, r4, 0
- mov r1, r9
- bl sub_805E990
-_0805EB7E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805EAE8
-
- thumb_func_start sub_805EB9C
-sub_805EB9C: @ 805EB9C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r5, r0
- bge _0805EC6C
- movs r0, 0x3
- mov r10, r8
- mov r1, r10
- ands r1, r0
- mov r10, r1
- movs r6, 0
- movs r2, 0x3F
- negs r2, r2
- mov r9, r2
-_0805EBC8:
- lsls r0, r5, 24
- lsrs r0, 24
- bl IsBankSpritePresent
- lsls r0, 24
- cmp r0, 0
- beq _0805EC60
- ldr r4, =gSprites
- ldr r0, =gBankSpriteIds
- adds r3, r5, r0
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r7, 0x4
- negs r7, r7
- adds r2, r7, 0
- ands r1, r2
- mov r2, r10
- orrs r1, r2
- strb r1, [r0, 0x1]
- mov r7, r8
- cmp r7, 0
- bne _0805EC3C
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- adds r2, r6, r2
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r2, 0x6]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x3]
- mov r2, r9
- ands r1, r2
- strb r1, [r0, 0x3]
- b _0805EC60
- .pool
-_0805EC3C:
- ldrb r0, [r3]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- adds r0, r6, r0
- ldrb r1, [r0, 0x6]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r0, [r2, 0x3]
- mov r3, r9
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x3]
-_0805EC60:
- adds r6, 0xC
- adds r5, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r5, r0
- blt _0805EBC8
-_0805EC6C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805EB9C
-
- thumb_func_start LoadAndCreateEnemyShadowSprites
-LoadAndCreateEnemyShadowSprites: @ 805EC84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_0831C6A0
- bl LoadCompressedObjectPic
- movs r0, 0x1
- bl GetBankByIdentity
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0831C6B0
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A5C6C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A5C6C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 8
- movs r0, 0xE8
- lsls r0, 13
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0xC8
- bl CreateSprite
- ldr r6, =gBattleSpritesDataPtr
- ldr r1, [r6]
- ldr r2, [r1, 0x4]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r2, r1, r2
- strb r0, [r2, 0x7]
- ldr r7, =gSprites
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r5, [r0, 0x2E]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805ED56
- movs r0, 0x3
- bl GetBankByIdentity
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A5C6C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A5C6C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 8
- movs r0, 0xE8
- lsls r0, 13
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0xC8
- bl CreateSprite
- ldr r1, [r6]
- ldr r2, [r1, 0x4]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r2, r1, r2
- strb r0, [r2, 0x7]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r5, [r0, 0x2E]
-_0805ED56:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadAndCreateEnemyShadowSprites
-
- thumb_func_start sub_805ED70
-@ int sub_805ED70(obj *a1)
-sub_805ED70: @ 805ED70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r0, 0
- mov r8, r0
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBankSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r7, r0, r1
- adds r6, r7, 0
- adds r6, 0x3E
- ldrb r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805EDAC
- adds r0, r4, 0
- bl IsBankSpritePresent
- lsls r0, 24
- cmp r0, 0
- bne _0805EDC0
-_0805EDAC:
- ldr r0, =sub_805EE48
- str r0, [r5, 0x1C]
- b _0805EE36
- .pool
-_0805EDC0:
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805EDD2
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805EDE4
-_0805EDD2:
- movs r0, 0x1
- mov r8, r0
- ldr r2, =gBattleSpritesDataPtr
- lsls r4, 2
- b _0805EE06
- .pool
-_0805EDE4:
- ldr r2, =gBattleSpritesDataPtr
- ldr r0, [r2]
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r3, r1, r0
- ldrh r0, [r3, 0x2]
- adds r4, r1, 0
- cmp r0, 0
- beq _0805EE06
- ldr r0, =gEnemyMonElevation
- ldrh r1, [r3, 0x2]
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805EE06
- movs r0, 0x1
- mov r8, r0
-_0805EE06:
- ldr r0, [r2]
- ldr r0, [r0]
- adds r0, r4, r0
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805EE1A
- movs r0, 0x1
- mov r8, r0
-_0805EE1A:
- ldrh r0, [r7, 0x20]
- strh r0, [r5, 0x20]
- ldrh r0, [r7, 0x24]
- strh r0, [r5, 0x24]
- adds r2, r5, 0
- adds r2, 0x3E
- mov r0, r8
- lsls r3, r0, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_0805EE36:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805ED70
-
- thumb_func_start sub_805EE48
-sub_805EE48: @ 805EE48
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_805EE48
-
- thumb_func_start SetBankEnemyShadowSpriteCallback
-SetBankEnemyShadowSpriteCallback: @ 805EE54
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0805EED0
- ldr r0, =gBattleSpritesDataPtr
- ldr r3, [r0]
- ldr r1, [r3]
- lsls r0, r4, 2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _0805EE7E
- adds r5, r0, 0
-_0805EE7E:
- ldr r0, =gEnemyMonElevation
- adds r0, r5, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EEB4
- ldr r2, =gSprites
- ldr r1, [r3, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_805ED70
- b _0805EECE
- .pool
-_0805EEB4:
- ldr r2, =gSprites
- ldr r1, [r3, 0x4]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_805EE48
-_0805EECE:
- str r1, [r0]
-_0805EED0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBankEnemyShadowSpriteCallback
-
- thumb_func_start sub_805EEE0
-sub_805EEE0: @ 805EEE0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- ldr r1, =gBattleSpritesDataPtr
- ldr r1, [r1]
- ldr r3, [r1, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_805EE48
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_805EEE0
-
- thumb_func_start sub_805EF14
-sub_805EF14: @ 805EF14
- push {r4-r6,lr}
- ldr r3, =0x06000240
- movs r0, 0
- movs r6, 0xF0
- lsls r6, 8
-_0805EF1E:
- adds r5, r0, 0x1
- movs r4, 0xF
-_0805EF22:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0805EF32
- adds r0, r6, 0
- orrs r0, r1
- strh r0, [r3]
-_0805EF32:
- ldrh r1, [r3]
- movs r2, 0xF0
- lsls r2, 4
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0805EF46
- adds r0, r2, 0
- orrs r0, r1
- strh r0, [r3]
-_0805EF46:
- ldrh r1, [r3]
- movs r2, 0xF0
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _0805EF58
- adds r0, r1, 0
- orrs r0, r2
- strh r0, [r3]
-_0805EF58:
- ldrh r1, [r3]
- movs r2, 0xF
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _0805EF6A
- adds r0, r1, 0
- orrs r0, r2
- strh r0, [r3]
-_0805EF6A:
- adds r3, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0805EF22
- adds r0, r5, 0
- cmp r0, 0x8
- ble _0805EF1E
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805EF14
-
- thumb_func_start ClearTemporarySpeciesSpriteData
-ClearTemporarySpeciesSpriteData: @ 805EF84
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r2, [r0]
- lsls r0, r4, 2
- adds r0, r2
- movs r3, 0
- movs r2, 0
- strh r2, [r0, 0x2]
- ldr r0, =gBattleMonForms
- adds r0, r4, r0
- strb r3, [r0]
- cmp r1, 0
- bne _0805EFAC
- adds r0, r4, 0
- bl sub_805E974
-_0805EFAC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearTemporarySpeciesSpriteData
-
- thumb_func_start AllocateMonSpritesGfx
-AllocateMonSpritesGfx: @ 805EFBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- ldr r4, =gMonSpritesGfxPtr
- str r6, [r4]
- movs r0, 0xC0
- lsls r0, 1
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x80
- lsls r0, 8
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1]
-_0805EFE2:
- ldr r0, =gMonSpritesGfxPtr
- ldr r1, [r0]
- lsls r4, r6, 2
- adds r2, r1, 0x4
- adds r2, r4
- lsls r3, r6, 13
- ldr r0, [r1]
- adds r0, r3
- str r0, [r2]
- lsls r3, r6, 1
- adds r0, r3, r6
- lsls r0, 3
- adds r1, r0, r1
- ldr r2, =gUnknown_08329D98
- adds r1, 0x14
- adds r0, r2
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- movs r5, 0
- mov r9, r3
- lsls r0, r6, 5
- mov r8, r0
- adds r1, r6, 0x1
- mov r10, r1
- mov r12, r8
- adds r7, r4, 0
-_0805F01A:
- ldr r2, =gMonSpritesGfxPtr
- ldr r1, [r2]
- lsls r4, r5, 3
- add r4, r12
- adds r3, r1, 0
- adds r3, 0x74
- adds r3, r4
- adds r0, r1, 0x4
- adds r0, r7
- lsls r2, r5, 11
- ldr r0, [r0]
- adds r0, r2
- str r0, [r3]
- adds r1, r4
- adds r1, 0x78
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _0805F01A
- ldr r1, =gMonSpritesGfxPtr
- ldr r2, [r1]
- mov r5, r9
- adds r0, r5, r6
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- mov r0, r8
- adds r0, 0x74
- adds r2, r0
- str r2, [r1]
- mov r7, r10
- lsls r0, r7, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0805EFE2
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBA
- lsls r2, 1
- adds r1, r2
- str 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 AllocateMonSpritesGfx
-
- thumb_func_start FreeMonSpritesGfx
-FreeMonSpritesGfx: @ 805F094
- push {r4-r6,lr}
- ldr r6, =gMonSpritesGfxPtr
- ldr r0, [r6]
- cmp r0, 0
- beq _0805F106
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0805F0BA
- bl Free
- ldr r0, [r6]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_0805F0BA:
- ldr r0, [r6]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0805F0D8
- bl Free
- ldr r0, [r6]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_0805F0D8:
- ldr r0, [r6]
- movs r5, 0xBA
- lsls r5, 1
- adds r0, r5
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r5, r0, r5
- movs r4, 0
- str r4, [r5]
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- str r4, [r0]
- str r4, [r0, 0x4]
- str r4, [r0, 0x8]
- str r4, [r0, 0xC]
- str r4, [r0, 0x10]
- bl Free
- str r4, [r6]
-_0805F106:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeMonSpritesGfx
-
- thumb_func_start sub_805F110
-sub_805F110: @ 805F110
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x37
- bl GetMonData
- ldr r1, =0x00000fff
- ands r1, r0
- cmp r1, 0
- bne _0805F158
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- ble _0805F158
- movs r0, 0x1
- b _0805F15A
- .pool
-_0805F158:
- movs r0, 0
-_0805F15A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805F110
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
index 705146ce5..a3be18667 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
@@ -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,32 +586,32 @@ _080A612E:
bx r1
thumb_func_end sub_80A60AC
- thumb_func_start sub_80A6138
-sub_80A6138: @ 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 sub_80A6138
+ thumb_func_end GetBattlerSpriteDefault_Y
- thumb_func_start sub_80A614C
-sub_80A614C: @ 80A614C
+ thumb_func_start GetSubstituteSpriteDefault_Y
+GetSubstituteSpriteDefault_Y: @ 80A614C
push {r4,lr}
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 @@ sub_80A614C: @ 80A614C
_080A6170:
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0x88
@@ -633,7 +633,7 @@ _080A6180:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80A614C
+ thumb_func_end GetSubstituteSpriteDefault_Y
thumb_func_start sub_80A6190
sub_80A6190: @ 80A6190
@@ -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
@@ -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
@@ -5180,7 +5180,7 @@ _080A8412:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r2, 0x80
lsls r2, 17
@@ -5243,7 +5243,7 @@ _080A84B0:
adds r0, r6, 0
ldr r1, [sp, 0x3C]
mov r2, r8
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r1, r5, 20
movs r3, 0x80
lsls r3, 17
@@ -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 681802e12..755653156 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
@@ -855,19 +855,19 @@ _080AA352:
.pool
thumb_func_end sub_80AA18C
- thumb_func_start move_anim_start_t2
-move_anim_start_t2: @ 80AA364
+ thumb_func_start LaunchStatusAnimation
+LaunchStatusAnimation: @ 80AA364
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
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
@@ -885,7 +885,7 @@ move_anim_start_t2: @ 80AA364
pop {r0}
bx r0
.pool
- thumb_func_end move_anim_start_t2
+ thumb_func_end LaunchStatusAnimation
thumb_func_start task0A_80788BC
task0A_80788BC: @ 80AA3B4
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 69835bf4e..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
@@ -3006,7 +3006,7 @@ _0815B8A8:
lsls r2, 3
adds r2, r3
ldrb r2, [r2, 0x1C]
- bl sub_805E448
+ bl HandleSpeciesGfxDataChange
ldrb r1, [r5]
mov r0, sp
bl sub_80A6BFC
@@ -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,12 +3305,12 @@ 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 sub_805E448
+ bl HandleSpeciesGfxDataChange
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@@ -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,16 +10126,16 @@ _0815F2A0:
b _0815F310
.pool
_0815F2AC:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl refresh_graphics_maybe
+ bl LoadBattleMonGfxAndAnimate
bl IsContest
lsls r0, 24
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 8de82c629..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
@@ -4825,7 +4825,7 @@ _08172CC8:
ldrb r1, [r5, 0x1E]
adds r0, r2, 0
adds r2, r6, 0
- bl refresh_graphics_maybe
+ bl LoadBattleMonGfxAndAnimate
ldrh r0, [r5, 0x1C]
adds r0, 0x1
strh r0, [r5, 0x1C]
@@ -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]
@@ -5030,7 +5030,7 @@ _08172E4E:
movs r3, 0x1
bl RequestDma3Fill
ldrb r0, [r4]
- bl sub_805E974
+ bl ClearBehindSubstituteBit
adds r0, r5, 0
bl DestroyAnimVisualTask
_08172E84:
@@ -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
index 4bfd7ae68..def934fab 100644
--- a/asm/battle_anim_sound_tasks.s
+++ b/asm/battle_anim_sound_tasks.s
@@ -150,8 +150,8 @@ _08158C4C:
.pool
thumb_func_end sub_8158C04
- thumb_func_start mas_80DCF38
-mas_80DCF38: @ 8158C58
+ thumb_func_start sub_8158C58
+sub_8158C58: @ 8158C58
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -230,7 +230,7 @@ mas_80DCF38: @ 8158C58
pop {r0}
bx r0
.pool
- thumb_func_end mas_80DCF38
+ thumb_func_end sub_8158C58
thumb_func_start sub_8158D08
sub_8158D08: @ 8158D08
@@ -336,25 +336,25 @@ _08158DD0:
adds r2, r0, 0
cmp r1, 0
bne _08158DEC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r4, [r0]
b _08158E12
.pool
_08158DEC:
cmp r1, 0x1
bne _08158DFC
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r4, [r0]
b _08158E12
.pool
_08158DFC:
cmp r1, 0x2
bne _08158E08
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08158E0A
.pool
_08158E08:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08158E0A:
ldrb r1, [r0]
movs r0, 0x2
@@ -369,7 +369,7 @@ _08158E12:
bne _08158E38
_08158E1E:
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
bne _08158E38
@@ -379,11 +379,11 @@ _08158E1E:
.pool
_08158E38:
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08158E5C
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -393,7 +393,7 @@ _08158E38:
b _08158E6A
.pool
_08158E5C:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -461,25 +461,25 @@ _08158EE0:
adds r2, r0, 0
cmp r1, 0
bne _08158EFC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r4, [r0]
b _08158F22
.pool
_08158EFC:
cmp r1, 0x1
bne _08158F0C
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r4, [r0]
b _08158F22
.pool
_08158F0C:
cmp r1, 0x2
bne _08158F18
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08158F1A
.pool
_08158F18:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08158F1A:
ldrb r1, [r0]
movs r0, 0x2
@@ -494,7 +494,7 @@ _08158F22:
bne _08158F48
_08158F2E:
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
bne _08158F48
@@ -504,11 +504,11 @@ _08158F2E:
.pool
_08158F48:
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08158F6C
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -518,7 +518,7 @@ _08158F48:
b _08158F7A
.pool
_08158F6C:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -705,7 +705,7 @@ sub_81590B8: @ 81590B8
.pool
_081590F8:
ldr r1, =gAnimSpeciesByBanks
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index 978dd30fa..38e0e4b0a 100755..100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -136,7 +136,7 @@ _0818EAC8:
.4byte _0818ECD0
.4byte _0818ECF4
_0818EAF0:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
lsls r1, r5, 1
@@ -150,7 +150,7 @@ _0818EAF0:
b _0818ED10
.pool
_0818EB14:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
ldr r3, =0x00000cdc
@@ -170,7 +170,7 @@ _0818EB14:
b _0818ED10
.pool
_0818EB48:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -180,7 +180,7 @@ _0818EB48:
b _0818ECBE
.pool
_0818EB64:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -190,7 +190,7 @@ _0818EB64:
b _0818ECBE
.pool
_0818EB80:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -198,7 +198,7 @@ _0818EB80:
b _0818ECBA
.pool
_0818EB98:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -216,7 +216,7 @@ _0818EBB4:
bne _0818EC04
cmp r5, 0
beq _0818EBE8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -226,7 +226,7 @@ _0818EBB4:
b _0818ECBE
.pool
_0818EBE8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -238,7 +238,7 @@ _0818EBE8:
_0818EC04:
cmp r5, 0
beq _0818EC24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -248,7 +248,7 @@ _0818EC04:
b _0818ECBE
.pool
_0818EC24:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -266,7 +266,7 @@ _0818EC40:
bne _0818EC90
cmp r5, 0
beq _0818EC74
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -277,7 +277,7 @@ _0818EC40:
b _0818ED10
.pool
_0818EC74:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -289,7 +289,7 @@ _0818EC74:
_0818EC90:
cmp r5, 0
beq _0818ECB0
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -299,7 +299,7 @@ _0818EC90:
b _0818ECBE
.pool
_0818ECB0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -328,7 +328,7 @@ _0818ECD0:
b _0818ED10
.pool
_0818ECF4:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r3, =0x00000d0a
@@ -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,7 +9534,7 @@ _08193B84:
cmp r6, 0
bne _08193BC2
bl FreeAllWindowBuffers
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r4, =gUnknown_0203CD7C
ldr r0, [r4]
bl Free
@@ -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:
@@ -11513,7 +11513,7 @@ sub_8194CE4: @ 8194CE4
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r0}
bx r0
.pool
@@ -11707,12 +11707,12 @@ sub_8194EC0: @ 8194EC0
bl sub_8195358
cmp r4, r0
ble _08194EE8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _08194EEC
.pool
_08194EE8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
_08194EEC:
strh r0, [r1]
@@ -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
@@ -13130,7 +13130,7 @@ _08195A74:
beq _08195AB0
b _08195AD0
_08195A7A:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r5]
ldr r2, =0x00000dc6
adds r1, r2
@@ -13139,7 +13139,7 @@ _08195A7A:
b _08195AD0
.pool
_08195A90:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, [r5]
lsls r1, r7, 1
lsls r2, r6, 2
@@ -13152,7 +13152,7 @@ _08195A90:
b _08195AD0
.pool
_08195AB0:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r2, [r5]
ldr r0, =0x00000cdc
adds r2, r0
@@ -13285,7 +13285,7 @@ sub_8195BB0: @ 8195BB0
ldrh r0, [r2]
cmp r0, 0x31
bhi _08195C00
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl Random
lsls r0, 16
lsrs r0, 16
@@ -13297,12 +13297,12 @@ sub_8195BB0: @ 8195BB0
_08195C00:
cmp r0, 0x62
bhi _08195C10
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _08195C14
.pool
_08195C10:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
_08195C14:
strh r0, [r1]
@@ -13517,12 +13517,12 @@ sub_8195DB8: @ 8195DB8
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _08195E06
.pool
_08195E00:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_08195E06:
@@ -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 FreezeMapObjects
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:
@@ -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,7 +14659,7 @@ 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]
@@ -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
@@ -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 ac92b3c2a..67f44a0b6 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
@@ -2801,7 +2865,7 @@ sub_819BCF8: @ 819BCF8
lsls r0, 16
lsrs r0, 16
add r1, sp, 0xC
- bl sub_81DB468
+ bl CopyMonCategoryText
movs r0, 0x1
add r1, sp, 0xC
movs r2, 0x76
@@ -4361,14 +4425,14 @@ _0819CA4E:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _0819CAFE
.pool
_0819CA68:
movs r0, 0x2
strh r0, [r4, 0x8]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _0819CAFE
@@ -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
@@ -8831,7 +8895,7 @@ _0819EFF2:
lsls r0, 16
lsrs r0, 16
add r1, sp, 0xC
- bl sub_81DB468
+ bl CopyMonCategoryText
movs r0, 0x1
add r1, sp, 0xC
movs r2, 0x76
@@ -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
@@ -11730,13 +11794,13 @@ _081A0734:
bne _081A0778
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
b _081A0768
.pool
_081A0764:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_081A0768:
ldrb r0, [r4, 0xC]
@@ -11982,12 +12046,12 @@ sub_81A093C: @ 81A093C
lsrs r1, r0, 24
cmp r1, 0
bne _081A0954
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _081A095A
.pool
_081A0954:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081A095A:
@@ -12046,7 +12110,7 @@ sub_81A0990: @ 81A0990
thumb_func_start sub_81A09B4
sub_81A09B4: @ 81A09B4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
adds r0, 0xB1
@@ -12070,13 +12134,13 @@ sub_81A09D0: @ 81A09D0
subs r1, r0, 0x3
cmp r1, 0
bge _081A09F4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _081A0A1C
.pool
_081A09F4:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
cmp r1, 0x8
ble _081A09FE
movs r0, 0x1
@@ -12380,12 +12444,12 @@ _081A0C8E:
sub_81A0C9C: @ 81A0C9C
push {lr}
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
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
@@ -12403,7 +12467,7 @@ sub_81A0CC0: @ 81A0CC0
lsrs r0, r1, 28
cmp r0, 0x2
bhi _081A0CE4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _081A0D34
.pool
@@ -12431,22 +12495,22 @@ _081A0D08:
beq _081A0D24
b _081A0D30
_081A0D0E:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
b _081A0D34
.pool
_081A0D18:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _081A0D34
.pool
_081A0D24:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A0D34
.pool
_081A0D30:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
_081A0D34:
strh r0, [r1]
@@ -13078,7 +13142,7 @@ _081A1242:
lsls r0, 30
ldr r1, =gSpecialVar_0x8005
mov r12, r1
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
mov r8, r1
cmp r0, 0
beq _081A127C
@@ -13855,7 +13919,7 @@ _081A186C:
.4byte _081A1918
.4byte _081A1938
_081A188C:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca8
@@ -13865,7 +13929,7 @@ _081A188C:
b _081A1956
.pool
_081A18A8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca9
@@ -13877,7 +13941,7 @@ _081A18A8:
b _081A1956
.pool
_081A18C8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000cb2
@@ -13887,7 +13951,7 @@ _081A18C8:
b _081A1956
.pool
_081A18E4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca9
@@ -13897,7 +13961,7 @@ _081A18E4:
b _081A1926
.pool
_081A1900:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, =gBattleOutcome
ldrb r0, [r1]
strh r0, [r2]
@@ -13906,7 +13970,7 @@ _081A1900:
b _081A1956
.pool
_081A1918:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca9
@@ -13919,7 +13983,7 @@ _081A1926:
b _081A1956
.pool
_081A1938:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
movs r0, 0xD0
@@ -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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
ldrb r0, [r1]
bl PutWindowTilemap
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
ldrb r0, [r6]
movs r1, 0x26
adds r3, r5, 0
@@ -17183,7 +17247,7 @@ sub_81A35EC: @ 81A35EC
push {r4,lr}
ldr r0, =0x000040cf
bl VarGet
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_81A3610
lsls r0, 24
lsrs r0, 24
@@ -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:
@@ -17755,12 +17819,12 @@ sub_81A3B00: @ 81A3B00
ldr r0, =0x000003fe
cmp r1, r0
bne _081A3B20
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A3B24
.pool
_081A3B20:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_081A3B24:
strh r0, [r1]
@@ -17988,7 +18052,7 @@ sub_81A3D30: @ 81A3D30
push {r4,lr}
ldr r0, =0x000040cf
bl VarGet
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
lsls r0, 24
lsrs r0, 24
bl sub_81A3B30
@@ -18044,13 +18108,13 @@ sub_81A3DA0: @ 81A3DA0
ands r2, r1
cmp r2, 0
beq _081A3DC4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _081A3DC8
.pool
_081A3DC4:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
_081A3DC8:
pop {r0}
@@ -18390,7 +18454,7 @@ _081A404E:
bne _081A40C8
cmp r7, 0
bne _081A40E4
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrb r3, [r0]
str r6, [sp]
add r1, sp, 0x10
@@ -18406,7 +18470,7 @@ _081A404E:
b _081A40E4
.pool
_081A40C8:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrb r3, [r0]
str r6, [sp]
add r1, sp, 0x10
@@ -18529,7 +18593,7 @@ _081A41E0:
strh r0, [r1]
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrb r0, [r0]
ldr r1, =0x00000ca9
adds r2, r1
@@ -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
@@ -18767,7 +18831,7 @@ _081A43EE:
thumb_func_start sub_81A4410
sub_81A4410: @ 81A4410
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl MoveRecordedBattleToSaveData
strh r0, [r4]
ldr r0, =gSaveBlock2Ptr
@@ -18962,7 +19026,7 @@ sub_81A4594: @ 81A4594
sub sp, 0x2C
mov r8, r1
adds r6, r3, 0
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
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, =gResultsWindowId
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -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
@@ -21309,7 +21373,7 @@ _081A5994:
beq _081A59C8
b _081A59EE
_081A599A:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r2, =0x00000dd8
adds r1, r3, r2
ldrh r1, [r1]
@@ -21317,7 +21381,7 @@ _081A599A:
b _081A59EE
.pool
_081A59B0:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
lsls r1, 1
ldr r4, =0x00000dda
adds r0, r3, r4
@@ -21328,7 +21392,7 @@ _081A59B0:
_081A59C8:
cmp r1, 0
beq _081A59E0
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, =0x00000cdc
adds r0, r3, r1
ldr r0, [r0]
@@ -21336,7 +21400,7 @@ _081A59C8:
b _081A59EA
.pool
_081A59E0:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r4, =0x00000cdc
adds r0, r3, r4
ldr r0, [r0]
@@ -21550,12 +21614,12 @@ sub_81A5B88: @ 81A5B88
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081A5BD6
.pool
_081A5BD0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081A5BD6:
@@ -22026,7 +22090,7 @@ _081A5FE4:
beq _081A6030
b _081A6044
_081A5FEA:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, [r7]
lsls r1, r6, 1
lsls r2, r5, 2
@@ -22035,7 +22099,7 @@ _081A5FEA:
b _081A603C
.pool
_081A6000:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r2, [r7]
ldr r0, =0x00000cdc
adds r2, r0
@@ -22054,7 +22118,7 @@ _081A6000:
b _081A6044
.pool
_081A6030:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, [r7]
lsls r1, r6, 1
lsls r2, r5, 2
@@ -23248,7 +23312,7 @@ sub_81A6A08: @ 81A6A08
str r0, [r1]
movs r4, 0
add r5, sp, 0x14
- ldr r7, =gScriptResult
+ ldr r7, =gSpecialVar_Result
movs r1, 0
_081A6A1E:
mov r2, sp
@@ -23407,7 +23471,7 @@ _081A6B18:
lsrs r4, r0, 24
cmp r4, 0x2
bls _081A6B0E
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r4, 0x1
@@ -24180,7 +24244,7 @@ _081A7174:
.4byte _081A71E8
.4byte _081A720C
_081A7188:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000e02
adds r1, r3
@@ -24189,7 +24253,7 @@ _081A7188:
b _081A723A
.pool
_081A71A0:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000ca9
adds r0, r1, r3
@@ -24203,7 +24267,7 @@ _081A71A0:
b _081A7238
.pool
_081A71C4:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000ca9
adds r0, r1, r3
@@ -24217,7 +24281,7 @@ _081A71C4:
b _081A7238
.pool
_081A71E8:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000ca9
adds r0, r1, r3
@@ -24233,7 +24297,7 @@ _081A71E8:
_081A720C:
cmp r2, 0
beq _081A7228
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r1, =0x00000cdc
adds r0, r1
@@ -24243,7 +24307,7 @@ _081A720C:
b _081A7236
.pool
_081A7228:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r3, =0x00000cdc
adds r0, r3
@@ -24424,12 +24488,12 @@ sub_81A73B8: @ 81A73B8
ldrh r0, [r0]
cmp r0, 0xE
bls _081A73DC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A73E0
.pool
_081A73DC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_081A73E0:
strh r0, [r1]
@@ -24440,7 +24504,7 @@ _081A73E0:
thumb_func_start sub_81A73EC
sub_81A73EC: @ 81A73EC
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, =gUnknown_0300128C
ldrb r1, [r1]
strh r1, [r0]
@@ -24528,27 +24592,27 @@ _081A7484:
beq _081A74A4
b _081A74C2
_081A748E:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081A74C0
.pool
_081A7498:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A74C0
.pool
_081A74A4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _081A74C0
.pool
_081A74B0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _081A74C0
.pool
_081A74BC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
_081A74C0:
strh r0, [r1]
@@ -24560,7 +24624,7 @@ _081A74C2:
thumb_func_start sub_81A74CC
sub_81A74CC: @ 81A74CC
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, =gUnknown_0300128D
ldrb r1, [r1]
strh r1, [r0]
@@ -24580,7 +24644,7 @@ sub_81A74E0: @ 81A74E0
adds r4, 0x1
adds r0, r4, 0
bl sub_81A7F38
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4}
pop {r0}
@@ -25426,8 +25490,8 @@ sub_81A7B84: @ 81A7B84
.pool
thumb_func_end sub_81A7B84
- thumb_func_start sub_81A7B90
-sub_81A7B90: @ 81A7B90
+ thumb_func_start TryGenerateBattlePikeWildMon
+TryGenerateBattlePikeWildMon: @ 81A7B90
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -25437,7 +25501,7 @@ sub_81A7B90: @ 81A7B90
lsls r0, 24
lsrs r0, 24
mov r8, r0
- bl sub_81A7D00
+ bl GetBattlePikeWildMonHeaderId
lsls r0, 24
lsrs r6, r0, 24
ldr r7, =gSaveBlock2Ptr
@@ -25596,10 +25660,10 @@ _081A7CE2:
pop {r1}
bx r1
.pool
- thumb_func_end sub_81A7B90
+ thumb_func_end TryGenerateBattlePikeWildMon
- thumb_func_start sub_81A7D00
-sub_81A7D00: @ 81A7D00
+ thumb_func_start GetBattlePikeWildMonHeaderId
+GetBattlePikeWildMonHeaderId: @ 81A7D00
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
@@ -25638,7 +25702,7 @@ _081A7D4C:
adds r0, r1, 0
pop {r1}
bx r1
- thumb_func_end sub_81A7D00
+ thumb_func_end GetBattlePikeWildMonHeaderId
thumb_func_start sub_81A7D54
sub_81A7D54: @ 81A7D54
@@ -26066,7 +26130,7 @@ _081A807A:
thumb_func_start sub_81A8090
sub_81A8090: @ 81A8090
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl InBattlePike
lsls r0, 24
lsrs r0, 24
@@ -26110,7 +26174,7 @@ sub_81A80DC: @ 81A80DC
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
movs r0, 0
strh r0, [r4]
movs r0, 0x1
@@ -26295,7 +26359,7 @@ _081A824C:
thumb_func_start sub_81A825C
sub_81A825C: @ 81A825C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
movs r2, 0xE1
@@ -26311,7 +26375,7 @@ sub_81A825C: @ 81A825C
thumb_func_start sub_81A827C
sub_81A827C: @ 81A827C
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, =gUnknown_0861266C
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -26754,7 +26818,7 @@ _081A8634:
thumb_func_start sub_81A863C
sub_81A863C: @ 81A863C
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
movs r0, 0
bl sub_81A8590
lsls r0, 24
@@ -26787,7 +26851,7 @@ sub_81A8658: @ 81A8658
ldrb r4, [r0]
adds r0, r4, 0
bl sub_81A7F38
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4}
pop {r0}
@@ -26821,7 +26885,7 @@ sub_81A86C0: @ 81A86C0
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
movs r0, 0
@@ -26895,7 +26959,7 @@ _081A8766:
mov r0, r9
cmp r0, 0x1
bne _081A8778
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _081A8786
@@ -27919,13 +27983,13 @@ _081A8F70:
.4byte _081A9010
.4byte _081A9028
_081A8F8C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000e18
b _081A8FFE
.pool
_081A8F9C:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
lsls r1, r4, 1
ldr r3, =0x00000e1a
@@ -27937,14 +28001,14 @@ _081A8F9C:
_081A8FB4:
cmp r4, 0
beq _081A8FCC
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r1, =0x00000cdc
adds r0, r1
b _081A9030
.pool
_081A8FCC:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r3, =0x00000cdc
adds r0, r3
@@ -27954,14 +28018,14 @@ _081A8FCC:
b _081A9036
.pool
_081A8FE4:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r2, =0x00000e1a
adds r1, r2
b _081A9000
.pool
_081A8FF8:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000e1c
_081A8FFE:
@@ -27972,7 +28036,7 @@ _081A9000:
b _081A903A
.pool
_081A9010:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r1, =0x00000cdc
adds r0, r1
@@ -27982,7 +28046,7 @@ _081A9010:
b _081A9036
.pool
_081A9028:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r3, =0x00000cdc
adds r0, r3
@@ -28211,12 +28275,12 @@ sub_81A91FC: @ 81A91FC
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081A924A
.pool
_081A9244:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081A924A:
@@ -28296,7 +28360,7 @@ CalculateBattlePyramidItemBallItemId: @ 81A9290
_081A92DE:
bl sub_81AA9E4
lsls r0, 24
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
ldrh r4, [r1]
ldr r1, =gUnknown_08613650
lsrs r0, 20
@@ -28401,7 +28465,7 @@ sub_81A93C8: @ 81A93C8
lsls r1, 4
adds r3, r0, r1
movs r2, 0
- ldr r4, =gScriptLastTalked
+ ldr r4, =gSpecialVar_LastTalked
b _081A93F4
.pool
_081A93E4:
@@ -28712,7 +28776,7 @@ _081A9650:
thumb_func_start sub_81A966C
sub_81A966C: @ 81A966C
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl InBattlePyramid
lsls r0, 24
lsrs r0, 24
@@ -28745,7 +28809,7 @@ _081A9698:
b _081A9754
.pool
_081A96B4:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldrh r0, [r4]
cmp r0, 0x1
beq _081A9710
@@ -28775,7 +28839,7 @@ _081A96F4:
ldrh r0, [r0]
bl PlaySE
_081A96FC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
@@ -29290,7 +29354,7 @@ sub_81A9B04: @ 81A9B04
cmp r0, 0
beq _081A9B2E
movs r0, 0x1
- bl sub_80B47E0
+ bl GetChosenApproachingTrainerMapObjectId
ldr r1, =gSelectedMapObject
strb r0, [r1]
ldr r0, =gTrainerBattleOpponent_B
@@ -29352,7 +29416,7 @@ _081A9B86:
strb r3, [r0, 0x6]
mov r7, r10
ldr r2, [r7]
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrh r1, [r0]
subs r1, 0x1
lsls r0, r1, 1
@@ -29386,8 +29450,8 @@ _081A9B86:
.pool
thumb_func_end sub_81A9B44
- thumb_func_start sub_81A9C04
-sub_81A9C04: @ 81A9C04
+ thumb_func_start GenerateBattlePyramidWildMon
+GenerateBattlePyramidWildMon: @ 81A9C04
push {r4-r6,lr}
sub sp, 0x14
ldr r0, =gSaveBlock2Ptr
@@ -29627,7 +29691,7 @@ _081A9E0C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81A9C04
+ thumb_func_end GenerateBattlePyramidWildMon
thumb_func_start sub_81A9E28
sub_81A9E28: @ 81A9E28
@@ -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
@@ -29815,7 +29879,7 @@ _081A9F7A:
thumb_func_start sub_81A9F80
sub_81A9F80: @ 81A9F80
push {lr}
- ldr r0, =gUnknown_08252C88
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -29962,7 +30026,7 @@ _081AA0A6:
ldr r2, =0x00000169
adds r0, r2
lsls r0, 2
- ldr r1, =gUnknown_08481DD4
+ ldr r1, =gMapAttributes
adds r0, r1
ldr r6, [r0]
ldr r2, [r6, 0xC]
@@ -30241,8 +30305,8 @@ sub_81AA2F8: @ 81AA2F8
push {r4,r5,lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
- ldr r5, =gUnknown_08252C4F
- ldr r4, =gUnknown_08252C6A
+ ldr r5, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F
+ ldr r4, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A
movs r2, 0xC8
lsls r2, 4
adds r1, r0, r2
@@ -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
index fedb50c45..55d0bae39 100644
--- a/asm/battle_link_817C95C.s
+++ b/asm/battle_link_817C95C.s
@@ -34,32 +34,32 @@ _0817C988:
movs r1, 0x81
lsls r1, 2
adds r7, r0, r1
- ldr r5, =gBankAttacker
+ ldr r5, =gBattlerAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r6, r0, 24
- ldr r0, =gEffectBank
+ ldr r0, =gEffectBattler
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldr r0, =gStringInfo
ldr r0, [r0]
ldrb r0, [r0, 0x7]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x4]
cmp r4, 0
bne _0817CA00
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
ldrb r0, [r5]
lsls r0, 1
adds r0, r2
@@ -70,7 +70,7 @@ _0817C988:
b _0817CA10
.pool
_0817CA00:
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
ldrb r0, [r5]
lsls r0, 1
adds r0, r2
@@ -83,7 +83,7 @@ _0817CA10:
str r1, [sp, 0x8]
cmp r6, 0
bne _0817CA3C
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
lsls r0, 1
adds r0, r2
@@ -94,7 +94,7 @@ _0817CA10:
b _0817CA4C
.pool
_0817CA3C:
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
lsls r0, 1
adds r0, r2
@@ -105,12 +105,12 @@ _0817CA3C:
_0817CA4C:
adds r1, r0
str r1, [sp, 0xC]
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
ldr r1, =gStringInfo
ldr r1, [r1]
ldrh r1, [r1]
- bl GetBankMoveSlotId
+ bl GetBattlerMoveSlotId
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -134,20 +134,20 @@ _0817CA4C:
bl _0817E0A2
.pool
_0817CA9C:
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 25
mov r8, r0
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r5, r0, 25
- ldr r0, =gEffectBank
+ ldr r0, =gEffectBattler
ldrb r0, [r0]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r3, r0, 25
ldr r1, [sp]
@@ -571,8 +571,8 @@ _0817D0DC:
adds r3, r4
lsls r3, 2
adds r3, r7, r3
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -601,8 +601,8 @@ _0817D124:
adds r2, r4
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -634,8 +634,8 @@ _0817D16C:
adds r0, r4
lsls r0, 2
adds r5, r7, r0
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -715,8 +715,8 @@ _0817D216:
adds r2, r4
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -775,8 +775,8 @@ _0817D296:
adds r2, r4
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -833,8 +833,8 @@ _0817D314:
lsls r0, r4, 4
adds r3, r0
adds r3, r7, r3
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -940,8 +940,8 @@ _0817D3F2:
bne _0817D3FE
bl _0817E0A6
_0817D3FE:
- ldr r0, =gBankAttacker
- ldr r1, =gBankTarget
+ ldr r0, =gBattlerAttacker
+ ldr r1, =gBattlerTarget
ldrb r0, [r0]
ldrb r1, [r1]
cmp r0, r1
@@ -1014,8 +1014,8 @@ _0817D498:
lsls r0, r6, 4
adds r2, r0
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1091,8 +1091,8 @@ _0817D53C:
lsls r0, r6, 4
adds r2, r0
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1161,8 +1161,8 @@ _0817D5CE:
lsls r0, r6, 4
adds r2, r0
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1226,8 +1226,8 @@ _0817D65E:
lsls r0, r6, 4
adds r2, r0
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1301,8 +1301,8 @@ _0817D6F2:
strb r0, [r1]
bl _0817E0A6
_0817D704:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
+ ldr r5, =gBattlerPartyIndexes
+ ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1314,7 +1314,7 @@ _0817D704:
lsls r4, 3
adds r2, r4
adds r2, r7, r2
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r5
@@ -1353,8 +1353,8 @@ _0817D76C:
bne _0817D77E
bl _0817E0A6
_0817D77E:
- ldr r6, =gBattlePartyID
- ldr r5, =gBankAttacker
+ ldr r6, =gBattlerPartyIndexes
+ ldr r5, =gBattlerAttacker
ldrb r0, [r5]
lsls r0, 1
adds r0, r6
@@ -1395,8 +1395,8 @@ _0817D7B2:
b _0817D934
.pool
_0817D7D8:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
+ ldr r5, =gBattlerPartyIndexes
+ ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1408,7 +1408,7 @@ _0817D7D8:
lsls r4, 3
adds r2, r4
adds r2, r7, r2
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r5
@@ -1439,8 +1439,8 @@ _0817D7D8:
b _0817D88C
.pool
_0817D838:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
+ ldr r5, =gBattlerPartyIndexes
+ ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1452,7 +1452,7 @@ _0817D838:
lsls r4, 3
adds r2, r4
adds r2, r7, r2
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r5
@@ -1496,9 +1496,9 @@ _0817D8A4:
bne _0817D8B6
bl _0817E0A6
_0817D8B6:
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
mov r8, r2
- ldr r6, =gBankAttacker
+ ldr r6, =gBattlerAttacker
ldrb r0, [r6]
lsls r0, 1
add r0, r8
@@ -1573,8 +1573,8 @@ _0817D94C:
lsls r0, r6, 4
adds r2, r0
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1627,8 +1627,8 @@ _0817D9AE:
movs r0, 0x9
b _0817E086
_0817D9C2:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
+ ldr r5, =gBattlerPartyIndexes
+ ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1640,7 +1640,7 @@ _0817D9C2:
lsls r4, 3
adds r2, r4
adds r2, r7, r2
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r5
@@ -1671,8 +1671,8 @@ _0817D9C2:
b _0817DB76
.pool
_0817DA24:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1702,8 +1702,8 @@ _0817DA48:
b _0817E0A6
.pool
_0817DA68:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
+ ldr r5, =gBattlerPartyIndexes
+ ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1715,7 +1715,7 @@ _0817DA68:
lsls r4, 3
adds r2, r4
adds r2, r7, r2
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r5
@@ -1747,8 +1747,8 @@ _0817DA68:
b _0817DB76
.pool
_0817DACC:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1790,8 +1790,8 @@ _0817DB10:
b _0817E0A6
.pool
_0817DB24:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
+ ldr r5, =gBattlerPartyIndexes
+ ldr r6, =gEffectBattler
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1803,7 +1803,7 @@ _0817DB24:
lsls r4, 3
adds r3, r4
adds r3, r7, r3
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r5
@@ -1838,8 +1838,8 @@ _0817DB76:
b _0817E0A6
.pool
_0817DB90:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1875,8 +1875,8 @@ _0817DBD4:
lsls r0, r1, 4
adds r3, r0
adds r3, r7, r3
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -1943,8 +1943,8 @@ _0817DC62:
adds r2, r6
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2021,8 +2021,8 @@ _0817DCFC:
lsls r0, r4, 4
adds r2, r0
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2049,8 +2049,8 @@ _0817DD38:
lsls r0, r4, 4
adds r2, r0
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2121,8 +2121,8 @@ _0817DDC8:
adds r2, r4
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2154,8 +2154,8 @@ _0817DE10:
adds r2, r4
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2253,8 +2253,8 @@ _0817DEDC:
adds r2, r4
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2331,8 +2331,8 @@ _0817DF70:
adds r2, r4
lsls r2, 2
adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2413,8 +2413,8 @@ _0817DFE6:
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -2557,22 +2557,22 @@ _0817E122:
lsls r1, 2
adds r1, r0, r1
str r1, [sp, 0x8]
- ldr r2, =gBankAttacker
+ ldr r2, =gBattlerAttacker
mov r10, r2
ldrb r0, [r2]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
mov r9, r0
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r4, r0, 24
mov r1, r10
ldrb r0, [r1]
adds r1, r7, 0
- bl GetBankMoveSlotId
+ bl GetBattlerMoveSlotId
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x3
@@ -2593,7 +2593,7 @@ _0817E122:
_0817E184:
mov r2, r10
ldrb r0, [r2]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 25
lsls r0, 3
@@ -2604,7 +2604,7 @@ _0817E184:
mov r2, r10
ldrb r1, [r2]
lsls r1, 1
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
adds r1, r2
ldrh r2, [r1]
adds r2, 0x1
@@ -2617,7 +2617,7 @@ _0817E184:
strb r1, [r0]
mov r1, r10
ldrb r0, [r1]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 25
lsls r0, 3
@@ -2685,7 +2685,7 @@ _0817E23C:
mov r1, r10
ldrb r0, [r1]
lsls r0, 1
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
adds r0, r2
ldrh r1, [r0]
adds r1, 0x1
@@ -2723,7 +2723,7 @@ _0817E27A:
mov r1, r10
ldrb r0, [r1]
lsls r0, 1
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
adds r0, r1
ldrh r1, [r0]
adds r1, 0x1
@@ -2812,9 +2812,9 @@ sub_817E32C: @ 817E32C
movs r1, 0x81
lsls r1, 2
adds r4, r0, r1
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r2, r0, 24
cmp r5, 0x12
@@ -3244,14 +3244,14 @@ sub_817E684: @ 817E684
movs r2, 0x81
lsls r2, 2
adds r7, r0, r2
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r3, r0, 24
mov r0, r10
@@ -3297,8 +3297,8 @@ _0817E6F0:
.4byte _0817E760
.4byte _0817E760
_0817E760:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -3324,13 +3324,13 @@ _0817E760:
_0817E79C:
ldr r1, =gUnknown_0860A834
add r1, r12
- ldr r7, =gBattlePartyID
+ ldr r7, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r4
lsls r2, r0, 4
ldr r4, =0x0000ffff
ldr r1, [r1]
- ldr r3, =gBankAttacker
+ ldr r3, =gBattlerAttacker
ldrh r0, [r1]
cmp r6, r0
bne _0817E7E0
@@ -3708,15 +3708,15 @@ sub_817EA80: @ 817EA80
movs r1, 0x81
lsls r1, 2
adds r5, r0, r1
- ldr r3, =gBankAttacker
+ ldr r3, =gBattlerAttacker
mov r8, r3
ldrb r0, [r3]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r2, r0, 24
lsls r0, r4, 1
@@ -4005,8 +4005,8 @@ _0817ECCC:
ldrb r0, [r0]
lsrs r0, 5
subs r6, r0, 0x1
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -4164,8 +4164,8 @@ _0817EE1C:
cmp r7, 0x1
bne _0817EEBC
adds r2, r4, 0
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -4227,7 +4227,7 @@ _0817EE8E:
b _0817EEBC
_0817EE96:
adds r2, r4, 0
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
mov r3, r8
ldrb r0, [r3]
lsls r0, 1
@@ -4269,9 +4269,9 @@ sub_817EECC: @ 817EECC
beq _0817EEE6
b _0817F1FA
_0817EEE6:
- ldr r4, =gBankAttacker
+ ldr r4, =gBattlerAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4291,7 +4291,7 @@ _0817EEF8:
bgt _0817EF10
b _0817F1FA
_0817EF10:
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
muls r0, r1
adds r0, r5
@@ -4367,7 +4367,7 @@ _0817EF8A:
beq _0817EF98
b _0817F1FA
_0817EF98:
- ldr r2, =gBankAttacker
+ ldr r2, =gBattlerAttacker
ldrb r0, [r2]
adds r0, r6
ldrb r0, [r0]
@@ -4386,11 +4386,11 @@ _0817EF98:
mov r10, r3
mov r8, r0
add r7, sp, 0x10
- ldr r4, =gBankTarget
+ ldr r4, =gBattlerTarget
mov r9, r4
_0817EFC2:
lsls r1, r5, 1
- ldr r6, =gBankAttacker
+ ldr r6, =gBattlerAttacker
ldrb r0, [r6]
movs r2, 0x58
muls r0, r2
@@ -4411,16 +4411,16 @@ _0817EFC2:
lsls r0, 24
cmp r0, 0
beq _0817F0B4
- ldr r4, =gSideAffecting
+ ldr r4, =gSideStatuses
mov r1, r9
ldrb r0, [r1]
- bl GetBankIdentity
+ bl GetBattlerPosition
movs r1, 0x1
ands r1, r0
lsls r1, 1
adds r1, r4
ldrh r3, [r1]
- ldr r2, =gBankAttacker
+ ldr r2, =gBattlerAttacker
ldrb r0, [r2]
movs r4, 0x58
muls r0, r4
@@ -4437,7 +4437,7 @@ _0817EFC2:
str r4, [sp]
movs r4, 0
str r4, [sp, 0x4]
- ldr r6, =gBankAttacker
+ ldr r6, =gBattlerAttacker
ldrb r4, [r6]
str r4, [sp, 0x8]
mov r6, r9
@@ -4448,7 +4448,7 @@ _0817EFC2:
ldr r4, =gBattleMoveDamage
str r3, [r4]
ldr r1, =gStatuses3
- ldr r2, =gBankAttacker
+ ldr r2, =gBattlerAttacker
ldrb r0, [r2]
lsls r0, 2
adds r0, r1
@@ -4472,7 +4472,7 @@ _0817EFC2:
str r0, [r4]
_0817F06A:
ldr r0, =gProtectStructs
- ldr r6, =gBankAttacker
+ ldr r6, =gBattlerAttacker
ldrb r1, [r6]
lsls r1, 4
adds r1, r0
@@ -4513,9 +4513,9 @@ _0817F0B4:
cmp r5, 0x3
ble _0817EFC2
movs r5, 0
- ldr r3, =gBankAttacker
+ ldr r3, =gBattlerAttacker
ldr r6, =gMoveSelectionCursor
- ldr r4, =gBattlePartyID
+ ldr r4, =gBattlerPartyIndexes
mov r8, r4
movs r7, 0x64
mov r9, r7
@@ -4545,9 +4545,9 @@ _0817F0D8:
movs r7, 0
_0817F0F6:
movs r5, 0
- ldr r4, =gBankTarget
+ ldr r4, =gBattlerTarget
ldr r6, =gEnemyParty
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
add r0, r10
ldrb r3, [r0]
@@ -4582,7 +4582,7 @@ _0817F11A:
adds r6, r0, 0
lsls r6, 16
lsrs r6, 16
- ldr r2, =gBankAttacker
+ ldr r2, =gBattlerAttacker
ldrb r0, [r2]
lsls r0, 1
add r0, r8
@@ -4598,7 +4598,7 @@ _0817F11A:
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
- ldr r4, =gBankAttacker
+ ldr r4, =gBattlerAttacker
ldrb r3, [r4]
mov r2, r10
adds r0, r3, r2
@@ -4625,7 +4625,7 @@ _0817F1D4:
_0817F1DC:
ldr r2, =gBattleMoveDamage
ldr r1, =gMoveSelectionCursor
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -4695,7 +4695,7 @@ _0817F270:
cmp r2, 0x95
bne _0817F294
ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
+ ldr r0, =gBattlerAttacker
ldrb r1, [r0]
movs r0, 0x58
muls r0, r1
@@ -4793,15 +4793,15 @@ _0817F324:
.pool
thumb_func_end sub_817F2A8
- thumb_func_start GetBankMoveSlotId
-GetBankMoveSlotId: @ 817F33C
+ thumb_func_start GetBattlerMoveSlotId
+GetBattlerMoveSlotId: @ 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
+ bl GetBattlerSide
lsls r0, 24
ldr r6, =gEnemyParty
cmp r0, 0
@@ -4809,7 +4809,7 @@ GetBankMoveSlotId: @ 817F33C
ldr r6, =gPlayerParty
_0817F356:
movs r4, 0
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r5, 1
adds r5, r0, r1
b _0817F36E
@@ -4835,7 +4835,7 @@ _0817F388:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end GetBankMoveSlotId
+ thumb_func_end GetBattlerMoveSlotId
thumb_func_start sub_817F394
sub_817F394: @ 817F394
diff --git a/asm/battle_records.s b/asm/battle_records.s
index c961aefe3..f688144d9 100644
--- a/asm/battle_records.s
+++ b/asm/battle_records.s
@@ -496,7 +496,7 @@ sub_813C2F4: @ 813C2F4
movs r2, 0xD0
bl GetStringCenterAlignXOffset
adds r3, r0, 0
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gResultsWindowId
ldrb r0, [r0]
lsls r3, 24
lsrs r3, 24
@@ -531,7 +531,7 @@ sub_813C384: @ 813C384
ldr r7, [r6, 0xC]
cmp r7, 0
bne _0813C40C
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gResultsWindowId
mov r8, r0
ldrb r0, [r0]
ldr r2, =gUnknown_085B3D84
@@ -587,7 +587,7 @@ _0813C40C:
lsrs r1, 24
ldr r0, =gStringVar1
bl ConvertInternationalString
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gResultsWindowId
mov r8, r0
ldrb r0, [r0]
lsls r4, 3
@@ -661,13 +661,13 @@ sub_813C4BC: @ 813C4BC
mov r6, r8
push {r6,r7}
sub sp, 0xC
- ldr r6, =gUnknown_0203AB74
+ ldr r6, =gResultsWindowId
ldr r0, =gUnknown_085B3D7C
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
@@ -729,7 +729,7 @@ _0813C540:
adds r4, 0x1
cmp r4, 0x4
ble _0813C540
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gResultsWindowId
ldrb r0, [r4]
bl PutWindowTilemap
ldrb r0, [r4]
@@ -748,7 +748,7 @@ _0813C540:
thumb_func_start sub_813C5A0
sub_813C5A0: @ 813C5A0
push {r4,lr}
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gResultsWindowId
ldrb r0, [r4]
movs r1, 0
bl sub_819746C
@@ -1034,7 +1034,7 @@ _0813C6FA:
thumb_func_start sub_813C80C
sub_813C80C: @ 813C80C
push {lr}
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl ResetPaletteFade
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
deleted file mode 100644
index 5c7196579..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 sub_80B0698
-sub_80B0698: @ 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 sub_80B0698
-
- thumb_func_start sub_80B06B0
-sub_80B06B0: @ 80B06B0
- push {lr}
- bl sub_80B07B4
- pop {r0}
- bx r0
- thumb_func_end sub_80B06B0
-
- 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 sub_80B072C
-sub_80B072C: @ 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 sub_80B072C
-
- 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, =set_256color_bg_bg0
- 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, =gScriptResult
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r0, [r2]
- bl sub_8133EDC
- 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, =gScriptLastTalked
- 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, =gUnknown_082713C2
- 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, =gUnknown_0827138A
- 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, =gUnknown_082713F8
- 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, =gUnknown_082713D1
- 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, =gScriptLastTalked
- 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, =gScriptLastTalked
- 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, =gScriptLastTalked
- 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, =gScriptLastTalked
- 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, =gUnknown_08271362
-_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, =gScriptLastTalked
- 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, =gUnknown_08271354
- 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, =gScriptLastTalked
- 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, =gUnknown_08271354
- 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, =gScriptLastTalked
- 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, =gScriptLastTalked
- 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, =gUnknown_082C8436
-_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, =gUnknown_082742E6
-_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, =gScriptResult
- movs r0, 0x1
- b _080B230A
- .pool
-_080B2300:
- ldr r1, =gUnknown_02038BF8
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gScriptResult
- 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 5cb92dbed..8253d4f98 100755..100644
--- a/asm/battle_tent.s
+++ b/asm/battle_tent.s
@@ -57,7 +57,7 @@ sub_81B99D4: @ 81B99D4
thumb_func_start sub_81B9A28
sub_81B9A28: @ 81B9A28
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000e6a
@@ -196,12 +196,12 @@ sub_81B9B28: @ 81B9B28
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081B9B76
.pool
_081B9B70:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081B9B76:
@@ -263,7 +263,7 @@ sub_81B9BA0: @ 81B9BA0
thumb_func_start sub_81B9BF4
sub_81B9BF4: @ 81B9BF4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000e6c
@@ -357,12 +357,12 @@ sub_81B9C98: @ 81B9C98
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081B9CE6
.pool
_081B9CE0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081B9CE6:
@@ -436,7 +436,7 @@ sub_81B9D28: @ 81B9D28
thumb_func_start sub_81B9D7C
sub_81B9D7C: @ 81B9D7C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000e6e
@@ -530,12 +530,12 @@ sub_81B9E20: @ 81B9E20
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081B9E6E
.pool
_081B9E68:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081B9E6E:
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 122d9d27c..d92881024 100755..100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -132,12 +132,12 @@ _08162094:
lsls r1, 24
lsrs r1, 24
bl sub_8164FCC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
strh r0, [r1]
b _081620E8
.pool
_081620A8:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r2, [r5]
ldr r0, =0x00000cdc
adds r2, r0
@@ -294,7 +294,7 @@ _081621EE:
adds r0, 0x1
strh r0, [r1]
bl sub_8163E90
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, [r5]
adds r0, r4
ldrh r0, [r0]
@@ -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
@@ -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
@@ -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]
@@ -1736,7 +1736,7 @@ _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
@@ -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,14 +3544,14 @@ _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, =gUnknown_08224158
+ ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1
bl BattleSetup_ConfigureTrainerBattle
movs r0, 0x1
strb r0, [r4]
- ldr r0, =gUnknown_08224167
+ ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1
bl BattleSetup_ConfigureTrainerBattle
ldr r0, =gPartnerTrainerId
strh r5, [r0]
@@ -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}
@@ -4714,7 +4714,7 @@ sub_8164828: @ 8164828
lsls r0, 16
lsrs r0, 16
mov r8, r0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrh r0, [r0]
subs r5, r0, 0x2
ldr r0, =gSaveBlock2Ptr
@@ -5076,7 +5076,7 @@ sub_8164B74: @ 8164B74
adds r0, r2
ldrh r6, [r0]
bl GetMultiplayerId
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x6
bls _08164BAC
@@ -5126,7 +5126,7 @@ _08164C18:
mov r1, sp
movs r2, 0x4
bl SendBlock
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _08164DB4
.pool
@@ -5204,7 +5204,7 @@ _08164CB0:
mov r4, r8
cmp r4, 0xD
ble _08164C68
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _08164DB4
.pool
@@ -5222,7 +5222,7 @@ _08164CE0:
adds r1, r3
movs r2, 0x28
bl SendBlock
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _08164DB4
.pool
@@ -5268,13 +5268,13 @@ _08164D14:
ldrb r0, [r0]
cmp r0, 0
bne _08164DB0
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
b _08164DB4
.pool
_08164D98:
bl sub_800AC34
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
b _08164DB4
.pool
@@ -5284,7 +5284,7 @@ _08164DA8:
cmp r0, 0
bne _08164DB6
_08164DB0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x6
_08164DB4:
strh r0, [r1]
@@ -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
@@ -5625,7 +5625,7 @@ sub_816502C: @ 816502C
movs r0, 0x45
mov r10, r0
_0816506A:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
mov r9, r1
movs r0, 0
strh r0, [r1]
@@ -5681,7 +5681,7 @@ _081650D4:
cmp r6, r8
blt _0816508C
_081650DC:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
beq _08165132
@@ -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,10 +5898,10 @@ _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, =gScriptResult
+ ldr r2, =gSpecialVar_Result
movs r0, 0
strh r0, [r2]
ldr r1, =gSaveBlock2Ptr
@@ -5943,7 +5943,7 @@ _081652F2:
ldr r3, =0x00000bec
adds r0, r1, r3
bl sub_816534C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_08165316:
@@ -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]
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 6d18ab7cb..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, =gUnknown_083390F4
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x2
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_083390D4
- 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, =gUnknown_083394F4
- movs r1, 0x80
- movs r2, 0x20
- bl LoadPalette
- b _0807F962
- .pool
-_0807F950:
- ldr r0, =gUnknown_08339AC0
- 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, =gUnknown_08339AD0
- bl LoadSpritePalette
- ldr r0, =gUnknown_08339AC8
- 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, =gUnknown_083399C8
- ldr r6, =gUnknown_020322A4
-_0807FBBE:
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- ldr r0, =gUnknown_08339AD8
- 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, =gUnknown_0833973A
- 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, =gUnknown_083397D0
- ldr r1, [r1, 0xC]
- bl StringCopy
- b _0807FED4
- .pool
-_0807FEC8:
- adds r0, r4, 0
- adds r0, 0x1C
- ldr r1, =gUnknown_083397D0
- 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, =gUnknown_083397D0
- 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, =gUnknown_083397D0
- 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, =gUnknown_083399C8
- ldr r6, =gUnknown_020322A4
-_08080126:
- ldrb r1, [r4]
- ldrb r2, [r4, 0x1]
- ldr r0, =gUnknown_08339AD8
- 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, =gUnknown_0833981A
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gUnknown_083399C8
- ldr r6, =gUnknown_020322A4
-_08080A0A:
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- ldr r0, =gUnknown_08339AD8
- 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, =gUnknown_083399C8
- 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, =gUnknown_08339831
- 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, =gUnknown_0833981A
- 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, =gUnknown_083398DD
- 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, =gUnknown_083398B0
-_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, =gUnknown_08339896
- 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, =gUnknown_08339858
- 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, =gUnknown_083398F5
- 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, =gUnknown_08339941
- 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, =gUnknown_08339914
- 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, =gUnknown_0833992E
- 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, =gUnknown_08339941
- 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, =gUnknown_0833993C
- 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, =gUnknown_0833991B
- 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, =gUnknown_08339921
- bl StringAppend
- adds r1, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r0, 0x9F
- ldr r1, =gUnknown_08339928
- 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, =gScriptItemId
- 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, =gUnknown_0833979D
- adds r0, r6, 0
- bl StringAppend
- ldr r1, =gUnknown_08339943
- 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, =gUnknown_0833994F
- 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, =gUnknown_0833995D
- 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, =gUnknown_08339970
- adds r0, r6, 0
- bl StringAppend
- ldr r1, =gUnknown_0833979B
- 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, =gUnknown_08339947
- 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, =gUnknown_08339941
- 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, =gUnknown_08339941
- 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, =gUnknown_0833993C
- 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_fix_program.s b/asm/berry_fix_program.s
deleted file mode 100755
index 2428f2984..000000000
--- a/asm/berry_fix_program.s
+++ /dev/null
@@ -1,8 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- .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 9622f0508..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, =gScriptItemId
- 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/birch_pc.s b/asm/birch_pc.s
new file mode 100644
index 000000000..6665d9beb
--- /dev/null
+++ b/asm/birch_pc.s
@@ -0,0 +1,234 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start ScriptGetPokedexInfo
+ScriptGetPokedexInfo: @ 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 ScriptGetPokedexInfo
+
+ thumb_func_start GetPokedexRatingText
+GetPokedexRatingText: @ 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 GetPokedexRatingText
+
+ thumb_func_start ShowPokedexRatingMessage
+ShowPokedexRatingMessage: @ 8137C10
+ push {lr}
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ bl GetPokedexRatingText
+ bl ShowFieldMessage
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end ShowPokedexRatingMessage
diff --git a/asm/cable_car.s b/asm/cable_car.s
index 092e9a75e..6fd44dd9f 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
diff --git a/asm/cable_club.s b/asm/cable_club.s
index c9f15ef47..808829c9a 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -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
@@ -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,7 +269,7 @@ 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
@@ -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
@@ -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
@@ -426,14 +426,14 @@ 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
bne _080B26EC
movs r0, 0x15
bl PlaySE
- ldr r0, =gUnknown_082780B3
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3
bl ShowFieldAutoScrollMessage
ldr r0, =sub_80B270C
b _080B26FA
@@ -441,7 +441,7 @@ sub_80B2688: @ 80B2688
_080B26EC:
movs r0, 0x16
bl PlaySE
- ldr r0, =gUnknown_08278131
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_278131
bl ShowFieldAutoScrollMessage
ldr r0, =sub_80B2918
_080B26FA:
@@ -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
@@ -544,7 +544,7 @@ sub_80B275C: @ 80B275C
movs r2, 0
movs r3, 0x1
bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082780F2
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780F2
bl ShowFieldAutoScrollMessage
mov r0, r9
subs r0, 0x8
@@ -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
@@ -597,7 +597,7 @@ sub_80B2804: @ 80B2804
cmp r0, 0
beq _080B2878
_080B2852:
- ldr r0, =gUnknown_082780B3
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3
bl ShowFieldAutoScrollMessage
ldr r1, =gTasks
lsls r0, r5, 2
@@ -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
@@ -663,7 +663,7 @@ sub_80B28A8: @ 80B28A8
b _080B2908
.pool
_080B28F4:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
adds r0, r7, 0
adds r1, r6, 0
bl sub_80B2478
@@ -703,7 +703,7 @@ sub_80B2918: @ 80B2918
bl sub_80B24F8
cmp r0, 0x1
beq _080B29E6
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
adds r0, r6, 0
adds r1, r5, 0
bl sub_80B2478
@@ -729,13 +729,13 @@ _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
+ bl GetLinkPlayerCount_2
ldr r4, =gUnknown_03005DB8
strb r0, [r4]
bl GetMultiplayerId
@@ -743,7 +743,7 @@ _080B2994:
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
@@ -791,7 +791,7 @@ sub_80B2A08: @ 80B2A08
bl sub_80B24F8
cmp r0, 0x1
beq _080B2ACE
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x4
bne _080B2A38
@@ -812,7 +812,7 @@ _080B2A42:
cmp r0, 0x9
bne _080B2A6C
_080B2A4A:
- bl sub_80097E8
+ bl CloseLink
_080B2A4E:
bl HideFieldMessageBox
ldr r0, =gTasks
@@ -825,7 +825,7 @@ _080B2A4E:
b _080B2ACE
.pool
_080B2A6C:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
ldr r4, =gUnknown_03005DB8
strb r0, [r4]
bl GetMultiplayerId
@@ -833,7 +833,7 @@ _080B2A6C:
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
@@ -964,7 +964,7 @@ task_map_chg_seq_0807EC34: @ 80B2B94
ldrh r0, [r5]
cmp r0, 0x1
bne _080B2C10
- ldr r0, =gUnknown_020229C6
+ ldr r0, =gLinkType
ldrh r2, [r0]
ldr r0, =0x00002266
cmp r2, r0
@@ -1067,7 +1067,7 @@ _080B2C7E:
movs r0, 0
bl sub_800B330
bl ResetBlockReceivedFlags
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
adds r1, r5, 0
bl task_map_chg_seq_0807EC34
_080B2C9C:
@@ -1111,7 +1111,7 @@ sub_80B2CEC: @ 80B2CEC
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
ldr r0, =gTasks
@@ -1139,7 +1139,7 @@ sub_80B2D2C: @ 80B2D2C
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x6
strh r0, [r1]
ldr r0, =gTasks
@@ -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]
@@ -1284,10 +1284,10 @@ sub_80B2E4C: @ 80B2E4C
thumb_func_start sub_80B2E74
sub_80B2E74: @ 80B2E74
push {lr}
- ldr r1, =gScriptResult
+ 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]
@@ -1353,7 +1353,7 @@ sub_80B2EE4: @ 80B2EE4
b _080B2FC6
.pool
_080B2F0C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x1
bne _080B2FA8
@@ -1415,7 +1415,7 @@ _080B2F74:
_080B2F82:
cmp r7, 0
beq _080B2FA8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xC
strh r0, [r1]
bl sub_800AD10
@@ -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,7 +1610,7 @@ sub_80B3144: @ 80B3144
ldrsh r2, [r4, r3]
cmp r2, 0
bne _080B3178
- bl sub_8009734
+ bl OpenLink
bl sub_800A2BC
ldr r0, =task00_08081A90
movs r1, 0x50
@@ -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
@@ -1808,8 +1808,8 @@ _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]
@@ -1921,8 +1921,8 @@ _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]
@@ -2296,7 +2296,7 @@ _080B3750:
beq _080B37B8
b _080B37CC
_080B375A:
- ldr r0, =gUnknown_08278091
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_278091
bl ShowFieldMessage
movs r0, 0x1
strh r0, [r5, 0x8]
@@ -2399,7 +2399,7 @@ _080B382E:
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
bl sub_8009FAC
b _080B3864
_080B3840:
@@ -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:
@@ -2548,7 +2548,7 @@ 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]
@@ -2651,7 +2651,7 @@ task00_08081A90: @ 80B3A30
lsls r0, 17
cmp r1, r0
ble _080B3A62
- bl sub_80097E8
+ bl CloseLink
ldr r0, =c2_800ACD4
bl SetMainCallback2
adds r0, r4, 0
@@ -2669,7 +2669,7 @@ _080B3A62:
lsls r0, 24
cmp r0, 0
bne _080B3A86
- bl sub_80097E8
+ bl CloseLink
ldr r0, =c2_800ACD4
bl SetMainCallback2
_080B3A86:
@@ -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
@@ -2829,7 +2829,7 @@ sub_80B3BC4: @ 80B3BC4
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 9c0684663..87abc1d06 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]
@@ -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
@@ -6313,7 +6313,7 @@ _080DAE1E:
movs r0, 0x4
b _080DAE9A
_080DAE2E:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080DAE82
@@ -6358,7 +6358,7 @@ _080DAE82:
movs r0, 0
b _080DAE9A
_080DAE86:
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
adds r2, r1, 0
ldrh r1, [r0]
movs r0, 0x2
@@ -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
@@ -6763,7 +6763,7 @@ _080DB1CC:
adds r0, r5, 0
adds r1, r7, 0
adds r2, r6, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
movs r1, 0x90
lsls r1, 1
movs r2, 0x20
@@ -8456,7 +8456,7 @@ sub_80DBED4: @ 80DBED4
adds r0, r1
ldrb r1, [r0]
lsls r1, 1
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
lsls r0, 3
adds r1, r0
@@ -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
@@ -11805,7 +11805,7 @@ sub_80DD9F0: @ 80DD9F0
ldrb r1, [r0, 0x1]
lsls r1, 29
lsrs r1, 29
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r2, [r0]
lsls r0, r2, 2
adds r0, r2
@@ -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:
@@ -14260,7 +14260,7 @@ _080DEDE6:
b _080DEF90
.pool
_080DEE00:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080DEE4C
@@ -14369,7 +14369,7 @@ _080DEEF4:
mov r2, r10
ldr r0, [r2]
adds r0, r7
- ldr r1, =gUnknown_02039F2E
+ ldr r1, =gSpecialVar_ContestRank
ldrh r1, [r1]
ldr r3, =0x00002eae
adds r0, r3
@@ -14383,7 +14383,7 @@ _080DEF02:
mov r2, r9
lsls r1, r2, 5
adds r0, r1
- ldr r1, =gScriptContestCategory
+ ldr r1, =gSpecialVar_ContestCategory
ldrh r1, [r1]
ldr r3, =0x00002e9a
adds r0, r3
@@ -14485,7 +14485,7 @@ _080DEFE6:
b _080DF03A
.pool
_080DEFF8:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080DF038
diff --git a/asm/contest_ai.s b/asm/contest_ai.s
index a213c393c..3438107eb 100644
--- a/asm/contest_ai.s
+++ b/asm/contest_ai.s
@@ -1352,7 +1352,7 @@ sub_8156CF4: @ 8156CF4
ldr r0, =gContestResources
ldr r0, [r0]
ldr r1, [r0, 0xC]
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
strh r0, [r1, 0x18]
ldr r1, =gAIScriptPtr
diff --git a/asm/contest_effect.s b/asm/contest_effect.s
index f3c234503..65a720a65 100644
--- a/asm/contest_effect.s
+++ b/asm/contest_effect.s
@@ -2590,7 +2590,7 @@ ContestEffectFunc_080E6778: @ 80E6778
adds r0, r3
ldrb r0, [r0, 0x1]
lsls r0, 29
- ldr r1, =gScriptContestCategory
+ ldr r1, =gSpecialVar_ContestCategory
lsrs r0, 29
ldrh r1, [r1]
cmp r0, r1
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index e6d30b7cb..e73c657a9 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
@@ -548,7 +548,7 @@ _080F5D2A:
movs r0, 0x8
strh r0, [r1]
bl InterviewBefore
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x1
beq _080F5D58
@@ -556,7 +556,7 @@ _080F5D2A:
_080F5D58:
movs r0, 0x2
bl sub_813BADC
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrb r0, [r0]
bl sub_80DEDA8
movs r0, 0xFE
@@ -673,7 +673,7 @@ _080F5E78:
movs r0, 0x25
bl IncrementGameStat
_080F5E92:
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrb r0, [r0]
bl sub_80DEDA8
movs r0, 0xFE
@@ -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}
@@ -2972,7 +2972,7 @@ sub_80F71C8: @ 80F71C8
b _080F7240
.pool
_080F71F8:
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r2, [r0]
cmp r2, 0
bne _080F720C
@@ -3008,7 +3008,7 @@ _080F7236:
bl CopyToBgTilemapBufferRect
movs r5, 0xF
_080F7240:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0
bne _080F725C
@@ -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
@@ -4640,15 +4640,15 @@ sub_80F7F30: @ 80F7F30
adds r5, r0, 0
cmp r5, 0
beq _080F7F5E
- ldr r4, =gScriptContestCategory
+ ldr r4, =gSpecialVar_ContestCategory
ldrb r0, [r4]
- ldr r1, =gUnknown_02039F2E
+ ldr r1, =gSpecialVar_ContestRank
ldrb r1, [r1]
bl sub_80DAB8C
ldrb r0, [r4]
bl sub_80DB09C
_080F7F5E:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
pop {r4,r5}
pop {r0}
@@ -4666,7 +4666,7 @@ sub_80F7F7C: @ 80F7F7C
muls r1, r0
ldr r0, =gPlayerParty
adds r2, r1, r0
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080F7FEE
@@ -4704,7 +4704,7 @@ _080F7FDC:
movs r1, 0x36
_080F7FE0:
bl GetMonData
- ldr r1, =gUnknown_02039F2E
+ ldr r1, =gSpecialVar_ContestRank
ldrh r1, [r1]
cmp r0, r1
bls _080F7FEE
@@ -4730,7 +4730,7 @@ sub_80F7FFC: @ 80F7FFC
beq _080F8010
b _080F8250
_080F8010:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bls _080F801A
@@ -4762,7 +4762,7 @@ _080F8048:
lsrs r1, r0, 24
mov r0, sp
strb r1, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r1, r0
bls _080F806C
@@ -4812,7 +4812,7 @@ _080F80B8:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bls _080F80DC
@@ -4861,7 +4861,7 @@ _080F8124:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bls _080F8148
@@ -4908,7 +4908,7 @@ _080F8190:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bhi _080F8250
@@ -4951,7 +4951,7 @@ _080F81F8:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bhi _080F8250
@@ -5488,7 +5488,7 @@ _080F8678:
bl sub_80F86E0
ldr r1, =gUnknown_02039F2B
strb r0, [r1]
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrb r0, [r0]
bl sub_80DB09C
ldr r1, =sub_80FCF40
diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s
index f1e2019da..ba96bf4ea 100644
--- a/asm/contest_link_80FC4F4.s
+++ b/asm/contest_link_80FC4F4.s
@@ -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 5f9c25d7c..12eb159f7 100755..100644
--- a/asm/contest_link_81D9DE4.s
+++ b/asm/contest_link_81D9DE4.s
@@ -370,7 +370,7 @@ sub_81DA10C: @ 81DA10C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrb r0, [r0]
bl sub_80DB09C
ldr r1, =sub_80FCF40
diff --git a/asm/contest_painting.s b/asm/contest_painting.s
index 2caf15194..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]
@@ -572,7 +572,7 @@ sub_81302E8: @ 81302E8
ldr r1, [r0, 0x4]
ldr r2, [r0]
adds r0, r5, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
ldr r7, =gUnknown_030061C4
ldr r1, [r7]
bl LZDecompressVram
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
index 0b2da16b8..a8a665b06 100644
--- a/asm/credits.s
+++ b/asm/credits.s
@@ -26,7 +26,7 @@ sub_81754DC: @ 81754DC
ands r0, r1
cmp r0, 0
beq _08175522
- ldr r0, =gUnknown_0203BCE4
+ ldr r0, =gHasHallOfFameRecords
ldrb r0, [r0]
cmp r0, 0
beq _08175522
@@ -149,7 +149,7 @@ _081755E4:
movs r0, 0
movs r1, 0x1
adds r3, r5, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x18
pop {r4,r5}
pop {r0}
@@ -3675,7 +3675,7 @@ sub_8177388: @ 8177388
bl VarGet
lsls r0, 16
lsrs r0, 16
- bl sub_8133EDC
+ bl GetStarterPokemon
lsls r0, 16
lsrs r0, 16
bl SpeciesToNationalPokedexNum
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/daycare.s b/asm/daycare.s
deleted file mode 100644
index 065911df8..000000000
--- a/asm/daycare.s
+++ /dev/null
@@ -1,3193 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetMonNick
-GetMonNick: @ 806FA2C
- push {r4,lr}
- sub sp, 0x14
- adds r4, r1, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy10
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonNick
-
- thumb_func_start GetBoxMonNick
-GetBoxMonNick: @ 806FA4C
- push {r4,lr}
- sub sp, 0x14
- adds r4, r1, 0
- movs r1, 0x2
- mov r2, sp
- bl GetBoxMonData
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy10
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetBoxMonNick
-
- thumb_func_start daycare_count_pokemon
-daycare_count_pokemon: @ 806FA6C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r4, 0
-_0806FA74:
- movs r0, 0x8C
- muls r0, r4
- adds r0, r6, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _0806FA8A
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0806FA8A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0806FA74
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end daycare_count_pokemon
-
- thumb_func_start sub_806FA9C
-sub_806FA9C: @ 806FA9C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- mov r10, r1
- movs r7, 0
- movs r5, 0
- mov r6, r10
- adds r6, 0x74
- movs r0, 0x1
- mov r8, r0
-_0806FAB6:
- movs r0, 0x8C
- muls r0, r5
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _0806FAE4
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r4, 0
- movs r1, 0xC
- bl GetBoxMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _0806FAE4
- lsls r0, r5, 1
- adds r0, r6, r0
- b _0806FAEA
-_0806FAE4:
- lsls r0, r5, 1
- adds r0, r6, r0
- mov r1, r8
-_0806FAEA:
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0806FAB6
- mov r0, r10
- str r7, [r0, 0x70]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806FA9C
-
- thumb_func_start daycare_empty_slot
-@ u8 daycare_empty_slot(struct daycare_mon *dayCareMons)
-daycare_empty_slot: @ 806FB08
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_0806FB0E:
- movs r0, 0x8C
- muls r0, r4
- adds r0, r5, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _0806FB24
- lsls r0, r4, 24
- asrs r0, 24
- b _0806FB32
-_0806FB24:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0806FB0E
- movs r0, 0x1
- negs r0, r0
-_0806FB32:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end daycare_empty_slot
-
- thumb_func_start sub_806FB38
-@ void sub_806FB38(struct pokemon *mon, struct daycare_mon *dayCareMon)
-sub_806FB38: @ 806FB38
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_80D43F0
- lsls r0, 24
- cmp r0, 0
- beq _0806FBBC
- adds r0, r5, 0
- adds r0, 0x74
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- adds r4, r5, 0
- adds r4, 0x7C
- adds r0, r6, 0
- adds r1, r4, 0
- bl GetMonNick
- adds r0, r4, 0
- bl StripExtCtrlCodes
- adds r4, 0xB
- ldrb r1, [r4]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- adds r0, r6, 0
- movs r1, 0x3
- bl GetMonData
- lsls r0, 4
- ldrb r2, [r4]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r4]
- adds r0, r6, 0
- movs r1, 0x40
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x50
- ldr r2, =0x00002be0
- adds r1, r2
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- adds r0, r6, 0
- bl sub_80D4680
-_0806FBBC:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x50
- bl memcpy
- adds r0, r5, 0
- bl BoxMonRestorePP
- adds r1, r5, 0
- adds r1, 0x88
- movs r0, 0
- str r0, [r1]
- adds r0, r6, 0
- bl ZeroMonData
- bl party_compaction
- bl CalculatePlayerPartyCount
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_806FB38
-
- thumb_func_start daycare_send
-@ void daycare_send(struct pokemon *mon, struct daycare_mon *dayCareMons)
-daycare_send: @ 806FBF4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl daycare_empty_slot
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x8C
- muls r0, r1
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_806FB38
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end daycare_send
-
- thumb_func_start daycare_send_selected_pokemon
-daycare_send_selected_pokemon: @ 806FC18
- push {lr}
- bl brm_get_pokemon_selection
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x00003030
- adds r1, r2
- bl daycare_send
- pop {r0}
- bx r0
- .pool
- thumb_func_end daycare_send_selected_pokemon
-
- thumb_func_start sub_806FC48
-sub_806FC48: @ 806FC48
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x8C
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _0806FC9E
- adds r0, r5, 0
- movs r1, 0xB
- bl GetBoxMonData
- adds r6, r0, 0
- cmp r6, 0
- bne _0806FC9E
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x50
- bl memcpy
- adds r0, r4, 0
- bl ZeroBoxMonData
- adds r4, 0x50
- adds r0, r5, 0
- adds r0, 0x50
- adds r1, r4, 0
- movs r2, 0x38
- bl memcpy
- adds r2, r5, 0
- adds r2, 0x88
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r5, r0
- ldr r0, [r1]
- str r0, [r2]
- str r6, [r1]
- adds r0, r4, 0
- bl sub_806FF80
-_0806FC9E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806FC48
-
- thumb_func_start sub_806FCA4
-sub_806FCA4: @ 806FCA4
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
- ldr r7, =0x0000ffff
-_0806FCAC:
- adds r0, r4, 0
- bl TryIncrementMonLevel
- lsls r0, 24
- cmp r0, 0
- beq _0806FCE8
- movs r6, 0x1
- adds r5, 0x1
- b _0806FCD4
- .pool
-_0806FCC4:
- movs r6, 0
- cmp r0, r7
- bne _0806FCD4
- ldr r0, =gMoveToLearn
- ldrh r1, [r0]
- adds r0, r4, 0
- bl DeleteFirstMoveAndGiveMoveToMon
-_0806FCD4:
- adds r0, r4, 0
- adds r1, r6, 0
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0806FCC4
- cmp r5, 0x63
- ble _0806FCAC
-_0806FCE8:
- adds r0, r4, 0
- bl CalculateMonStats
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_806FCA4
-
- thumb_func_start sub_806FCF8
-sub_806FCF8: @ 806FCF8
- push {r4-r7,lr}
- sub sp, 0x68
- adds r5, r0, 0
- ldr r1, =gStringVar1
- bl GetBoxMonNick
- adds r0, r5, 0
- movs r1, 0xB
- bl GetBoxMonData
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r5, 0
- mov r1, sp
- bl sub_8069004
- mov r0, sp
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x64
- beq _0806FD46
- mov r0, sp
- movs r1, 0x19
- bl GetMonData
- adds r1, r5, 0
- adds r1, 0x88
- ldr r1, [r1]
- adds r0, r1
- str r0, [sp, 0x64]
- add r2, sp, 0x64
- mov r0, sp
- movs r1, 0x19
- bl SetMonData
- mov r0, sp
- bl sub_806FCA4
-_0806FD46:
- ldr r0, =gPlayerParty
- movs r1, 0xFA
- lsls r1, 1
- adds r6, r0, r1
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- adds r0, 0x70
- ldrh r0, [r0]
- cmp r0, 0
- beq _0806FD74
- adds r4, r5, 0
- adds r4, 0x50
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80D460C
- adds r0, r4, 0
- bl sub_806FF80
-_0806FD74:
- adds r0, r5, 0
- bl ZeroBoxMonData
- adds r1, r5, 0
- adds r1, 0x88
- movs r0, 0
- str r0, [r1]
- bl party_compaction
- bl CalculatePlayerPartyCount
- adds r0, r7, 0
- add sp, 0x68
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806FCF8
-
- thumb_func_start sub_806FD9C
-sub_806FD9C: @ 806FD9C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x8C
- muls r0, r1
- adds r0, r5, r0
- bl sub_806FCF8
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl sub_806FC48
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806FD9C
-
- thumb_func_start sub_806FDC4
-sub_806FDC4: @ 806FDC4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- ldr r1, =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_806FD9C
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806FDC4
-
- thumb_func_start sub_806FDEC
-sub_806FDEC: @ 806FDEC
- push {r4,r5,lr}
- sub sp, 0x54
- adds r4, r0, 0
- adds r5, r1, 0
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x50
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x19
- bl GetBoxMonData
- adds r0, r5
- str r0, [sp, 0x50]
- add r2, sp, 0x50
- mov r0, sp
- movs r1, 0x19
- bl SetBoxMonData
- mov r0, sp
- bl GetLevelFromBoxMonExp
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x54
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806FDEC
-
- thumb_func_start sub_806FE28
-sub_806FE28: @ 806FE28
- push {r4,r5,lr}
- adds r5, r0, 0
- bl GetLevelFromBoxMonExp
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r0, 0x88
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_806FDEC
- lsls r0, 24
- lsrs r0, 24
- subs r0, r4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806FE28
-
- thumb_func_start sub_806FE54
-sub_806FE54: @ 806FE54
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_806FE28
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetBoxMonNick
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806FE54
-
- thumb_func_start sub_806FE88
-sub_806FE88: @ 806FE88
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_806FE28
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetBoxMonNick
- movs r0, 0x64
- muls r4, r0
- adds r4, 0x64
- ldr r0, =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806FE88
-
- thumb_func_start sub_806FEC0
-sub_806FEC0: @ 806FEC0
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x8C
- muls r1, r2
- adds r0, r1
- bl sub_806FE88
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_806FEC0
-
- thumb_func_start sub_806FED8
-sub_806FED8: @ 806FED8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- ldr r1, =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_806FEC0
- ldr r1, =gSpecialVar_0x8005
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_806FED8
-
- thumb_func_start sub_806FF04
-sub_806FF04: @ 806FF04
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldr r1, =0x000030b8
- adds r3, r2, r1
- ldr r1, [r3]
- adds r1, r0
- str r1, [r3]
- ldr r1, =0x00003144
- adds r2, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r2]
- bx lr
- .pool
- thumb_func_end sub_806FF04
-
- thumb_func_start sub_806FF30
-sub_806FF30: @ 806FF30
- push {r4-r6,lr}
- ldr r6, =gSaveBlock1Ptr
- ldr r5, =gSpecialVar_0x8004
- ldrh r0, [r5]
- movs r4, 0x8C
- adds r1, r0, 0
- muls r1, r4
- ldr r0, =0x00003030
- adds r1, r0
- ldr r0, [r6]
- adds r0, r1
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _0806FF60
- movs r0, 0
- b _0806FF76
- .pool
-_0806FF60:
- ldrh r0, [r5]
- adds r1, r0, 0
- muls r1, r4
- ldr r0, =0x00003030
- adds r1, r0
- ldr r0, [r6]
- adds r0, r1
- bl sub_806FE54
- lsls r0, 24
- lsrs r0, 24
-_0806FF76:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806FF30
-
- thumb_func_start sub_806FF80
-sub_806FF80: @ 806FF80
- push {lr}
- movs r3, 0
- movs r2, 0x7
- adds r1, r0, 0
- adds r1, 0x2B
-_0806FF8A:
- strb r3, [r1]
- subs r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _0806FF8A
- adds r2, r0, 0
- adds r2, 0x2C
- movs r3, 0
- adds r1, r0, 0
- adds r1, 0x36
-_0806FF9E:
- strb r3, [r1]
- subs r1, 0x1
- cmp r1, r2
- bge _0806FF9E
- bl sub_80D439C
- pop {r0}
- bx r0
- thumb_func_end sub_806FF80
-
- thumb_func_start sub_806FFB0
-sub_806FFB0: @ 806FFB0
- push {r4,lr}
- adds r4, r0, 0
- bl ZeroBoxMonData
- adds r1, r4, 0
- adds r1, 0x88
- movs r0, 0
- str r0, [r1]
- adds r4, 0x50
- adds r0, r4, 0
- bl sub_806FF80
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806FFB0
-
- thumb_func_start sub_806FFD0
-sub_806FFD0: @ 806FFD0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- movs r6, 0x8C
-_0806FFD8:
- adds r0, r4, 0
- muls r0, r6
- adds r0, r5, r0
- bl sub_806FFB0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0806FFD8
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r5, r1
- movs r1, 0
- str r1, [r0]
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r5, r2
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806FFD0
-
- thumb_func_start sub_8070004
-sub_8070004: @ 8070004
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0
- mov r8, r0
- ldr r0, =gEvolutionTable
- mov r12, r0
-_08070016:
- movs r7, 0
- movs r6, 0x1
- movs r4, 0x80
- lsls r4, 9
- movs r5, 0x28
- mov r3, r12
- adds r3, 0x28
-_08070024:
- movs r1, 0
- ldrh r0, [r3, 0x4]
- cmp r0, r2
- bne _08070034
- lsrs r2, r4, 16
- b _08070060
- .pool
-_08070034:
- adds r1, 0x1
- cmp r1, 0x4
- bgt _0807004A
- lsls r0, r1, 3
- adds r0, r5
- add r0, r12
- ldrh r0, [r0, 0x4]
- cmp r0, r2
- bne _08070034
- lsrs r2, r4, 16
- movs r7, 0x1
-_0807004A:
- cmp r7, 0
- bne _08070060
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r5, 0x28
- adds r3, 0x28
- adds r6, 0x1
- ldr r0, =0x0000019b
- cmp r6, r0
- ble _08070024
-_08070060:
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- beq _08070072
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x4
- ble _08070016
-_08070072:
- adds r0, r2, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8070004
-
- thumb_func_start sub_8070084
-sub_8070084: @ 8070084
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r7, 0x1
- negs r7, r7
- movs r4, 0
-_08070090:
- movs r0, 0x8C
- muls r0, r4
- adds r0, r6, r0
- bl GetBoxMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFE
- bne _080700A4
- adds r7, r4, 0
-_080700A4:
- adds r4, 0x1
- cmp r4, 0x1
- ble _08070090
- movs r5, 0
- movs r4, 0
-_080700AE:
- movs r0, 0x8C
- muls r0, r4
- adds r0, r6, r0
- movs r1, 0xB
- bl GetBoxMonData
- lsls r1, r4, 2
- add r1, sp
- str r0, [r1]
- cmp r0, 0x84
- bne _080700C8
- adds r5, 0x1
- adds r7, r4, 0
-_080700C8:
- adds r4, 0x1
- cmp r4, 0x1
- ble _080700AE
- cmp r5, 0x2
- bne _080700E2
- bl Random
- lsls r0, 16
- ldr r1, =0x7ffe0000
- movs r7, 0x1
- cmp r0, r1
- bls _080700E2
- movs r7, 0
-_080700E2:
- movs r0, 0x8C
- muls r0, r7
- adds r0, r6, r0
- movs r1, 0xC
- bl GetBoxMonData
- cmp r0, 0xC3
- bne _080700FE
- bl Random
- lsls r0, 16
- ldr r1, =0x7ffe0000
- cmp r0, r1
- bls _08070108
-_080700FE:
- movs r0, 0x1
- negs r0, r0
- b _0807010A
- .pool
-_08070108:
- adds r0, r7, 0
-_0807010A:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8070084
-
- thumb_func_start sub_8070114
-sub_8070114: @ 8070114
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r6, 0
- ldr r0, =gMain
- ldrh r0, [r0, 0x24]
- bl SeedRng2
- adds r0, r5, 0
- bl sub_8070084
- adds r1, r0, 0
- cmp r1, 0
- bge _08070160
- bl Random2
- adds r4, r0, 0
- bl Random
- movs r1, 0x8C
- lsls r1, 1
- adds r5, r1
- lsls r4, 16
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000fffe
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0x1
- orrs r4, r0
- str r4, [r5]
- b _080701AC
- .pool
-_08070160:
- movs r0, 0x8C
- muls r0, r1
- adds r0, r5, r0
- movs r1, 0
- movs r2, 0
- bl GetBoxMonData
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r7, r0, 24
-_08070176:
- bl Random2
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsls r0, 16
- lsrs r0, 16
- orrs r4, r0
- adds r0, r4, 0
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r7, r0
- bne _0807019A
- cmp r4, 0
- bne _080701A4
-_0807019A:
- adds r6, 0x1
- movs r0, 0x96
- lsls r0, 4
- cmp r6, r0
- ble _08070176
-_080701A4:
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r5, r1
- str r4, [r0]
-_080701AC:
- movs r0, 0x86
- bl FlagSet
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8070114
-
- thumb_func_start sub_80701B8
-sub_80701B8: @ 80701B8
- push {r4,lr}
- adds r4, r0, 0
- bl Random
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r1
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [r4]
- movs r0, 0x86
- bl FlagSet
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80701B8
-
- thumb_func_start sub_80701E0
-sub_80701E0: @ 80701E0
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl sub_8070114
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80701E0
-
- thumb_func_start sub_80701FC
-sub_80701FC: @ 80701FC
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl sub_80701B8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80701FC
-
- thumb_func_start sub_8070218
-sub_8070218: @ 8070218
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r1, r4, r1
- movs r0, 0xFF
- strb r0, [r1]
- movs r2, 0
-_0807022A:
- mov r1, sp
- adds r0, r1, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x5
- ble _0807022A
- movs r3, 0
- movs r2, 0
-_0807023E:
- mov r1, sp
- adds r0, r1, r2
- ldrb r1, [r0]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _08070250
- adds r0, r4, r3
- strb r1, [r0]
- adds r3, 0x1
-_08070250:
- adds r2, 0x1
- cmp r2, 0x5
- ble _0807023E
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8070218
-
- thumb_func_start sub_8070260
-sub_8070260: @ 8070260
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r9, r0
- mov r8, r1
- movs r5, 0
- add r1, sp, 0x4
- add r7, sp, 0xC
- adds r2, r1, 0
-_08070276:
- adds r0, r2, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08070276
- movs r5, 0
- adds r6, r1, 0
-_08070288:
- bl Random
- mov r1, sp
- adds r4, r1, r5
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- subs r1, r5
- bl __modsi3
- adds r0, r6, r0
- ldrb r0, [r0]
- strb r0, [r4]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8070218
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _08070288
- movs r5, 0
- movs r4, 0x1
-_080702B8:
- bl Random
- adds r1, r7, r5
- lsls r0, 16
- lsrs r0, 16
- ands r0, r4
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080702B8
- movs r5, 0
-_080702D2:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _080703AE
- lsls r0, 2
- ldr r1, =_080702EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080702EC:
- .4byte _08070304
- .4byte _08070322
- .4byte _0807033C
- .4byte _08070356
- .4byte _08070370
- .4byte _08070390
-_08070304:
- adds r0, r7, r5
- ldrb r1, [r0]
- movs r0, 0x8C
- muls r0, r1
- add r0, r8
- movs r1, 0x27
- bl GetBoxMonData
- add r2, sp, 0x10
- strb r0, [r2]
- mov r0, r9
- movs r1, 0x27
- bl SetMonData
- b _080703AE
-_08070322:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- movs r0, 0x8C
- muls r0, r1
- add r0, r8
- movs r1, 0x28
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x28
- b _08070388
-_0807033C:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- movs r0, 0x8C
- muls r0, r1
- add r0, r8
- movs r1, 0x29
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x29
- b _08070388
-_08070356:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- movs r0, 0x8C
- muls r0, r1
- add r0, r8
- movs r1, 0x2A
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x2A
- b _08070388
-_08070370:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- movs r0, 0x8C
- muls r0, r1
- add r0, r8
- movs r1, 0x2B
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x2B
-_08070388:
- adds r2, r4, 0
- bl SetMonData
- b _080703AE
-_08070390:
- add r4, sp, 0x10
- adds r0, r7, r5
- ldrb r1, [r0]
- movs r0, 0x8C
- muls r0, r1
- add r0, r8
- movs r1, 0x2C
- bl GetBoxMonData
- strb r0, [r4]
- mov r0, r9
- movs r1, 0x2C
- adds r2, r4, 0
- bl SetMonData
-_080703AE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080702D2
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8070260
-
- thumb_func_start pokemon_get_eggmoves
-pokemon_get_eggmoves: @ 80703C8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- movs r6, 0
- movs r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r5, =gEggMoves
- ldrh r1, [r5]
- ldr r7, =0x00004e20
- adds r0, r3, r7
- cmp r1, r0
- bne _080703F8
- movs r4, 0x1
- b _0807041A
- .pool
-_080703F8:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x00000471
- ldr r5, =gEggMoves
- cmp r2, r0
- bhi _0807041A
- lsls r0, r2, 1
- adds r0, r5
- ldrh r1, [r0]
- ldr r7, =0x00004e20
- adds r0, r3, r7
- cmp r1, r0
- bne _080703F8
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_0807041A:
- movs r2, 0
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- ldr r1, =0x00004e20
- cmp r0, r1
- bhi _08070456
- adds r7, r5, 0
- adds r3, r1, 0
-_0807042C:
- lsls r1, r2, 1
- add r1, r8
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bhi _08070456
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r3
- bls _0807042C
-_08070456:
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end pokemon_get_eggmoves
-
- thumb_func_start daycare_build_child_moveset
-daycare_build_child_moveset: @ 8070470
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r7, r0, 0
- mov r10, r1
- mov r9, r2
- movs r0, 0
- str r0, [sp]
- movs r6, 0
- ldr r5, =gUnknown_02024A4C
- movs r2, 0
- ldr r4, =gUnknown_02024A28
- ldr r3, =gUnknown_02024A30
-_08070490:
- lsls r1, r6, 1
- adds r0, r1, r5
- strh r2, [r0]
- adds r0, r1, r4
- strh r2, [r0]
- adds r1, r3
- strh r2, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08070490
- movs r6, 0
- ldr r2, =gUnknown_02024A38
- movs r1, 0
-_080704AE:
- lsls r0, r6, 1
- adds r0, r2
- strh r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x9
- bls _080704AE
- movs r6, 0
- ldr r2, =gUnknown_020249C4
- movs r1, 0
-_080704C4:
- lsls r0, r6, 1
- adds r0, r2
- strh r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x31
- bls _080704C4
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gUnknown_020249C4
- bl GetLevelUpMovesBySpecies
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r6, 0
- ldr r1, =gUnknown_02024A28
- mov r8, r1
-_080704F2:
- adds r5, r6, 0
- adds r5, 0xD
- mov r0, r10
- adds r1, r5, 0
- bl GetBoxMonData
- lsls r4, r6, 1
- mov r2, r8
- adds r1, r4, r2
- strh r0, [r1]
- mov r0, r9
- adds r1, r5, 0
- bl GetBoxMonData
- ldr r1, =gUnknown_02024A4C
- adds r4, r1
- strh r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _080704F2
- ldr r1, =gUnknown_02024A38
- adds r0, r7, 0
- bl pokemon_get_eggmoves
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r6, 0
-_0807052E:
- ldr r0, =gUnknown_02024A28
- lsls r1, r6, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- mov r9, r0
- cmp r1, 0
- beq _080705A4
- movs r5, 0
- cmp r5, r8
- bcs _08070596
- adds r4, r2, 0
- ldr r2, =0x0000ffff
-_08070546:
- ldr r0, =gUnknown_02024A38
- lsls r1, r5, 1
- adds r1, r0
- ldrh r0, [r4]
- ldrh r1, [r1]
- cmp r0, r1
- bne _0807058C
- adds r1, r0, 0
- adds r0, r7, 0
- str r2, [sp, 0x8]
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- ldr r2, [sp, 0x8]
- cmp r0, r2
- bne _08070596
- ldrh r1, [r4]
- adds r0, r7, 0
- bl DeleteFirstMoveAndGiveMoveToMon
- b _08070596
- .pool
-_0807058C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _08070546
-_08070596:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, =gUnknown_02024A28
- mov r9, r3
- cmp r6, 0x3
- bls _0807052E
-_080705A4:
- movs r6, 0
-_080705A6:
- lsls r0, r6, 1
- mov r2, r9
- adds r1, r0, r2
- ldrh r1, [r1]
- adds r2, r0, 0
- adds r6, 0x1
- mov r8, r6
- cmp r1, 0
- beq _08070608
- movs r5, 0
- ldr r0, =gUnknown_02024A28
- adds r4, r2, r0
- ldr r6, =0x0000ffff
- mov r9, r0
-_080705C2:
- ldr r3, =0x00000121
- adds r0, r5, r3
- lsls r0, 16
- lsrs r0, 16
- bl ItemIdToBattleMoveId
- ldrh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bne _080705FE
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl CanMonLearnTMHM
- cmp r0, 0
- beq _080705FE
- ldrh r1, [r4]
- adds r0, r7, 0
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bne _080705FE
- ldrh r1, [r4]
- adds r0, r7, 0
- bl DeleteFirstMoveAndGiveMoveToMon
-_080705FE:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x39
- bls _080705C2
-_08070608:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _080705A6
- movs r6, 0
- mov r2, r9
- ldrh r0, [r2]
- ldr r3, =gUnknown_02024A30
- mov r10, r3
- cmp r0, 0
- beq _08070672
- mov r4, r9
- ldr r0, =gUnknown_02024A4C
- mov r9, r0
- mov r12, r10
-_08070628:
- movs r5, 0
- lsls r2, r6, 1
- adds r6, 0x1
- mov r8, r6
- adds r3, r2, r4
-_08070632:
- lsls r0, r5, 1
- add r0, r9
- ldrh r2, [r3]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bne _08070654
- cmp r1, 0
- beq _08070654
- ldr r1, [sp]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 1
- add r1, r12
- strh r2, [r1]
-_08070654:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _08070632
- mov r1, r8
- lsls r0, r1, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bhi _08070672
- lsls r0, r6, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08070628
-_08070672:
- movs r6, 0
- mov r2, r10
- ldrh r0, [r2]
- cmp r0, 0
- beq _080706FC
-_0807067C:
- movs r5, 0
- adds r3, r6, 0x1
- mov r8, r3
- ldr r0, [sp, 0x4]
- cmp r5, r0
- bcs _080706E4
- ldr r2, =0x0000ffff
-_0807068A:
- ldr r1, =gUnknown_020249C4
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, 0
- beq _080706D8
- lsls r0, r6, 1
- mov r3, r10
- adds r4, r0, r3
- ldrh r0, [r4]
- cmp r0, r1
- bne _080706D8
- adds r1, r0, 0
- adds r0, r7, 0
- str r2, [sp, 0x8]
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- ldr r2, [sp, 0x8]
- cmp r0, r2
- bne _080706E4
- ldrh r1, [r4]
- adds r0, r7, 0
- bl DeleteFirstMoveAndGiveMoveToMon
- b _080706E4
- .pool
-_080706D8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [sp, 0x4]
- cmp r5, r0
- bcc _0807068A
-_080706E4:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bhi _080706FC
- ldr r0, =gUnknown_02024A30
- lsls r1, r6, 1
- adds r1, r0
- ldrh r1, [r1]
- mov r10, r0
- cmp r1, 0
- bne _0807067C
-_080706FC:
- 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 daycare_build_child_moveset
-
- thumb_func_start sub_8070710
-sub_8070710: @ 8070710
- adds r2, r0, 0
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r2, r1
- movs r1, 0
- str r1, [r0]
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r2, r3
- strb r1, [r0]
- bx lr
- thumb_func_end sub_8070710
-
- thumb_func_start sub_8070728
-sub_8070728: @ 8070728
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl sub_8070710
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8070728
-
- thumb_func_start incense_effects
-incense_effects: @ 8070744
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrh r1, [r4]
- movs r7, 0xB4
- lsls r7, 1
- cmp r1, r7
- beq _0807075C
- movs r0, 0xAF
- lsls r0, 1
- cmp r1, r0
- bne _0807079E
-_0807075C:
- adds r0, r5, 0
- movs r1, 0xC
- bl GetBoxMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r0, 0x8C
- movs r1, 0xC
- bl GetBoxMonData
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r4]
- cmp r0, r7
- bne _08070788
- cmp r6, 0xDD
- beq _08070788
- cmp r2, 0xDD
- beq _08070788
- movs r0, 0xCA
- strh r0, [r4]
-_08070788:
- ldrh r1, [r4]
- movs r0, 0xAF
- lsls r0, 1
- cmp r1, r0
- bne _0807079E
- cmp r6, 0xDC
- beq _0807079E
- cmp r2, 0xDC
- beq _0807079E
- movs r0, 0xB7
- strh r0, [r4]
-_0807079E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end incense_effects
-
- thumb_func_start sub_80707A4
-sub_80707A4: @ 80707A4
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0xC
- bl GetBoxMonData
- adds r5, r0, 0
- adds r4, 0x8C
- adds r0, r4, 0
- movs r1, 0xC
- bl GetBoxMonData
- cmp r5, 0xCA
- beq _080707C6
- cmp r0, 0xCA
- bne _080707E2
-_080707C6:
- movs r4, 0xAC
- lsls r4, 1
- adds r0, r6, 0
- adds r1, r4, 0
- bl GiveMoveToMon
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _080707E2
- adds r0, r6, 0
- adds r1, r4, 0
- bl DeleteFirstMoveAndGiveMoveToMon
-_080707E2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80707A4
-
- thumb_func_start sub_80707EC
-sub_80707EC: @ 80707EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- adds r6, r1, 0
- movs r4, 0
- movs r0, 0x1
- mov r8, r0
-_080707FE:
- movs r0, 0x8C
- muls r0, r4
- adds r5, r7, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetBoxMonData
- lsls r1, r4, 1
- add r1, sp
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x84
- bne _08070826
- adds r0, r4, 0
- mov r1, r8
- eors r0, r1
- strb r0, [r6]
- strb r4, [r6, 0x1]
- b _0807083E
-_08070826:
- adds r0, r5, 0
- bl GetBoxMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFE
- bne _0807083E
- strb r4, [r6]
- adds r0, r4, 0
- mov r1, r8
- eors r0, r1
- strb r0, [r6, 0x1]
-_0807083E:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080707FE
- ldrb r0, [r6]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- bl sub_8070004
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bne _08070870
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _08070870
- movs r4, 0x20
-_08070870:
- ldr r0, =0x00000183
- cmp r4, r0
- bne _0807088C
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0807088C
- movs r4, 0xC1
- lsls r4, 1
-_0807088C:
- ldrb r0, [r6, 0x1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- cmp r0, 0x84
- bne _080708B4
- ldrb r1, [r6]
- movs r0, 0x8C
- muls r0, r1
- adds r0, r7, r0
- bl GetBoxMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFE
- beq _080708B4
- ldrb r1, [r6, 0x1]
- ldrb r0, [r6]
- strb r0, [r6, 0x1]
- strb r1, [r6]
-_080708B4:
- adds r0, r4, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80707EC
-
- thumb_func_start sub_80708C8
-sub_80708C8: @ 80708C8
- push {r4-r6,lr}
- sub sp, 0x6C
- adds r6, r0, 0
- add r5, sp, 0x64
- adds r1, r5, 0
- bl sub_80707EC
- add r4, sp, 0x68
- strh r0, [r4]
- adds r0, r4, 0
- adds r1, r6, 0
- bl incense_effects
- ldrh r1, [r4]
- mov r0, sp
- adds r2, r6, 0
- bl sub_8070A0C
- mov r0, sp
- adds r1, r6, 0
- bl sub_8070260
- ldrb r0, [r5, 0x1]
- movs r2, 0x8C
- adds r1, r0, 0
- muls r1, r2
- adds r1, r6, r1
- ldrb r0, [r5]
- muls r2, r0
- adds r2, r6, r2
- mov r0, sp
- bl daycare_build_child_moveset
- ldrh r0, [r4]
- cmp r0, 0xAC
- bne _08070918
- mov r0, sp
- adds r1, r6, 0
- bl sub_80707A4
-_08070918:
- mov r2, sp
- adds r2, 0x6A
- movs r0, 0x1
- strb r0, [r2]
- mov r0, sp
- movs r1, 0x2D
- bl SetMonData
- ldr r0, =gPlayerParty
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1
- mov r1, sp
- movs r2, 0x64
- bl memcpy
- bl party_compaction
- bl CalculatePlayerPartyCount
- adds r0, r6, 0
- bl sub_8070710
- add sp, 0x6C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80708C8
-
- thumb_func_start sub_8070954
-sub_8070954: @ 8070954
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- adds r7, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r1, r5, 0
- movs r2, 0x5
- movs r3, 0x20
- bl CreateMon
- movs r0, 0x12
- add r0, sp
- mov r8, r0
- strb r4, [r0]
- movs r1, 0x4
- add r0, sp, 0x10
- strh r1, [r0]
- mov r4, sp
- adds r4, 0x13
- movs r0, 0x1
- mov r9, r0
- mov r0, r9
- strb r0, [r4]
- adds r0, r7, 0
- movs r1, 0x26
- add r2, sp, 0x10
- bl SetMonData
- ldr r2, =gEggName
- adds r0, r7, 0
- movs r1, 0x2
- bl SetMonData
- lsls r2, r5, 3
- subs r2, r5
- lsls r2, 2
- ldr r0, =gBaseStats + 0x11 @ egg cycles offset
- adds r2, r0
- adds r0, r7, 0
- movs r1, 0x20
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x24
- mov r2, r8
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl SetMonData
- cmp r6, 0
- beq _080709E6
- add r2, sp, 0x14
- movs r0, 0xFD
- strb r0, [r2]
- adds r0, r7, 0
- movs r1, 0x23
- bl SetMonData
-_080709E6:
- mov r2, sp
- adds r2, 0x15
- mov r0, r9
- strb r0, [r2]
- adds r0, r7, 0
- movs r1, 0x2D
- bl SetMonData
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8070954
-
- thumb_func_start sub_8070A0C
-sub_8070A0C: @ 8070A0C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0x8C
- lsls r0, 1
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x1
- mov r8, r1
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x5
- movs r3, 0x20
- bl CreateMon
- movs r0, 0x12
- add r0, sp
- mov r9, r0
- strb r4, [r0]
- movs r1, 0x4
- add r0, sp, 0x10
- strh r1, [r0]
- mov r4, sp
- adds r4, 0x13
- mov r1, r8
- strb r1, [r4]
- adds r0, r6, 0
- movs r1, 0x26
- add r2, sp, 0x10
- bl SetMonData
- ldr r2, =gEggName
- adds r0, r6, 0
- movs r1, 0x2
- bl SetMonData
- lsls r2, r5, 3
- subs r2, r5
- lsls r2, 2
- ldr r0, =gBaseStats + 0x11 @ egg cycles offset
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x20
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x24
- mov r2, r9
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl SetMonData
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8070A0C
-
- thumb_func_start sp0B8_daycare
-sp0B8_daycare: @ 8070AA8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl sub_80708C8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp0B8_daycare
-
- thumb_func_start sub_8070AC4
-sub_8070AC4: @ 8070AC4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- movs r7, 0
- movs r5, 0
-_08070ACE:
- movs r0, 0x8C
- adds r4, r5, 0
- muls r4, r0
- adds r0, r6, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _08070AEE
- adds r1, r6, 0
- adds r1, 0x88
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- adds r7, 0x1
-_08070AEE:
- adds r5, 0x1
- cmp r5, 0x1
- bls _08070ACE
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r6, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _08070B34
- cmp r7, 0x2
- bne _08070B34
- subs r1, 0x4
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08070B34
- adds r0, r6, 0
- bl daycare_relationship_score
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- muls r0, r1
- ldr r1, =0x0000ffff
- bl __udivsi3
- cmp r4, r0
- bls _08070B34
- bl sub_80701E0
-_08070B34:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r6, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08070BC0
- bl GetEggStepsToSubtract
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- bcs _08070BC0
- ldr r4, =gPlayerParty
-_08070B5C:
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _08070BB4
- adds r0, r4, 0
- movs r1, 0x4
- bl GetMonData
- cmp r0, 0
- bne _08070BB4
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp]
- cmp r0, 0
- beq _08070BA8
- cmp r0, r6
- bcc _08070B98
- subs r0, r6
- b _08070B9A
- .pool
-_08070B98:
- subs r0, r1, 0x1
-_08070B9A:
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x20
- mov r2, sp
- bl SetMonData
- b _08070BB4
-_08070BA8:
- ldr r0, =gSpecialVar_0x8004
- strh r5, [r0]
- movs r0, 0x1
- b _08070BC2
- .pool
-_08070BB4:
- adds r4, 0x64
- adds r5, 0x1
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- bcc _08070B5C
-_08070BC0:
- movs r0, 0
-_08070BC2:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8070AC4
-
- thumb_func_start sub_8070BD0
-sub_8070BD0: @ 8070BD0
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl sub_8070AC4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8070BD0
-
- thumb_func_start sub_8070BF0
-sub_8070BF0: @ 8070BF0
- push {lr}
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08070C00
- movs r0, 0x1
-_08070C00:
- pop {r1}
- bx r1
- thumb_func_end sub_8070BF0
-
- thumb_func_start sub_8070C04
-sub_8070C04: @ 8070C04
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08070C2E
- ldr r1, =gStringVar1
- adds r0, r4, 0
- bl GetBoxMonNick
- adds r0, r4, 0
- movs r1, 0x7
- mov r2, sp
- bl GetBoxMonData
- ldr r0, =gStringVar3
- mov r1, sp
- bl StringCopy
-_08070C2E:
- adds r4, 0x8C
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08070C44
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl GetBoxMonNick
-_08070C44:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8070C04
-
- thumb_func_start sub_8070C58
-sub_8070C58: @ 8070C58
- push {r4,r5,lr}
- bl brm_get_pokemon_selection
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- ldr r1, =gStringVar1
- bl GetBoxMonNick
- bl brm_get_pokemon_selection
- lsls r0, 24
- lsrs r0, 24
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetBoxMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8070C58
-
- thumb_func_start sp0B5_daycare
-sp0B5_daycare: @ 8070C94
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl sub_8070C04
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp0B5_daycare
-
- thumb_func_start sp0B6_daycare
-sp0B6_daycare: @ 8070CB0
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00003030
- adds r0, r1
- bl sub_8070BF0
- lsls r0, 24
- cmp r0, 0
- beq _08070CD0
- movs r0, 0x1
- b _08070CF2
- .pool
-_08070CD0:
- ldr r0, [r4]
- ldr r1, =0x00003030
- adds r0, r1
- bl daycare_count_pokemon
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08070CEC
- movs r0, 0
- b _08070CF2
- .pool
-_08070CEC:
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_08070CF2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sp0B6_daycare
-
- thumb_func_start sub_8070CF8
-sub_8070CF8: @ 8070CF8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl daycare_count_pokemon
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08070D10
- movs r0, 0
-_08070D10:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8070CF8
-
- thumb_func_start sub_8070D1C
-sub_8070D1C: @ 8070D1C
- push {r4-r6,lr}
- adds r5, r1, 0
- movs r4, 0
- adds r1, r0, 0
-_08070D24:
- movs r3, 0
- ldrh r0, [r1]
- adds r2, r5, 0
-_08070D2A:
- ldrh r6, [r2]
- cmp r0, r6
- bne _08070D34
- movs r0, 0x1
- b _08070D46
-_08070D34:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x1
- ble _08070D2A
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x1
- ble _08070D24
- movs r0, 0
-_08070D46:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8070D1C
-
- thumb_func_start daycare_relationship_score
-daycare_relationship_score: @ 8070D4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- str r0, [sp, 0x1C]
- movs r7, 0
- mov r0, sp
- adds r0, 0x8
- str r0, [sp, 0x20]
- add r1, sp, 0xC
- mov r9, r1
- mov r2, sp
- adds r2, 0x14
- str r2, [sp, 0x24]
- subs r0, 0x6
- ldr r1, =gBaseStats
- mov r10, r1
- ldr r5, [sp, 0x20]
- mov r8, r0
- mov r6, sp
- str r2, [sp, 0x28]
- mov r2, r9
- str r2, [sp, 0x2C]
-_08070D7E:
- movs r0, 0x8C
- adds r4, r7, 0
- muls r4, r0
- ldr r0, [sp, 0x1C]
- adds r4, r0, r4
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetBoxMonData
- ldr r1, [sp, 0x2C]
- stm r1!, {r0}
- str r1, [sp, 0x2C]
- adds r0, r4, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- ldrh r0, [r5]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x28]
- stm r2!, {r0}
- str r2, [sp, 0x28]
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r0, [r0, 0x14]
- strh r0, [r6]
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r0, [r0, 0x15]
- mov r1, r8
- strh r0, [r1]
- adds r5, 0x2
- movs r2, 0x4
- add r8, r2
- adds r6, 0x4
- adds r7, 0x1
- cmp r7, 0x1
- bls _08070D7E
- mov r0, sp
- ldrh r1, [r0]
- cmp r1, 0xF
- beq _08070DFC
- ldrh r0, [r0, 0x4]
- cmp r0, 0xF
- beq _08070DFC
- cmp r1, 0xD
- bne _08070E04
- cmp r0, 0xD
- bne _08070E08
-_08070DFC:
- movs r0, 0
- b _08070E5C
- .pool
-_08070E04:
- cmp r0, 0xD
- bne _08070E14
-_08070E08:
- ldr r1, [sp, 0xC]
- mov r2, r9
- ldr r0, [r2, 0x4]
- cmp r1, r0
- beq _08070E56
- b _08070E5A
-_08070E14:
- ldr r0, [sp, 0x14]
- ldr r2, [sp, 0x24]
- ldr r1, [r2, 0x4]
- cmp r0, r1
- beq _08070DFC
- cmp r0, 0xFF
- beq _08070DFC
- cmp r1, 0xFF
- beq _08070DFC
- add r1, sp, 0x4
- mov r0, sp
- bl sub_8070D1C
- lsls r0, 24
- cmp r0, 0
- beq _08070DFC
- ldr r0, [sp, 0x20]
- ldrh r1, [r0, 0x2]
- ldrh r0, [r0]
- cmp r0, r1
- bne _08070E4C
- ldr r1, [sp, 0xC]
- mov r2, r9
- ldr r0, [r2, 0x4]
- cmp r1, r0
- beq _08070E5A
- movs r0, 0x46
- b _08070E5C
-_08070E4C:
- ldr r1, [sp, 0xC]
- mov r2, r9
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bne _08070E5A
-_08070E56:
- movs r0, 0x14
- b _08070E5C
-_08070E5A:
- movs r0, 0x32
-_08070E5C:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end daycare_relationship_score
-
- thumb_func_start daycare_relationship_score_from_savegame
-daycare_relationship_score_from_savegame: @ 8070E6C
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- bl daycare_relationship_score
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end daycare_relationship_score_from_savegame
-
- thumb_func_start sp0B9_daycare_relationship_comment
-sp0B9_daycare_relationship_comment: @ 8070E8C
- push {lr}
- bl daycare_relationship_score_from_savegame
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- movs r1, 0
- cmp r0, 0
- bne _08070EA0
- movs r1, 0x3
-_08070EA0:
- cmp r0, 0x14
- bne _08070EA6
- movs r1, 0x2
-_08070EA6:
- cmp r0, 0x32
- bne _08070EAC
- movs r1, 0x1
-_08070EAC:
- cmp r2, 0x46
- bne _08070EB2
- movs r1, 0
-_08070EB2:
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_0832B6F8
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp0B9_daycare_relationship_comment
-
- thumb_func_start sub_8070ECC
-sub_8070ECC: @ 8070ECC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- mov r2, sp
- mov r1, sp
- movs r0, 0
- strb r0, [r1, 0x1]
- strb r0, [r2]
- movs r3, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _08070F10
-_08070EE8:
- adds r1, r4, r3
- ldrb r0, [r1]
- cmp r0, 0xB5
- bne _08070EF6
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
-_08070EF6:
- ldrb r0, [r1]
- cmp r0, 0xB6
- bne _08070F02
- ldrb r0, [r2, 0x1]
- adds r0, 0x1
- strb r0, [r2, 0x1]
-_08070F02:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08070EE8
-_08070F10:
- cmp r5, 0
- bne _08070F24
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _08070F24
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08070F38
-_08070F24:
- cmp r5, 0xFE
- bne _08070F3C
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08070F3C
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _08070F3C
-_08070F38:
- movs r0, 0x1
- b _08070F3E
-_08070F3C:
- movs r0, 0
-_08070F3E:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8070ECC
-
- thumb_func_start sub_8070F48
-sub_8070F48: @ 8070F48
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _08070F68
- movs r1, 0
- bl sub_8070ECC
- lsls r0, 24
- cmp r0, 0
- bne _08070F84
- ldr r1, =gUnknown_0832DAC7
- b _08070F86
- .pool
-_08070F68:
- cmp r1, 0xFE
- bne _08070F84
- adds r0, r4, 0
- movs r1, 0xFE
- bl sub_8070ECC
- lsls r0, 24
- cmp r0, 0
- bne _08070F84
- ldr r1, =gUnknown_0832DAC9
- b _08070F86
- .pool
-_08070F84:
- ldr r1, =gUnknown_0832DACB
-_08070F86:
- adds r0, r4, 0
- bl StringAppend
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8070F48
-
- thumb_func_start sub_8070F98
-sub_8070F98: @ 8070F98
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl GetBoxMonGender
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8070F48
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8070F98
-
- thumb_func_start sub_8070FB4
-sub_8070FB4: @ 8070FB4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x28
- mov r8, r0
- adds r7, r1, 0
- movs r0, 0xFF
- strb r0, [r7]
- movs r6, 0
- add r0, sp, 0x14
- mov r9, r0
-_08070FCC:
- movs r0, 0x8C
- adds r4, r6, 0
- muls r4, r0
- add r4, r8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- mov r1, sp
- adds r5, r1, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetBoxMonNick
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8070F98
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bls _08070FCC
- adds r0, r7, 0
- mov r1, sp
- bl StringCopy
- ldr r4, =gText_NewLine2
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringAppend
- adds r0, r7, 0
- mov r1, r9
- bl StringAppend
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringAppend
- ldr r1, =gText_Exit4
- adds r0, r7, 0
- bl StringAppend
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8070FB4
-
- thumb_func_start sub_8071038
-sub_8071038: @ 8071038
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r4, r1, 0
- movs r0, 0xFF
- strb r0, [r4]
- movs r5, 0
-_08071046:
- adds r0, r4, 0
- ldr r1, =gText_Lv
- bl StringAppend
- movs r0, 0x8C
- adds r2, r5, 0
- muls r2, r0
- adds r0, r6, r2
- adds r1, r6, 0
- adds r1, 0x88
- adds r1, r2
- ldr r1, [r1]
- bl sub_806FDEC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- mov r1, sp
- bl StringAppend
- adds r0, r4, 0
- ldr r1, =gText_NewLine2
- bl StringAppend
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _08071046
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071038
-
- thumb_func_start sub_807109C
-sub_807109C: @ 807109C
- push {r4-r6,lr}
- sub sp, 0x10
- str r1, [sp]
- mov r1, sp
- movs r5, 0
- strb r0, [r1, 0x4]
- mov r0, sp
- movs r6, 0x1
- movs r4, 0x1
- strb r4, [r0, 0x5]
- strb r2, [r0, 0x6]
- strb r3, [r0, 0x7]
- strb r2, [r0, 0x8]
- strb r3, [r0, 0x9]
- mov r3, sp
- ldrb r1, [r3, 0xC]
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r3, 0xC]
- ldr r3, =gTextFlags
- ldrb r1, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- mov r0, sp
- strb r5, [r0, 0xA]
- strb r4, [r0, 0xB]
- mov r3, sp
- ldrb r1, [r3, 0xC]
- movs r4, 0xF
- adds r0, r4, 0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r3, 0xC]
- mov r1, sp
- ldrb r0, [r1, 0xD]
- ands r2, r0
- orrs r2, r6
- strb r2, [r1, 0xD]
- ands r2, r4
- movs r0, 0x30
- orrs r2, r0
- strb r2, [r1, 0xD]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807109C
-
- thumb_func_start sub_8071110
-sub_8071110: @ 8071110
- push {r4-r6,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r3, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x8C
- muls r0, r2
- adds r5, r0
- adds r0, r5, 0
- mov r1, sp
- bl GetBoxMonNick
- mov r0, sp
- adds r1, r5, 0
- bl sub_8070F98
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x8
- adds r3, r6, 0
- bl sub_807109C
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8071110
-
- thumb_func_start sub_8071148
-sub_8071148: @ 8071148
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gText_Lv
- mov r0, sp
- bl StringCopy
- movs r0, 0x8C
- adds r1, r6, 0
- muls r1, r0
- adds r0, r4, r1
- adds r4, 0x88
- adds r4, r1
- ldr r1, [r4]
- bl sub_806FDEC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- add r4, sp, 0xC
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, sp
- adds r1, r4, 0
- bl StringAppend
- movs r0, 0x1
- mov r1, sp
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- adds r0, r5, 0
- mov r1, sp
- mov r3, r8
- bl sub_807109C
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071148
-
- thumb_func_start sub_80711B8
-sub_80711B8: @ 80711B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r6, 0x1
- bhi _080711F0
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- ldr r0, [r0]
- ldr r4, =0x00003030
- adds r0, r4
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_8071110
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_8071148
-_080711F0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80711B8
-
- thumb_func_start c3_080469FC
-c3_080469FC: @ 8071204
- 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
- ldrb r0, [r4, 0x8]
- bl ListMenuHandleInput
- adds r1, r0, 0
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08071284
- cmp r1, 0x1
- bls _0807123C
- cmp r1, 0x5
- beq _08071248
- b _0807124E
- .pool
-_0807123C:
- ldr r0, =gScriptResult
- strh r1, [r0]
- b _0807124E
- .pool
-_08071248:
- ldr r1, =gScriptResult
- movs r0, 0x2
- strh r0, [r1]
-_0807124E:
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x8]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl sub_819746C
- ldrb r0, [r4, 0xA]
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- b _080712B4
- .pool
-_08071284:
- movs r1, 0x2
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080712B4
- ldr r0, =gScriptResult
- strh r1, [r0]
- ldrb r0, [r4, 0x8]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl sub_819746C
- ldrb r0, [r4, 0xA]
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080712B4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_080469FC
-
- thumb_func_start sub_80712C0
-sub_80712C0: @ 80712C0
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r0, =gUnknown_0832B6C0
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_81973FC
- mov r1, sp
- ldr r0, =gUnknown_0832B6E0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- strb r4, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =c3_080469FC
- 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
- strh r5, [r1, 0x8]
- strh r4, [r1, 0xA]
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80712C0
-
- thumb_func_start sub_8071330
-sub_8071330: @ 8071330
- push {lr}
- bl sub_81B9328
- ldr r1, =gMain
- ldr r0, =c2_exit_to_overworld_2_switch
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071330
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s
index 40df2d6a0..7d9d67902 100644
--- a/asm/dewford_trend.s
+++ b/asm/dewford_trend.s
@@ -79,8 +79,8 @@ _08122522:
.pool
thumb_func_end InitDewfordTrend
- thumb_func_start sub_8122580
-sub_8122580: @ 8122580
+ thumb_func_start UpdateDewfordTrendPerDay
+UpdateDewfordTrendPerDay: @ 8122580
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -253,7 +253,7 @@ _081226BE:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8122580
+ thumb_func_end UpdateDewfordTrendPerDay
thumb_func_start sub_81226D8
sub_81226D8: @ 81226D8
@@ -667,7 +667,7 @@ sub_81229C8: @ 81229C8
negs r0, r0
lsrs r4, r0, 31
_08122A0C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4}
pop {r0}
@@ -677,7 +677,7 @@ _08122A0C:
thumb_func_start sub_8122A30
sub_8122A30: @ 8122A30
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r3, =0x00002e6c
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index e9565dfa9..db2ffac14 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -652,7 +652,7 @@ sub_811A7E4: @ 811A7E4
_0811A804:
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
b _0811A840
_0811A80E:
ldr r0, =gPaletteFade
@@ -1635,7 +1635,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
@@ -1659,7 +1659,7 @@ _0811AFAC:
b _0811AFE6
.pool
_0811AFC0:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
ldr r0, =gUnknown_0203A118
ldr r0, [r0]
@@ -1684,7 +1684,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
@@ -1709,7 +1709,7 @@ _0811B00C:
.pool
_0811B020:
bl sub_811BE9C
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_811B4EC
strh r0, [r4]
bl sub_811B3E4
@@ -1727,7 +1727,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
@@ -1832,7 +1832,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
@@ -1860,7 +1860,7 @@ _0811B118:
b _0811B14A
.pool
_0811B134:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_811B4EC
strh r0, [r4]
bl sub_811B3E4
@@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0
adds r6, r0, 0
ldr r0, =gSaveBlock1Ptr
ldr r4, [r0]
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
ldr r0, =0x00003b70
adds r5, r4, r0
adds r0, r5, 0
@@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0
bl TVShowConvertInternationalString
movs r0, 0
mov r1, sp
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
b _0811BE3C
.pool
_0811BE34:
ldr r1, =gText_Lady
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
_0811BE3C:
ldr r1, =gText_F700sQuiz
adds r0, r6, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
add sp, 0x20
pop {r4-r6}
pop {r0}
@@ -3966,14 +3966,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
@@ -5810,7 +5810,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
@@ -6075,7 +6075,7 @@ _0811D19C:
b _0811D1BC
.pool
_0811D1A8:
- ldr r0, =gText_CombineTwoWordsOrPhrases
+ ldr r0, =gText_CombineTwoWordsOrPhrases3
str r0, [sp, 0xC]
b _0811D1BC
.pool
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index fa923d94b..89e6efa6a 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -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
@@ -184,7 +184,7 @@ sub_809C014: @ 809C014
push {r4-r6,lr}
sub sp, 0x8
adds r5, r0, 0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
movs r1, 0
strh r1, [r0]
ldr r0, =gSelectedMapObject
@@ -443,13 +443,13 @@ _0809C214:
ldr r0, =gUnknown_0823B589
cmp r4, r0
beq _0809C244
- ldr r0, =gUnknown_082766A2
+ ldr r0, =EventScript_2766A2
cmp r4, r0
beq _0809C244
- ldr r0, =gUnknown_082766A6
+ ldr r0, =EventScript_2766A6
cmp r4, r0
beq _0809C244
- ldr r0, =gUnknown_08271D92
+ ldr r0, =EventScript_271D92
cmp r4, r0
beq _0809C244
movs r0, 0x5
@@ -582,13 +582,13 @@ _0809C34C:
ble _0809C340
ldr r0, =gSelectedMapObject
strb r3, [r0]
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r3
lsls r0, 2
adds r0, r5
ldrb r0, [r0, 0x8]
strh r0, [r1]
- ldr r0, =gScriptFacing
+ ldr r0, =gSpecialVar_Facing
strh r6, [r0]
adds r0, r3, 0
bl GetFieldObjectScriptPointerByFieldObjectId
@@ -668,13 +668,13 @@ _0809C400:
_0809C40C:
ldr r0, =gSelectedMapObject
strb r4, [r0]
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r4
lsls r0, 2
adds r0, r3
ldrb r0, [r0, 0x8]
strh r0, [r1]
- ldr r0, =gScriptFacing
+ ldr r0, =gSpecialVar_Facing
strh r7, [r0]
bl InTrainerHill
cmp r0, 0x1
@@ -687,7 +687,7 @@ _0809C43C:
bl GetFieldObjectScriptPointerByFieldObjectId
_0809C442:
adds r1, r0, 0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl GetRamScript
adds r1, r0, 0
@@ -721,7 +721,7 @@ TryGetInvisibleMapObjectScript: @ 809C458
ldr r2, [r0, 0x8]
cmp r2, 0
bne _0809C490
- ldr r0, =gUnknown_082C8436
+ ldr r0, =EventScript_TestSignpostMsg
b _0809C532
.pool
_0809C490:
@@ -778,7 +778,7 @@ _0809C4E2:
lsrs r0, 24
cmp r0, 0x1
beq _0809C4CC
- ldr r0, =gUnknown_08271CB7
+ ldr r0, =EventScript_271CB7
b _0809C532
.pool
_0809C510:
@@ -790,7 +790,7 @@ _0809C510:
lsls r0, 24
cmp r0, 0
beq _0809C4CC
- ldr r0, =gUnknown_082759F1
+ ldr r0, =EventScript_2759F1
b _0809C532
.pool
_0809C530:
@@ -816,7 +816,7 @@ TryGetMetatileBehaviorScript: @ 809C538
lsrs r0, 24
cmp r0, 0x1
bne _0809C55C
- ldr r0, =gUnknown_0827EE0B
+ ldr r0, =EventScript_27EE0B
b _0809C7E4
.pool
_0809C55C:
@@ -826,7 +826,7 @@ _0809C55C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C574
- ldr r0, =gUnknown_08271D92
+ ldr r0, =EventScript_271D92
b _0809C7E4
.pool
_0809C574:
@@ -836,7 +836,7 @@ _0809C574:
lsrs r0, 24
cmp r0, 0x1
bne _0809C58C
- ldr r0, =gUnknown_081E615D
+ ldr r0, =SootopolisCity_EventScript_1E615D
b _0809C7E4
.pool
_0809C58C:
@@ -846,7 +846,7 @@ _0809C58C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5A4
- ldr r0, =gUnknown_082393F9
+ ldr r0, =SkyPillar_Outside_EventScript_2393F9
b _0809C7E4
.pool
_0809C5A4:
@@ -864,7 +864,7 @@ _0809C5B4:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5CC
- ldr r0, =gUnknown_082A4BAC
+ ldr r0, =EventScript_2A4BAC
b _0809C7E4
.pool
_0809C5CC:
@@ -874,7 +874,7 @@ _0809C5CC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5E4
- ldr r0, =gUnknown_0826A22A
+ ldr r0, =Route110_TrickHouseEntrance_EventScript_26A22A
b _0809C7E4
.pool
_0809C5E4:
@@ -884,7 +884,7 @@ _0809C5E4:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5FC
- ldr r0, =gUnknown_0827208F
+ ldr r0, =EventScript_27208F
b _0809C7E4
.pool
_0809C5FC:
@@ -894,7 +894,7 @@ _0809C5FC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C614
- ldr r0, =gUnknown_08292DE5
+ ldr r0, =EventScript_292DE5
b _0809C7E4
.pool
_0809C614:
@@ -904,7 +904,7 @@ _0809C614:
lsrs r0, 24
cmp r0, 0x1
bne _0809C62C
- ldr r0, =gUnknown_082725CE
+ ldr r0, =EventScript_2725CE
b _0809C7E4
.pool
_0809C62C:
@@ -914,7 +914,7 @@ _0809C62C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C644
- ldr r0, =gUnknown_082725D7
+ ldr r0, =EventScript_2725D7
b _0809C7E4
.pool
_0809C644:
@@ -924,7 +924,7 @@ _0809C644:
lsrs r0, 24
cmp r0, 0x1
bne _0809C65C
- ldr r0, =gUnknown_082725E0
+ ldr r0, =EventScript_2725E0
b _0809C7E4
.pool
_0809C65C:
@@ -934,7 +934,7 @@ _0809C65C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C674
- ldr r0, =gUnknown_082725E9
+ ldr r0, =EventScript_2725E9
b _0809C7E4
.pool
_0809C674:
@@ -944,7 +944,7 @@ _0809C674:
lsrs r0, 24
cmp r0, 0x1
bne _0809C68C
- ldr r0, =gUnknown_082725F2
+ ldr r0, =EventScript_2725F2
b _0809C7E4
.pool
_0809C68C:
@@ -954,7 +954,7 @@ _0809C68C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C6A4
- ldr r0, =gUnknown_082725FB
+ ldr r0, =EventScript_2725FB
b _0809C7E4
.pool
_0809C6A4:
@@ -964,7 +964,7 @@ _0809C6A4:
lsrs r0, 24
cmp r0, 0x1
bne _0809C6BC
- ldr r0, =gUnknown_08272604
+ ldr r0, =EventScript_272604
b _0809C7E4
.pool
_0809C6BC:
@@ -975,7 +975,7 @@ _0809C6BC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C6D4
- ldr r0, =gUnknown_08277B8A
+ ldr r0, =OldaleTown_PokemonCenter_2F_EventScript_277B8A
b _0809C7E4
.pool
_0809C6D4:
@@ -997,7 +997,7 @@ _0809C6EC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C704
- ldr r0, =gUnknown_0827381B
+ ldr r0, =EventScript_27381B
b _0809C7E4
.pool
_0809C704:
@@ -1007,7 +1007,7 @@ _0809C704:
lsrs r0, 24
cmp r0, 0x1
bne _0809C71C
- ldr r0, =gUnknown_082C8393
+ ldr r0, =TrainerHill_1F_EventScript_2C8393
b _0809C7E4
.pool
_0809C71C:
@@ -1125,7 +1125,7 @@ TryGetFieldMoveScript: @ 809C7EC
lsrs r0, 24
cmp r0, 0x1
bne _0809C824
- ldr r0, =gUnknown_08271EA0
+ ldr r0, =EventScript_271EA0
b _0809C862
.pool
_0809C824:
@@ -1146,11 +1146,11 @@ _0809C824:
lsrs r0, 24
cmp r0, 0x1
bne _0809C858
- ldr r0, =gUnknown_08290A49
+ ldr r0, =EventScript_290A49
b _0809C862
.pool
_0809C858:
- ldr r0, =gUnknown_08290A83
+ ldr r0, =EventScript_290A83
b _0809C862
.pool
_0809C860:
@@ -1174,7 +1174,7 @@ sub_809C868: @ 809C868
lsrs r0, 24
cmp r0, 0x2
bne _0809C894
- ldr r0, =gUnknown_08290B0F
+ ldr r0, =EventScript_290B0F
bl ScriptContext1_SetupScript
movs r0, 0x1
b _0809C896
@@ -1203,7 +1203,7 @@ sub_809C89C: @ 809C89C
lsrs r0, 24
cmp r0, 0x1
bne _0809C8D4
- ldr r0, =gUnknown_08290B5A
+ ldr r0, =EventScript_290B5A
bl ScriptContext1_SetupScript
movs r0, 0x1
b _0809C8D6
@@ -1246,7 +1246,7 @@ sub_809C8DC: @ 809C8DC
lsrs r0, 24
cmp r0, 0x1
beq _0809C92E
- bl sub_80B5870
+ bl UpdateRepelCounter
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1310,7 +1310,7 @@ _0809C988:
lsls r0, 24
cmp r0, 0
beq _0809C9A4
- ldr r0, =gUnknown_08252BE8
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8
_0809C996:
bl ScriptContext1_SetupScript
movs r0, 0x1
@@ -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
@@ -1385,18 +1385,18 @@ _0809CA04:
lsrs r0, 24
cmp r0, 0x1
bne _0809CA48
- ldr r0, =gUnknown_082736BC
+ ldr r0, =EventScript_2736BC
bl ScriptContext1_SetupScript
b _0809CB28
.pool
_0809CA48:
- bl sub_8070BD0
+ bl DoEggActions_CheckHatch
lsls r0, 24
cmp r0, 0
beq _0809CA64
movs r0, 0xD
bl IncrementGameStat
- ldr r0, =gUnknown_08291FC0
+ ldr r0, =Route117_PokemonDayCare_EventScript_291FC0
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1416,7 +1416,7 @@ _0809CA7C:
lsrs r0, 24
cmp r0, 0x1
bne _0809CA94
- ldr r0, =gUnknown_08238EAF
+ ldr r0, =IslandCave_EventScript_238EAF
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1424,7 +1424,7 @@ _0809CA94:
bl is_tile_that_overrides_player_control
cmp r0, 0x1
bne _0809CAA8
- ldr r0, =gUnknown_081DF7BA
+ ldr r0, =MauvilleCity_EventScript_1DF7BA
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1432,7 +1432,7 @@ _0809CAA8:
bl sub_8138120
cmp r0, 0x1
bne _0809CABC
- ldr r0, =gUnknown_081F49EC
+ ldr r0, =Route119_EventScript_1F49EC
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1440,7 +1440,7 @@ _0809CABC:
bl sub_8138168
cmp r0, 0x1
bne _0809CAD0
- ldr r0, =gUnknown_081FA4D6
+ ldr r0, =LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1448,7 +1448,7 @@ _0809CAD0:
bl sub_81381B0
cmp r0, 0x1
bne _0809CAE4
- ldr r0, =gUnknown_0821307B
+ ldr r0, =RustboroCity_Gym_EventScript_21307B
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1456,7 +1456,7 @@ _0809CAE4:
bl sub_81381F8
cmp r0, 0x1
bne _0809CAF8
- ldr r0, =gUnknown_08224175
+ ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224175
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1470,7 +1470,7 @@ _0809CAF8:
bl CountSSTidalStep
cmp r0, 0x1
bne _0809CB1C
- ldr r0, =gUnknown_0823C050
+ ldr r0, =SSTidalCorridor_EventScript_23C050
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -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
@@ -1607,7 +1607,7 @@ _0809CC0C:
ldr r5, =gUnknown_020375D6
ldrh r1, [r5]
adds r0, r4, 0
- bl is_it_battle_time_2
+ bl StandardWildEncounter
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -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]
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
index 964bf8079..80f2030aa 100644
--- a/asm/field_effect.s
+++ b/asm/field_effect.s
@@ -498,8 +498,8 @@ _080B5E68:
bx r1
thumb_func_end FieldEffectActiveListContains
- thumb_func_start sub_80B5E6C
-sub_80B5E6C: @ 80B5E6C
+ thumb_func_start CreateTrainerSprite
+CreateTrainerSprite: @ 80B5E6C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -566,7 +566,7 @@ sub_80B5E6C: @ 80B5E6C
pop {r1}
bx r1
.pool
- thumb_func_end sub_80B5E6C
+ thumb_func_end CreateTrainerSprite
thumb_func_start sub_80B5F0C
sub_80B5F0C: @ 80B5F0C
@@ -764,8 +764,8 @@ _080B608E:
bx r0
thumb_func_end sub_80B6070
- thumb_func_start sub_80B609C
-sub_80B609C: @ 80B609C
+ thumb_func_start MultiplyInvertedPaletteRGBComponents
+MultiplyInvertedPaletteRGBComponents: @ 80B609C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -832,7 +832,7 @@ sub_80B609C: @ 80B609C
pop {r0}
bx r0
.pool
- thumb_func_end sub_80B609C
+ thumb_func_end MultiplyInvertedPaletteRGBComponents
thumb_func_start sub_80B6128
sub_80B6128: @ 80B6128
@@ -1469,7 +1469,7 @@ _080B65D8:
mov r9, r3
add r4, r9
ldrb r3, [r4]
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
ldrh r4, [r7, 0x32]
adds r4, 0x2
mov r0, r8
@@ -1488,7 +1488,7 @@ _080B65D8:
ldrb r2, [r2]
add r4, r9
ldrb r3, [r4]
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
ldrh r4, [r7, 0x32]
adds r4, 0x1
mov r3, r8
@@ -1507,7 +1507,7 @@ _080B65D8:
ldrb r2, [r2]
add r4, r9
ldrb r3, [r4]
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
ldrh r4, [r7, 0x32]
lsls r4, 24
lsrs r4, 24
@@ -1527,7 +1527,7 @@ _080B65D8:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
mov r0, r10
bl IndexOfSpritePaletteTag
lsls r0, 24
@@ -1538,7 +1538,7 @@ _080B65D8:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
movs r3, 0x34
ldrsh r0, [r7, r3]
cmp r0, 0x2
@@ -1612,7 +1612,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@@ -1624,7 +1624,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@@ -1636,7 +1636,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@@ -1647,7 +1647,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@@ -1658,7 +1658,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
pop {r3}
mov r8, r3
pop {r4-r6}
@@ -1961,7 +1961,7 @@ mapldr_080842E8: @ 80B69FC
movs r1, 0
bl CreateTask
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@@ -1988,7 +1988,7 @@ task00_8084310: @ 80B6A24
lsls r0, 24
cmp r0, 0
beq _080B6A8A
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
@@ -2027,7 +2027,7 @@ _080B6A8A:
thumb_func_start mapldr_08084390
mapldr_08084390: @ 80B6AA4
push {r4,lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =c3_080843F8
movs r1, 0
@@ -2057,7 +2057,7 @@ mapldr_08084390: @ 80B6AA4
bl FieldObjectTurn
_080B6AE6:
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@@ -2113,10 +2113,10 @@ _080B6B58:
thumb_func_start sub_80B6B68
sub_80B6B68: @ 80B6B68
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r0, =sub_80B6B94
movs r1, 0
bl CreateTask
@@ -2534,7 +2534,7 @@ _080B6E9A:
sub_80B6EC0: @ 80B6EC0
push {r4,lr}
adds r4, r0, 0
- bl player_bitmagic
+ bl FreezeMapObjects
bl CameraObjectReset2
ldrb r0, [r4, 0xA]
bl sub_80E1558
@@ -2780,7 +2780,7 @@ _080B709C:
thumb_func_start sub_80B70B4
sub_80B70B4: @ 80B70B4
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
ldr r0, =sub_80B70DC
@@ -3476,7 +3476,7 @@ sub_80B764C: @ 80B764C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- bl player_bitmagic
+ bl FreezeMapObjects
bl CameraObjectReset2
movs r0, 0
bl SetCameraPanningCallback
@@ -3747,7 +3747,7 @@ _080B784C:
thumb_func_start mapldr_080851BC
mapldr_080851BC: @ 80B7868
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
ldr r0, =gFieldCallback
@@ -3807,7 +3807,7 @@ sub_80B78EC: @ 80B78EC
adds r5, r0, 0
adds r4, r1, 0
bl CameraObjectReset2
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
@@ -4055,7 +4055,7 @@ sub_80B7AE8: @ 80B7AE8
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
- bl player_bitmagic
+ bl FreezeMapObjects
bl CameraObjectReset2
ldr r1, =gPlayerAvatar
movs r0, 0x1
@@ -4287,7 +4287,7 @@ _080B7CC4:
sub_80B7CC8: @ 80B7CC8
push {lr}
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r0, =sub_80B7CE4
movs r1, 0x50
bl CreateTask
@@ -4458,10 +4458,10 @@ _080B7E40:
thumb_func_start mapldr_080859D4
mapldr_080859D4: @ 80B7E48
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@@ -4672,7 +4672,7 @@ sub_80B800C: @ 80B800C
push {r4,lr}
adds r4, r0, 0
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
bl CameraObjectReset2
bl player_get_direction_lower_nybble
lsls r0, 24
@@ -4903,10 +4903,10 @@ _080B81E6:
thumb_func_start mapldr_08085D88
mapldr_08085D88: @ 80B8200
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
@@ -6295,7 +6295,7 @@ sub_80B8D44: @ 80B8D44
ldr r0, =gFieldEffectArguments
ldr r0, [r0]
strh r0, [r1, 0x26]
- bl sav1_reset_battle_music_maybe
+ bl Overworld_ClearSavedMusic
ldr r0, =0x0000016d
bl Overworld_ChangeMusicTo
movs r0, 0
@@ -6334,7 +6334,7 @@ sub_80B8DB4: @ 80B8DB4
push {r6}
adds r4, r0, 0
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r5, =gPlayerAvatar
movs r0, 0x1
strb r0, [r5, 0x6]
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 34ff54f61..cd4f83681 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -57,7 +57,7 @@ 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
@@ -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
@@ -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
@@ -630,19 +630,19 @@ ForcedMovement_MuddySlope: @ 808AE10
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
@@ -791,7 +791,7 @@ _0808AF4E:
cmp r0, 0
beq _0808AF68
adds r0, r5, 0
- bl PlayerGoSpeed1
+ bl PlayerGoSpeed2
b _0808AFB6
.pool
_0808AF68:
@@ -829,7 +829,7 @@ _0808AF68:
.pool
_0808AFB0:
adds r0, r5, 0
- bl PlayerGoSpeed0
+ bl PlayerGoSpeed1
_0808AFB6:
pop {r4-r6}
pop {r0}
@@ -1471,7 +1471,7 @@ PlayerAvatarTransition_MachBike: @ 808B46C
bl SetPlayerAvatarStateMask
movs r0, 0
movs r1, 0
- bl sub_811A0D0
+ bl BikeClearState
pop {r4}
pop {r0}
bx r0
@@ -1497,8 +1497,8 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0
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
@@ -1774,9 +1774,9 @@ sub_808B6BC: @ 808B6BC
.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
@@ -1802,11 +1802,11 @@ _0808B712:
pop {r0}
bx r0
.pool
- thumb_func_end player_npc_set_state_and_x22_etc
+ thumb_func_end PlayerSetAnimId
- thumb_func_start PlayerGoSpeed0
-@ void PlayerGoSpeed0(u8 direction)
-PlayerGoSpeed0: @ 808B720
+ thumb_func_start PlayerGoSpeed1
+@ void PlayerGoSpeed1(u8 direction)
+PlayerGoSpeed1: @ 808B720
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -1814,14 +1814,14 @@ PlayerGoSpeed0: @ 808B720
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 PlayerGoSpeed0
+ thumb_func_end PlayerGoSpeed1
- thumb_func_start PlayerGoSpeed1
-@ void PlayerGoSpeed1(u8 direction)
-PlayerGoSpeed1: @ 808B738
+ thumb_func_start PlayerGoSpeed2
+@ void PlayerGoSpeed2(u8 direction)
+PlayerGoSpeed2: @ 808B738
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -1829,14 +1829,14 @@ PlayerGoSpeed1: @ 808B738
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_end PlayerGoSpeed2
- thumb_func_start PlayerGoSpeed2
-@ void PlayerGoSpeed2(u8 direction)
-PlayerGoSpeed2: @ 808B750
+ thumb_func_start PlayerGoSpeed3
+@ void PlayerGoSpeed3(u8 direction)
+PlayerGoSpeed3: @ 808B750
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -1844,14 +1844,14 @@ PlayerGoSpeed2: @ 808B750
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_end PlayerGoSpeed3
- thumb_func_start PlayerGoSpeed3
-@ void PlayerGoSpeed3(u8 direction)
-PlayerGoSpeed3: @ 808B768
+ thumb_func_start PlayerGoSpeed4
+@ void PlayerGoSpeed4(u8 direction)
+PlayerGoSpeed4: @ 808B768
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -1859,10 +1859,10 @@ PlayerGoSpeed3: @ 808B768
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_end PlayerGoSpeed4
thumb_func_start PlayerRun
@ void PlayerRun(u8 direction)
@@ -1874,7 +1874,7 @@ PlayerRun: @ 808B780
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
@@ -1893,7 +1893,7 @@ PlayerOnBikeCollide: @ 808B798
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
@@ -1909,7 +1909,7 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC
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
@@ -1928,7 +1928,7 @@ PlayerNotOnBikeCollide: @ 808B7D4
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
@@ -1944,7 +1944,7 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8
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
@@ -1959,7 +1959,7 @@ PlayerFaceDirection: @ 808B810
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
@@ -1974,7 +1974,7 @@ PlayerTurnInPlace: @ 808B828
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
@@ -1993,7 +1993,7 @@ PlayerJumpLedge: @ 808B840
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
@@ -2033,8 +2033,8 @@ _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
@@ -2042,13 +2042,13 @@ sub_808B8A8: @ 808B8A8
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
@@ -2056,13 +2056,13 @@ sub_808B8C0: @ 808B8C0
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
@@ -2070,13 +2070,13 @@ sub_808B8D8: @ 808B8D8
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
@@ -2088,14 +2088,14 @@ sub_808B8F0: @ 808B8F0
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
@@ -2107,14 +2107,14 @@ sub_808B914: @ 808B914
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
@@ -2126,14 +2126,14 @@ sub_808B938: @ 808B938
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
@@ -2145,11 +2145,11 @@ sub_808B95C: @ 808B95C
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
@@ -2164,7 +2164,7 @@ sub_808B980: @ 808B980
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
@@ -2179,7 +2179,7 @@ sub_808B9A4: @ 808B9A4
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
@@ -2193,7 +2193,7 @@ sub_808B9BC: @ 808B9BC
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
@@ -2207,7 +2207,7 @@ npc_use_some_d2s: @ 808B9D4
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
@@ -2592,9 +2592,9 @@ sub_808BCF4: @ 808BCF4
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)
@@ -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]
@@ -4316,7 +4316,7 @@ fish5: @ 808CABC
adds r0, 0x1
strh r0, [r5, 0x8]
movs r6, 0
- bl GetFishingWildMonListHeader
+ bl DoesCurrentMapHaveFishingMons
lsls r0, 24
cmp r0, 0
bne _0808CADC
@@ -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]
@@ -4640,7 +4640,7 @@ _0808CD58:
ldrh r0, [r5, 0x26]
lsls r0, 24
lsrs r0, 24
- bl sub_80B5734
+ bl FishingWildEncounter
movs r0, 0x1
bl sub_80ED950
ldr r0, =Task_Fish
@@ -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
@@ -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]
diff --git a/asm/field_poison.s b/asm/field_poison.s
deleted file mode 100644
index 652026523..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, =gScriptResult
- strh r5, [r0]
- b _080F9718
- .pool
-_080F96F0:
- ldr r1, =gScriptResult
- 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, =gScriptResult
- 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_region_map.s b/asm/field_region_map.s
deleted file mode 100644
index 512dfb151..000000000
--- a/asm/field_region_map.s
+++ /dev/null
@@ -1,325 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_817018C
-sub_817018C: @ 817018C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_0203BCD0
- movs r0, 0x89
- lsls r0, 4
- bl Alloc
- str r0, [r4]
- ldr r1, =0x0000088c
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- str r5, [r0]
- ldr r0, =sub_81701C4
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817018C
-
- thumb_func_start sub_81701C4
-sub_81701C4: @ 81701C4
- push {lr}
- movs r0, 0
- 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 r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085E5068
- movs r0, 0x1
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085E5070
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- movs r1, 0x27
- movs r2, 0xD0
- bl sub_809882C
- bl clear_scheduled_bg_copies_to_vram
- ldr r0, =sub_8170274
- bl SetMainCallback2
- ldr r0, =sub_8170260
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81701C4
-
- thumb_func_start sub_8170260
-sub_8170260: @ 8170260
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8170260
-
- thumb_func_start sub_8170274
-sub_8170274: @ 8170274
- push {lr}
- bl sub_8170290
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl do_scheduled_bg_tilemap_copies_to_vram
- pop {r0}
- bx r0
- thumb_func_end sub_8170274
-
- thumb_func_start sub_8170290
-sub_8170290: @ 8170290
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =gUnknown_0203BCD0
- ldr r0, [r1]
- ldr r2, =0x0000088c
- adds r0, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _081702A6
- b _08170416
-_081702A6:
- lsls r0, 2
- ldr r1, =_081702BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081702BC:
- .4byte _081702D8
- .4byte _08170300
- .4byte _08170358
- .4byte _08170380
- .4byte _08170394
- .4byte _081703C0
- .4byte _081703E8
-_081702D8:
- ldr r0, [r4]
- adds r0, 0x8
- movs r1, 0
- bl sub_8122CDC
- movs r0, 0
- movs r1, 0
- bl sub_8124288
- movs r0, 0x1
- movs r1, 0x1
- bl sub_81240D4
- ldr r1, [r4]
- ldr r0, =0x0000088c
- adds r1, r0
- b _081703D8
- .pool
-_08170300:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x27
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r5, =gText_Hoenn
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x38
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0
- movs r1, 0
- movs r2, 0x27
- movs r3, 0xD
- bl SetWindowBorderStyle
- bl sub_8170428
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- b _081703CC
- .pool
-_08170358:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r0, =gUnknown_0203BCD0
- ldr r1, [r0]
- ldr r0, =0x0000088c
- adds r1, r0
- b _081703D8
- .pool
-_08170380:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08170416
- ldr r1, [r4]
- b _081703D4
- .pool
-_08170394:
- bl sub_81230AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _081703A6
- bl sub_8170428
- b _08170416
-_081703A6:
- cmp r0, 0x3
- blt _08170416
- cmp r0, 0x5
- bgt _08170416
- ldr r0, =gUnknown_0203BCD0
- ldr r1, [r0]
- ldr r0, =0x0000088c
- adds r1, r0
- b _081703D8
- .pool
-_081703C0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_081703CC:
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_0203BCD0
- ldr r1, [r0]
-_081703D4:
- ldr r2, =0x0000088c
- adds r1, r2
-_081703D8:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08170416
- .pool
-_081703E8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08170416
- bl sub_812305C
- ldr r4, =gUnknown_0203BCD0
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, [r4]
- cmp r0, 0
- beq _08170412
- bl Free
- str r5, [r4]
-_08170412:
- bl FreeAllWindowBuffers
-_08170416:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8170290
-
- thumb_func_start sub_8170428
-sub_8170428: @ 8170428
- push {r4,lr}
- sub sp, 0xC
- ldr r4, =gUnknown_0203BCD0
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _08170460
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, [r4]
- adds r2, 0xC
- 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 schedule_bg_copy_tilemap_to_vram
- b _08170470
- .pool
-_08170460:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08170470:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8170428
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_screen.s b/asm/field_screen.s
index 4ab8a5a53..d05028cc6 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,7 +1762,7 @@ _080ABDE4:
pop {r0}
bx r0
.pool
- thumb_func_end fade_screen
+ thumb_func_end FadeScreen
thumb_func_start sub_80ABDFC
sub_80ABDFC: @ 80ABDFC
@@ -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
@@ -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
@@ -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
@@ -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 FreezeMapObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@@ -8508,7 +8508,7 @@ _080AF580:
_080AF58A:
movs r0, 0
bl sub_80AF0F4
- bl player_bitmagic
+ bl FreezeMapObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@@ -8583,7 +8583,7 @@ task_map_chg_seq_0807E2CC: @ 80AF610
b _080AF65A
.pool
_080AF634:
- bl player_bitmagic
+ bl FreezeMapObjects
bl ScriptContext2_Enable
ldrh r0, [r4, 0x8]
adds r0, 0x1
@@ -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
@@ -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
@@ -8990,7 +8990,7 @@ _080AF99A:
bl sub_8009FAC
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
bl music_something
movs r0, 0x9
bl PlaySE
@@ -9062,7 +9062,7 @@ _080AFA34:
beq _080AFA6C
b _080AFA7C
_080AFA3A:
- bl player_bitmagic
+ bl FreezeMapObjects
bl ScriptContext2_Enable
b _080AFA64
_080AFA44:
@@ -9133,7 +9133,7 @@ _080AFAC0:
.4byte _080AFBB8
.4byte _080AFBD4
_080AFAD4:
- bl player_bitmagic
+ bl FreezeMapObjects
adds r0, r4, 0
adds r1, r6, 0
bl PlayerGetDestCoords
@@ -9290,7 +9290,7 @@ _080AFC1C:
beq _080AFC46
b _080AFC56
_080AFC22:
- bl player_bitmagic
+ bl FreezeMapObjects
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 FreezeMapObjects
bl ScriptContext2_Enable
bl sub_808D194
ldrh r0, [r4, 0x8]
@@ -10033,7 +10033,7 @@ _080B01E4:
beq _080B022A
b _080B023A
_080B01EE:
- bl player_bitmagic
+ bl FreezeMapObjects
bl ScriptContext2_Enable
movs r0, 0x2D
bl PlaySE
@@ -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
@@ -10424,7 +10424,7 @@ sub_80B0534: @ 80B0534
lsls r1, 3
ldr r0, =gTasks + 0x8
adds r1, r0
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
bne _080B0568
diff --git a/asm/field_specials.s b/asm/field_specials.s
new file mode 100644
index 000000000..29aca304f
--- /dev/null
+++ b/asm/field_specials.s
@@ -0,0 +1,8075 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start Special_ShowDiploma
+Special_ShowDiploma: @ 8137CB4
+ push {lr}
+ ldr r0, =CB2_ShowDiploma
+ bl SetMainCallback2
+ bl ScriptContext2_Enable
+ pop {r0}
+ bx r0
+ .pool
+ 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
+ str r1, [r0, 0x8]
+ ldr r0, =Cb2_ViewWallClock
+ bl SetMainCallback2
+ bl ScriptContext2_Enable
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end Special_ViewWallClock
+
+ thumb_func_start ResetCyclingRoadChallengeData
+ResetCyclingRoadChallengeData: @ 8137CEC
+ ldr r0, =gBikeCyclingChallenge
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, =0x0203ab55
+ strb r1, [r0]
+ ldr r1, =gUnknown_0203AB58
+ movs r0, 0
+ str r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end ResetCyclingRoadChallengeData
+
+ thumb_func_start Special_BeginCyclingRoadChallenge
+Special_BeginCyclingRoadChallenge: @ 8137D0C
+ ldr r1, =gBikeCyclingChallenge
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r1, =0x0203ab55
+ movs r0, 0
+ strb r0, [r1]
+ ldr r1, =gUnknown_0203AB58
+ ldr r0, =gMain
+ ldr r0, [r0, 0x20]
+ str r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end Special_BeginCyclingRoadChallenge
+
+ thumb_func_start GetPlayerAvatarBike
+GetPlayerAvatarBike: @ 8137D34
+ push {lr}
+ movs r0, 0x4
+ bl TestPlayerAvatarFlags
+ lsls r0, 24
+ cmp r0, 0
+ beq _08137D46
+ movs r0, 0x1
+ b _08137D58
+_08137D46:
+ movs r0, 0x2
+ bl TestPlayerAvatarFlags
+ lsls r0, 24
+ cmp r0, 0
+ bne _08137D56
+ movs r0, 0
+ b _08137D58
+_08137D56:
+ movs r0, 0x2
+_08137D58:
+ pop {r1}
+ bx r1
+ thumb_func_end GetPlayerAvatarBike
+
+ thumb_func_start DetermineCyclingRoadResults
+DetermineCyclingRoadResults: @ 8137D5C
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ lsls r1, 24
+ lsrs r6, r1, 24
+ cmp r6, 0x63
+ bhi _08137D88
+ ldr r4, =gStringVar1
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r1, =gText_SpaceTimes
+ adds r0, r4, 0
+ bl StringAppend
+ b _08137D90
+ .pool
+_08137D88:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_99TimesPlus
+ bl StringCopy
+_08137D90:
+ ldr r0, =0x00000e0f
+ cmp r7, r0
+ bhi _08137DF0
+ ldr r4, =gStringVar2
+ adds r0, r7, 0
+ movs r1, 0x3C
+ bl __udivsi3
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x1
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ movs r0, 0xAD
+ strb r0, [r4, 0x2]
+ adds r5, r4, 0x3
+ adds r0, r7, 0
+ movs r1, 0x3C
+ bl __umodsi3
+ movs r1, 0x64
+ muls r0, r1
+ movs r1, 0x3C
+ bl __udivsi3
+ adds r1, r0, 0
+ adds r0, r5, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r1, =gText_SpaceSeconds
+ adds r0, r4, 0
+ bl StringAppend
+ b _08137DF8
+ .pool
+_08137DF0:
+ ldr r0, =gStringVar2
+ ldr r1, =gText_1MinutePlus
+ bl StringCopy
+_08137DF8:
+ movs r4, 0
+ cmp r6, 0
+ bne _08137E0C
+ movs r4, 0x5
+ b _08137E2A
+ .pool
+_08137E0C:
+ cmp r6, 0x3
+ bhi _08137E14
+ movs r4, 0x4
+ b _08137E2A
+_08137E14:
+ cmp r6, 0x9
+ bhi _08137E1C
+ movs r4, 0x3
+ b _08137E2A
+_08137E1C:
+ cmp r6, 0x13
+ bhi _08137E24
+ movs r4, 0x2
+ b _08137E2A
+_08137E24:
+ cmp r6, 0x63
+ bhi _08137E2A
+ movs r4, 0x1
+_08137E2A:
+ adds r0, r7, 0
+ movs r1, 0x3C
+ bl __udivsi3
+ cmp r0, 0xA
+ bhi _08137E3A
+ adds r0, r4, 0x5
+ b _08137E58
+_08137E3A:
+ cmp r0, 0xF
+ bhi _08137E42
+ adds r0, r4, 0x4
+ b _08137E58
+_08137E42:
+ cmp r0, 0x14
+ bhi _08137E4A
+ adds r0, r4, 0x3
+ b _08137E58
+_08137E4A:
+ cmp r0, 0x28
+ bhi _08137E52
+ adds r0, r4, 0x2
+ b _08137E58
+_08137E52:
+ cmp r0, 0x3B
+ bhi _08137E5C
+ adds r0, r4, 0x1
+_08137E58:
+ lsls r0, 24
+ lsrs r4, r0, 24
+_08137E5C:
+ ldr r0, =gSpecialVar_Result
+ strh r4, [r0]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end DetermineCyclingRoadResults
+
+ 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, =0x0203ab55
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl DetermineCyclingRoadResults
+ ldrb r1, [r5]
+ adds r0, r4, 0
+ bl RecordCyclingRoadResults
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end FinishCyclingRoadChallenge
+
+ thumb_func_start RecordCyclingRoadResults
+RecordCyclingRoadResults: @ 8137E9C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ ldr r6, =0x00004028
+ adds r0, r6, 0
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r7, =0x00004029
+ adds r0, r7, 0
+ bl VarGet
+ lsls r0, 16
+ adds r4, r0
+ cmp r4, r5
+ bhi _08137ECC
+ cmp r4, 0
+ bne _08137EE6
+_08137ECC:
+ lsls r1, r5, 16
+ lsrs r1, 16
+ adds r0, r6, 0
+ bl VarSet
+ lsrs r1, r5, 16
+ adds r0, r7, 0
+ bl VarSet
+ ldr r0, =0x00004027
+ mov r1, r8
+ bl VarSet
+_08137EE6:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end RecordCyclingRoadResults
+
+ thumb_func_start GetRecordedCyclingRoadResults
+GetRecordedCyclingRoadResults: @ 8137EFC
+ push {r4,lr}
+ ldr r0, =0x00004028
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, =0x00004029
+ bl VarGet
+ lsls r0, 16
+ adds r4, r0
+ cmp r4, 0
+ beq _08137F3C
+ ldr r0, =0x00004027
+ bl VarGet
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl DetermineCyclingRoadResults
+ movs r0, 0x1
+ b _08137F3E
+ .pool
+_08137F3C:
+ movs r0, 0
+_08137F3E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetRecordedCyclingRoadResults
+
+ thumb_func_start UpdateCyclingRoadState
+UpdateCyclingRoadState: @ 8137F44
+ push {r4,lr}
+ ldr r0, =gUnknown_020322DC
+ ldrh r1, [r0]
+ ldr r0, =0x00000c1d
+ cmp r1, r0
+ beq _08137F7C
+ ldr r4, =0x000040a9
+ adds r0, r4, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ beq _08137F6E
+ adds r0, r4, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x3
+ bne _08137F7C
+_08137F6E:
+ adds r0, r4, 0
+ movs r1, 0
+ bl VarSet
+ movs r0, 0
+ bl Overworld_SetSavedMusic
+_08137F7C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end UpdateCyclingRoadState
+
+ thumb_func_start SetSSTidalFlag
+SetSSTidalFlag: @ 8137F90
+ push {lr}
+ ldr r0, =0x0000088d
+ bl FlagSet
+ ldr r0, =0x0000404a
+ bl GetVarPointer
+ movs r1, 0
+ strh r1, [r0]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end SetSSTidalFlag
+
+ thumb_func_start ResetSSTidalFlag
+ResetSSTidalFlag: @ 8137FB0
+ push {lr}
+ ldr r0, =0x0000088d
+ bl FlagClear
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end ResetSSTidalFlag
+
+ thumb_func_start CountSSTidalStep
+CountSSTidalStep: @ 8137FC0
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, =0x0000088d
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _08137FE6
+ ldr r0, =0x0000404a
+ bl GetVarPointer
+ ldrh r1, [r0]
+ adds r1, r4, r1
+ strh r1, [r0]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0xCC
+ bhi _08137FF4
+_08137FE6:
+ movs r0, 0
+ b _08137FF6
+ .pool
+_08137FF4:
+ movs r0, 0x1
+_08137FF6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end CountSSTidalStep
+
+ thumb_func_start GetSSTidalLocation
+GetSSTidalLocation: @ 8137FFC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ mov r8, r0
+ adds r5, r1, 0
+ adds r6, r2, 0
+ adds r7, r3, 0
+ ldr r0, =0x0000404a
+ bl GetVarPointer
+ adds r4, r0, 0
+ ldr r0, =0x000040b4
+ bl GetVarPointer
+ ldrh r0, [r0]
+ subs r0, 0x1
+ cmp r0, 0x9
+ bhi _081380C2
+ lsls r0, 2
+ ldr r1, =_08138038
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08138038:
+ .4byte _08138060
+ .4byte _08138070
+ .4byte _08138064
+ .4byte _08138068
+ .4byte _08138068
+ .4byte _0813806C
+ .4byte _08138098
+ .4byte _08138060
+ .4byte _08138064
+ .4byte _0813806C
+_08138060:
+ movs r0, 0x1
+ b _081380CE
+_08138064:
+ movs r0, 0x4
+ b _081380CE
+_08138068:
+ movs r0, 0x2
+ b _081380CE
+_0813806C:
+ movs r0, 0x3
+ b _081380CE
+_08138070:
+ ldrh r0, [r4]
+ cmp r0, 0x3B
+ bhi _08138080
+ movs r0, 0x31
+ strb r0, [r5]
+ ldrh r0, [r4]
+ adds r0, 0x13
+ b _081380C0
+_08138080:
+ cmp r0, 0x8B
+ bhi _0813808E
+ movs r0, 0x30
+ strb r0, [r5]
+ ldrh r0, [r4]
+ subs r0, 0x3C
+ b _081380C0
+_0813808E:
+ movs r0, 0x2F
+ strb r0, [r5]
+ ldrh r0, [r4]
+ subs r0, 0x8C
+ b _081380C0
+_08138098:
+ ldrh r0, [r4]
+ cmp r0, 0x41
+ bhi _081380A8
+ movs r0, 0x2F
+ strb r0, [r5]
+ ldrh r1, [r4]
+ movs r0, 0x41
+ b _081380BE
+_081380A8:
+ cmp r0, 0x91
+ bhi _081380B6
+ movs r0, 0x30
+ strb r0, [r5]
+ ldrh r1, [r4]
+ movs r0, 0x91
+ b _081380BE
+_081380B6:
+ movs r0, 0x31
+ strb r0, [r5]
+ ldrh r1, [r4]
+ movs r0, 0xE0
+_081380BE:
+ subs r0, r1
+_081380C0:
+ strh r0, [r6]
+_081380C2:
+ movs r0, 0
+ mov r1, r8
+ strb r0, [r1]
+ movs r0, 0x14
+ strh r0, [r7]
+ movs r0, 0
+_081380CE:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end GetSSTidalLocation
+
+ thumb_func_start is_tile_that_overrides_player_control
+is_tile_that_overrides_player_control: @ 81380D8
+ push {lr}
+ movs r0, 0x88
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813810A
+ ldr r0, =gMapHeader
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0x1
+ blt _0813810A
+ cmp r0, 0x3
+ ble _081380F6
+ cmp r0, 0x6
+ bne _0813810A
+_081380F6:
+ ldr r0, =0x000040f2
+ bl GetVarPointer
+ ldrh r1, [r0]
+ adds r1, 0x1
+ strh r1, [r0]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0xF9
+ bhi _08138118
+_0813810A:
+ movs r0, 0
+ b _0813811A
+ .pool
+_08138118:
+ movs r0, 0x1
+_0813811A:
+ pop {r1}
+ bx r1
+ thumb_func_end is_tile_that_overrides_player_control
+
+ thumb_func_start sub_8138120
+sub_8138120: @ 8138120
+ push {lr}
+ movs r0, 0x8A
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _08138152
+ ldr r0, =gMapHeader
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0x1
+ blt _08138152
+ cmp r0, 0x3
+ ble _0813813E
+ cmp r0, 0x6
+ bne _08138152
+_0813813E:
+ ldr r0, =0x000040f3
+ bl GetVarPointer
+ ldrh r1, [r0]
+ adds r1, 0x1
+ strh r1, [r0]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0x9
+ bhi _08138160
+_08138152:
+ movs r0, 0
+ b _08138162
+ .pool
+_08138160:
+ movs r0, 0x1
+_08138162:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8138120
+
+ thumb_func_start sub_8138168
+sub_8138168: @ 8138168
+ push {lr}
+ movs r0, 0x72
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813819A
+ ldr r0, =gMapHeader
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0x1
+ blt _0813819A
+ cmp r0, 0x3
+ ble _08138186
+ cmp r0, 0x6
+ bne _0813819A
+_08138186:
+ ldr r0, =0x000040f5
+ bl GetVarPointer
+ ldrh r1, [r0]
+ adds r1, 0x1
+ strh r1, [r0]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0x9
+ bhi _081381A8
+_0813819A:
+ movs r0, 0
+ b _081381AA
+ .pool
+_081381A8:
+ movs r0, 0x1
+_081381AA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8138168
+
+ thumb_func_start sub_81381B0
+sub_81381B0: @ 81381B0
+ push {lr}
+ movs r0, 0x80
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _081381E2
+ ldr r0, =gMapHeader
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0x1
+ blt _081381E2
+ cmp r0, 0x3
+ ble _081381CE
+ cmp r0, 0x6
+ bne _081381E2
+_081381CE:
+ ldr r0, =0x000040f4
+ bl GetVarPointer
+ ldrh r1, [r0]
+ adds r1, 0x1
+ strh r1, [r0]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0xF9
+ bhi _081381F0
+_081381E2:
+ movs r0, 0
+ b _081381F2
+ .pool
+_081381F0:
+ movs r0, 0x1
+_081381F2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81381B0
+
+ thumb_func_start sub_81381F8
+sub_81381F8: @ 81381F8
+ push {lr}
+ movs r0, 0x75
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813822A
+ ldr r0, =gMapHeader
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0x1
+ blt _0813822A
+ cmp r0, 0x3
+ ble _08138216
+ cmp r0, 0x6
+ bne _0813822A
+_08138216:
+ ldr r0, =0x000040f6
+ bl GetVarPointer
+ ldrh r1, [r0]
+ adds r1, 0x1
+ strh r1, [r0]
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0xF9
+ bhi _08138238
+_0813822A:
+ movs r0, 0
+ b _0813823A
+ .pool
+_08138238:
+ movs r0, 0x1
+_0813823A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81381F8
+
+ thumb_func_start GetLinkPartnerNames
+GetLinkPartnerNames: @ 8138240
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r6, 0
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r7, r0, 24
+ bl GetLinkPlayerCount
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _0813828A
+ ldr r0, =gTVStringVarPtrs
+ mov r8, r0
+_08138262:
+ cmp r7, r4
+ beq _08138280
+ lsls r0, r6, 2
+ add r0, r8
+ ldr r0, [r0]
+ lsls r1, r4, 3
+ subs r1, r4
+ lsls r1, 2
+ ldr r2, =gLinkPlayers + 8
+ adds r1, r2
+ bl StringCopy
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_08138280:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _08138262
+_0813828A:
+ adds r0, r5, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end GetLinkPartnerNames
+
+ thumb_func_start SpawnLinkPartnerFieldObject
+SpawnLinkPartnerFieldObject: @ 81382A0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ movs r7, 0
+ movs r0, 0
+ mov r9, r0
+ mov r8, r0
+ ldr r1, =gUnknown_085B2B5C
+ add r0, sp, 0x8
+ movs r2, 0x4
+ bl memcpy
+ add r4, sp, 0xC
+ ldr r1, =gUnknown_085B2B60
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl memcpy
+ bl GetMultiplayerId
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ bl player_get_direction_lower_nybble
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x2
+ beq _08138310
+ cmp r0, 0x2
+ bgt _081382F4
+ cmp r0, 0x1
+ beq _0813833C
+ b _08138350
+ .pool
+_081382F4:
+ cmp r1, 0x3
+ beq _081382FE
+ cmp r1, 0x4
+ beq _08138324
+ b _08138350
+_081382FE:
+ movs r7, 0x2
+ ldr r0, =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ subs r0, 0x1
+ b _0813832C
+ .pool
+_08138310:
+ movs r7, 0x1
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r1, [r0]
+ mov r9, r1
+ ldrh r0, [r0, 0x2]
+ subs r0, 0x1
+ b _0813834A
+ .pool
+_08138324:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+_0813832C:
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ ldrh r1, [r1, 0x2]
+ mov r8, r1
+ b _08138350
+ .pool
+_0813833C:
+ movs r7, 0x3
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r3, [r0]
+ mov r9, r3
+ ldrh r0, [r0, 0x2]
+ adds r0, 0x1
+_0813834A:
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+_08138350:
+ movs r6, 0
+ b _08138410
+ .pool
+_08138358:
+ cmp r10, r6
+ beq _0813840A
+ ldr r0, =gLinkPlayers
+ lsls r2, r6, 3
+ subs r1, r2, r6
+ lsls r1, 2
+ adds r1, r0
+ ldrb r3, [r1]
+ adds r4, r0, 0
+ cmp r3, 0x1
+ blt _0813838C
+ cmp r3, 0x2
+ ble _0813837C
+ cmp r3, 0x3
+ beq _08138388
+ b _0813838C
+ .pool
+_0813837C:
+ ldrb r0, [r1, 0x13]
+ movs r5, 0xEC
+ cmp r0, 0
+ bne _0813839C
+ movs r5, 0xEB
+ b _0813839C
+_08138388:
+ ldrb r0, [r1, 0x13]
+ b _08138394
+_0813838C:
+ subs r0, r2, r6
+ lsls r0, 2
+ adds r0, r4
+ ldrb r0, [r0, 0x13]
+_08138394:
+ movs r5, 0x69
+ cmp r0, 0
+ bne _0813839C
+ movs r5, 0x64
+_0813839C:
+ mov r0, sp
+ adds r0, r7
+ adds r0, 0x8
+ ldrb r1, [r0]
+ movs r4, 0xF0
+ subs r4, r6
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r2, r7, 1
+ mov r0, sp
+ adds r0, r2
+ adds r0, 0xC
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ mov r3, r9
+ lsls r3, 16
+ asrs r3, 16
+ mov r12, r3
+ add r0, r12
+ adds r3, r0, 0x7
+ lsls r3, 16
+ asrs r3, 16
+ mov r12, r3
+ mov r0, sp
+ adds r0, 0xD
+ adds r0, r2
+ movs r2, 0
+ ldrsb r2, [r0, r2]
+ mov r3, r8
+ lsls r0, r3, 16
+ asrs r0, 16
+ adds r0, r2
+ adds r0, 0x7
+ lsls r0, 16
+ asrs r0, 16
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ adds r0, r5, 0
+ adds r2, r4, 0
+ mov r3, r12
+ bl SpawnSpecialFieldObjectParametrized
+ adds r0, r5, 0
+ adds r1, r4, 0
+ adds r2, r6, 0
+ bl sub_813842C
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x4
+ bne _0813840A
+ movs r7, 0
+_0813840A:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_08138410:
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r6, r0
+ bcc _08138358
+ 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 SpawnLinkPartnerFieldObject
+
+ thumb_func_start sub_813842C
+sub_813842C: @ 813842C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r3, r1, 24
+ lsls r2, 24
+ movs r1, 0xC0
+ lsls r1, 19
+ adds r2, r1
+ lsrs r5, r2, 24
+ lsrs r4, r0, 24
+ movs r2, 0xA8
+ lsls r2, 21
+ adds r0, r2
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08138454
+ cmp r4, 0x64
+ beq _08138454
+ cmp r4, 0x69
+ bne _081384E6
+_08138454:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ ldrb r2, [r0, 0x4]
+ adds r0, r3, 0
+ bl GetFieldObjectIdByLocalIdAndMap
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x10
+ beq _081384E6
+ ldr r1, =gMapObjects
+ lsls r0, r2, 3
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x4]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, =gSprites
+ adds r1, r0
+ lsls r3, r5, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ cmp r4, 0x69
+ beq _081384D8
+ cmp r4, 0x69
+ bgt _081384A8
+ cmp r4, 0x64
+ beq _081384C4
+ b _081384E6
+ .pool
+_081384A8:
+ cmp r4, 0xEB
+ beq _081384B2
+ cmp r4, 0xEC
+ beq _081384BC
+ b _081384E6
+_081384B2:
+ ldr r0, =gFieldObjectPalette33
+ b _081384C6
+ .pool
+_081384BC:
+ ldr r0, =gFieldObjectPalette34
+ b _081384C6
+ .pool
+_081384C4:
+ ldr r0, =gFieldObjectPalette8
+_081384C6:
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r3, r2
+ movs r2, 0x20
+ bl LoadPalette
+ b _081384E6
+ .pool
+_081384D8:
+ ldr r0, =gFieldObjectPalette17
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r3, r2
+ movs r2, 0x20
+ bl LoadPalette
+_081384E6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813842C
+
+ thumb_func_start MauvilleGymSpecial1
+MauvilleGymSpecial1: @ 81384F0
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r5, =gUnknown_085B2B68
+_081384F6:
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r4, r0
+ bne _0813851C
+ lsls r1, r4, 2
+ adds r1, r5
+ ldrb r0, [r1]
+ ldrb r1, [r1, 0x1]
+ ldr r2, =0x00000206
+ bl MapGridSetMetatileIdAt
+ b _0813852A
+ .pool
+_0813851C:
+ lsls r1, r4, 2
+ adds r1, r5
+ ldrb r0, [r1]
+ ldrb r1, [r1, 0x1]
+ ldr r2, =0x00000205
+ bl MapGridSetMetatileIdAt
+_0813852A:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3
+ bls _081384F6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end MauvilleGymSpecial1
+
+ thumb_func_start MauvilleGymSpecial2
+MauvilleGymSpecial2: @ 8138540
+ push {r4-r6,lr}
+ movs r5, 0xC
+_08138544:
+ movs r4, 0x7
+ adds r6, r5, 0x1
+_08138548:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetMetatileIdAt
+ ldr r1, =0xfffffde6
+ adds r0, r1
+ cmp r0, 0x37
+ bls _0813855A
+ b _08138734
+_0813855A:
+ lsls r0, 2
+ ldr r1, =_0813856C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0813856C:
+ .4byte _081386F2
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _0813864C
+ .4byte _08138652
+ .4byte _0813868C
+ .4byte _08138694
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _0813865C
+ .4byte _08138662
+ .4byte _0813869C
+ .4byte _081386A4
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _0813866C
+ .4byte _08138672
+ .4byte _081386AC
+ .4byte _081386B4
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _0813867C
+ .4byte _08138684
+ .4byte _081386BC
+ .4byte _081386C4
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _081386CC
+ .4byte _081386DC
+ .4byte _081386EC
+ .4byte _08138714
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _081386D4
+ .4byte _081386E4
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _08138734
+ .4byte _0813872A
+ .4byte _0813871C
+_0813864C:
+ movs r2, 0x8C
+ lsls r2, 2
+ b _08138720
+_08138652:
+ ldr r2, =0x00000231
+ b _08138720
+ .pool
+_0813865C:
+ movs r2, 0x8E
+ lsls r2, 2
+ b _08138720
+_08138662:
+ ldr r2, =0x00000239
+ b _08138720
+ .pool
+_0813866C:
+ movs r2, 0x88
+ lsls r2, 2
+ b _08138720
+_08138672:
+ ldr r2, =0x00000221
+ b _08138720
+ .pool
+_0813867C:
+ ldr r2, =0x00000e28
+ b _08138720
+ .pool
+_08138684:
+ ldr r2, =0x00000e29
+ b _08138720
+ .pool
+_0813868C:
+ ldr r2, =0x00000232
+ b _08138720
+ .pool
+_08138694:
+ ldr r2, =0x00000233
+ b _08138720
+ .pool
+_0813869C:
+ ldr r2, =0x0000023a
+ b _08138720
+ .pool
+_081386A4:
+ ldr r2, =0x0000023b
+ b _08138720
+ .pool
+_081386AC:
+ ldr r2, =0x00000222
+ b _08138720
+ .pool
+_081386B4:
+ ldr r2, =0x00000223
+ b _08138720
+ .pool
+_081386BC:
+ ldr r2, =0x00000e2a
+ b _08138720
+ .pool
+_081386C4:
+ ldr r2, =0x00000e2b
+ b _08138720
+ .pool
+_081386CC:
+ ldr r2, =0x00000e42
+ b _08138720
+ .pool
+_081386D4:
+ ldr r2, =0x0000021a
+ b _08138720
+ .pool
+_081386DC:
+ ldr r2, =0x00000e43
+ b _08138720
+ .pool
+_081386E4:
+ ldr r2, =0x0000021a
+ b _08138720
+ .pool
+_081386EC:
+ movs r2, 0xE4
+ lsls r2, 4
+ b _08138720
+_081386F2:
+ subs r1, r5, 0x1
+ adds r0, r4, 0
+ bl MapGridGetMetatileIdAt
+ movs r1, 0x90
+ lsls r1, 2
+ cmp r0, r1
+ bne _0813870C
+ ldr r2, =0x00000e48
+ b _08138720
+ .pool
+_0813870C:
+ ldr r2, =0x00000e49
+ b _08138720
+ .pool
+_08138714:
+ ldr r2, =0x00000e41
+ b _08138720
+ .pool
+_0813871C:
+ movs r2, 0xE5
+ lsls r2, 4
+_08138720:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+ b _08138734
+_0813872A:
+ ldr r2, =0x00000251
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+_08138734:
+ adds r4, 0x1
+ cmp r4, 0xF
+ bgt _0813873C
+ b _08138548
+_0813873C:
+ adds r5, r6, 0
+ cmp r5, 0x17
+ bgt _08138744
+ b _08138544
+_08138744:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end MauvilleGymSpecial2
+
+ thumb_func_start MauvilleGymSpecial3
+MauvilleGymSpecial3: @ 8138750
+ push {r4-r6,lr}
+ ldr r4, =gUnknown_085B2B68
+ movs r5, 0x3
+_08138756:
+ ldrb r0, [r4]
+ ldrb r1, [r4, 0x1]
+ ldr r2, =0x00000206
+ bl MapGridSetMetatileIdAt
+ adds r4, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08138756
+ movs r5, 0xC
+_0813876A:
+ movs r4, 0x7
+ adds r6, r5, 0x1
+_0813876E:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridGetMetatileIdAt
+ ldr r1, =0xfffffde0
+ adds r0, r1
+ cmp r0, 0x30
+ bls _08138780
+ b _081388CA
+_08138780:
+ lsls r0, 2
+ ldr r1, =_0813879C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0813879C:
+ .4byte _08138860
+ .4byte _08138866
+ .4byte _08138880
+ .4byte _08138888
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _08138870
+ .4byte _08138876
+ .4byte _08138890
+ .4byte _08138898
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388A0
+ .4byte _081388A8
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388B0
+ .4byte _081388B0
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388CA
+ .4byte _081388C0
+_08138860:
+ movs r2, 0x8C
+ lsls r2, 2
+ b _081388B2
+_08138866:
+ ldr r2, =0x00000231
+ b _081388B2
+ .pool
+_08138870:
+ movs r2, 0x8E
+ lsls r2, 2
+ b _081388B2
+_08138876:
+ ldr r2, =0x00000239
+ b _081388B2
+ .pool
+_08138880:
+ ldr r2, =0x00000232
+ b _081388B2
+ .pool
+_08138888:
+ ldr r2, =0x00000233
+ b _081388B2
+ .pool
+_08138890:
+ ldr r2, =0x0000023a
+ b _081388B2
+ .pool
+_08138898:
+ ldr r2, =0x0000023b
+ b _081388B2
+ .pool
+_081388A0:
+ ldr r2, =0x00000e42
+ b _081388B2
+ .pool
+_081388A8:
+ ldr r2, =0x00000e43
+ b _081388B2
+ .pool
+_081388B0:
+ ldr r2, =0x0000021a
+_081388B2:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+ b _081388CA
+ .pool
+_081388C0:
+ ldr r2, =0x00000251
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl MapGridSetMetatileIdAt
+_081388CA:
+ adds r4, 0x1
+ cmp r4, 0xF
+ bgt _081388D2
+ b _0813876E
+_081388D2:
+ adds r5, r6, 0
+ cmp r5, 0x17
+ bgt _081388DA
+ b _0813876A
+_081388DA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end MauvilleGymSpecial3
+
+ thumb_func_start PetalburgGymSpecial1
+PetalburgGymSpecial1: @ 81388E4
+ push {lr}
+ ldr r0, =gUnknown_0203AB5C
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, =gUnknown_0203AB5D
+ strb r1, [r0]
+ movs r0, 0x2C
+ bl PlaySE
+ ldr r0, =Task_PetalburgGym
+ movs r1, 0x8
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end PetalburgGymSpecial1
+
+ thumb_func_start Task_PetalburgGym
+Task_PetalburgGym: @ 8138910
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, =gUnknown_085B2B78
+ ldr r5, =gUnknown_0203AB5D
+ ldrb r1, [r5]
+ adds r0, r1, r0
+ ldr r4, =gUnknown_0203AB5C
+ ldrb r2, [r4]
+ ldrb r0, [r0]
+ cmp r0, r2
+ bne _0813896C
+ ldr r0, =gSpecialVar_0x8004
+ ldrb r0, [r0]
+ ldr r2, =gUnknown_085B2B7E
+ lsls r1, 1
+ adds r1, r2
+ ldrh r1, [r1]
+ bl PetalburgGymFunc
+ movs r0, 0
+ strb r0, [r4]
+ ldrb r0, [r5]
+ adds r0, 0x1
+ strb r0, [r5]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _08138970
+ adds r0, r6, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ b _08138970
+ .pool
+_0813896C:
+ adds r0, r2, 0x1
+ strb r0, [r4]
+_08138970:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end Task_PetalburgGym
+
+ thumb_func_start PetalburgGymFunc
+PetalburgGymFunc: @ 8138978
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 16
+ lsrs r2, r1, 16
+ movs r7, 0
+ subs r0, 0x1
+ cmp r0, 0x7
+ bhi _08138A40
+ lsls r0, 2
+ ldr r1, =_081389A0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_081389A0:
+ .4byte _081389C0
+ .4byte _081389D2
+ .4byte _081389E4
+ .4byte _081389F6
+ .4byte _08138A04
+ .4byte _08138A1A
+ .4byte _08138A26
+ .4byte _08138A34
+_081389C0:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x68
+ b _08138A14
+_081389D2:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x4E
+ b _08138A14
+_081389E4:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x5B
+ b _08138A14
+_081389F6:
+ movs r7, 0x1
+ mov r1, sp
+ movs r0, 0x7
+ strh r0, [r1]
+ add r1, sp, 0x8
+ movs r0, 0x27
+ b _08138A3E
+_08138A04:
+ movs r7, 0x2
+ mov r1, sp
+ movs r0, 0x1
+ strh r0, [r1]
+ movs r0, 0x7
+ strh r0, [r1, 0x2]
+ add r1, sp, 0x8
+ movs r0, 0x34
+_08138A14:
+ strh r0, [r1]
+ strh r0, [r1, 0x2]
+ b _08138A40
+_08138A1A:
+ movs r7, 0x1
+ mov r0, sp
+ strh r7, [r0]
+ add r1, sp, 0x8
+ movs r0, 0x41
+ b _08138A3E
+_08138A26:
+ movs r7, 0x1
+ mov r1, sp
+ movs r0, 0x7
+ strh r0, [r1]
+ add r1, sp, 0x8
+ movs r0, 0xD
+ b _08138A3E
+_08138A34:
+ movs r7, 0x1
+ mov r0, sp
+ strh r7, [r0]
+ add r1, sp, 0x8
+ movs r0, 0x1A
+_08138A3E:
+ strh r0, [r1]
+_08138A40:
+ movs r6, 0
+ cmp r6, r7
+ bcs _08138A92
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1, 0
+ adds r1, r2, 0
+ orrs r1, r0
+ lsls r1, 16
+ mov r9, r1
+ adds r1, r2, 0
+ adds r1, 0x8
+ orrs r1, r0
+ lsls r1, 16
+ mov r8, r1
+_08138A5E:
+ lsls r1, r6, 1
+ mov r3, sp
+ adds r5, r3, r1
+ ldrh r0, [r5]
+ adds r0, 0x7
+ add r4, sp, 0x8
+ adds r4, r1
+ ldrh r1, [r4]
+ adds r1, 0x7
+ mov r3, r9
+ lsrs r2, r3, 16
+ bl MapGridSetMetatileIdAt
+ ldrh r0, [r5]
+ adds r0, 0x7
+ ldrh r1, [r4]
+ adds r1, 0x8
+ mov r3, r8
+ lsrs r2, r3, 16
+ bl MapGridSetMetatileIdAt
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, r7
+ bcc _08138A5E
+_08138A92:
+ bl DrawWholeMapView
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end PetalburgGymFunc
+
+ thumb_func_start PetalburgGymSpecial2
+PetalburgGymSpecial2: @ 8138AA4
+ push {lr}
+ ldr r0, =gSpecialVar_0x8004
+ ldrb r0, [r0]
+ ldr r1, =gUnknown_085B2B7E
+ ldrh r1, [r1, 0x8]
+ bl PetalburgGymFunc
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end PetalburgGymSpecial2
+
+ thumb_func_start ShowFieldMessageStringVar4
+ShowFieldMessageStringVar4: @ 8138AC0
+ push {lr}
+ ldr r0, =gStringVar4
+ bl ShowFieldMessage
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end ShowFieldMessageStringVar4
+
+ thumb_func_start StorePlayerCoordsInVars
+StorePlayerCoordsInVars: @ 8138AD0
+ ldr r1, =gSpecialVar_0x8004
+ ldr r0, =gSaveBlock1Ptr
+ ldr r2, [r0]
+ ldrh r0, [r2]
+ strh r0, [r1]
+ ldr r1, =gSpecialVar_0x8005
+ ldrh r0, [r2, 0x2]
+ strh r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end StorePlayerCoordsInVars
+
+ thumb_func_start GetPlayerTrainerIdOnesDigit
+GetPlayerTrainerIdOnesDigit: @ 8138AF0
+ 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, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end GetPlayerTrainerIdOnesDigit
+
+ thumb_func_start GetPlayerBigGuyGirlString
+GetPlayerBigGuyGirlString: @ 8138B10
+ push {lr}
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _08138B34
+ ldr r0, =gStringVar1
+ ldr r1, =gText_BigGuy
+ bl StringCopy
+ b _08138B3C
+ .pool
+_08138B34:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_BigGirl
+ bl StringCopy
+_08138B3C:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end GetPlayerBigGuyGirlString
+
+ thumb_func_start GetRivalSonDaughterString
+GetRivalSonDaughterString: @ 8138B48
+ push {lr}
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _08138B6C
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Daughter
+ bl StringCopy
+ b _08138B74
+ .pool
+_08138B6C:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Son
+ bl StringCopy
+_08138B74:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end GetRivalSonDaughterString
+
+ thumb_func_start sub_8138B80
+sub_8138B80: @ 8138B80
+ ldr r0, =gBattleOutcome
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8138B80
+
+ thumb_func_start CableCarWarp
+CableCarWarp: @ 8138B8C
+ push {lr}
+ sub sp, 0x4
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _08138BB0
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x4
+ str r0, [sp]
+ movs r0, 0x13
+ movs r1, 0
+ movs r3, 0x6
+ bl Overworld_SetWarpDestination
+ b _08138BC2
+ .pool
+_08138BB0:
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x4
+ str r0, [sp]
+ movs r0, 0x13
+ movs r1, 0x1
+ movs r3, 0x6
+ bl Overworld_SetWarpDestination
+_08138BC2:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end CableCarWarp
+
+ thumb_func_start SetFlagInVar
+SetFlagInVar: @ 8138BC8
+ push {lr}
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ bl FlagSet
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end SetFlagInVar
+
+ thumb_func_start GetWeekCount
+GetWeekCount: @ 8138BDC
+ push {lr}
+ ldr r0, =gLocalTime
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0x7
+ bl __divsi3
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, =0x0000270f
+ cmp r0, r1
+ bls _08138BF6
+ adds r0, r1, 0
+_08138BF6:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end GetWeekCount
+
+ thumb_func_start GetLeadMonFriendshipScore
+GetLeadMonFriendshipScore: @ 8138C04
+ push {r4,lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0xFF
+ bne _08138C2C
+ movs r0, 0x6
+ b _08138C7E
+ .pool
+_08138C2C:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _08138C3C
+ movs r0, 0x5
+ b _08138C7E
+_08138C3C:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0x95
+ bls _08138C4C
+ movs r0, 0x4
+ b _08138C7E
+_08138C4C:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0x63
+ bls _08138C5C
+ movs r0, 0x3
+ b _08138C7E
+_08138C5C:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0x31
+ bls _08138C6C
+ movs r0, 0x2
+ b _08138C7E
+_08138C6C:
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl GetMonData
+ cmp r0, 0
+ bne _08138C7C
+ movs r0, 0
+ b _08138C7E
+_08138C7C:
+ movs r0, 0x1
+_08138C7E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetLeadMonFriendshipScore
+
+ thumb_func_start CB2_FieldShowRegionMap
+CB2_FieldShowRegionMap: @ 8138C84
+ push {lr}
+ ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ bl sub_817018C
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end CB2_FieldShowRegionMap
+
+ thumb_func_start FieldShowRegionMap
+FieldShowRegionMap: @ 8138C94
+ push {lr}
+ ldr r0, =CB2_FieldShowRegionMap
+ bl SetMainCallback2
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end FieldShowRegionMap
+
+ thumb_func_start DoPCTurnOnEffect
+DoPCTurnOnEffect: @ 8138CA4
+ push {r4,lr}
+ ldr r4, =Task_PCTurnOnEffect
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08138CD8
+ adds r0, r4, 0
+ 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
+ movs r2, 0
+ strh r2, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r2, [r1, 0xC]
+ strh r2, [r1, 0xE]
+ strh r2, [r1, 0x10]
+_08138CD8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end DoPCTurnOnEffect
+
+ thumb_func_start Task_PCTurnOnEffect
+Task_PCTurnOnEffect: @ 8138CE8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08138D06
+ adds r0, r1, 0
+ bl PCTurnOnEffect_0
+_08138D06:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end Task_PCTurnOnEffect
+
+ thumb_func_start PCTurnOnEffect_0
+PCTurnOnEffect_0: @ 8138D10
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r6, 0
+ movs r5, 0
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x6
+ bne _08138D7C
+ strh r5, [r4, 0xE]
+ bl player_get_direction_lower_nybble
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x3
+ beq _08138D44
+ cmp r0, 0x3
+ bgt _08138D3A
+ cmp r0, 0x2
+ beq _08138D40
+ b _08138D4C
+_08138D3A:
+ cmp r1, 0x4
+ beq _08138D48
+ b _08138D4C
+_08138D40:
+ movs r6, 0
+ b _08138D4A
+_08138D44:
+ movs r6, 0xFF
+ b _08138D4A
+_08138D48:
+ movs r6, 0x1
+_08138D4A:
+ movs r5, 0xFF
+_08138D4C:
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ lsls r1, r6, 24
+ asrs r1, 24
+ lsls r2, r5, 24
+ asrs r2, 24
+ bl PCTurnOnEffect_1
+ bl DrawWholeMapView
+ ldrh r0, [r4, 0x10]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0x10]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ bne _08138D7C
+ ldrb r0, [r4, 0xA]
+ bl DestroyTask
+_08138D7C:
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end PCTurnOnEffect_0
+
+ thumb_func_start PCTurnOnEffect_1
+PCTurnOnEffect_1: @ 8138D88
+ push {r4,r5,lr}
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r4, r2, 24
+ movs r3, 0
+ lsls r0, 16
+ cmp r0, 0
+ beq _08138DC4
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08138DAC
+ movs r3, 0x4
+ b _08138DE6
+ .pool
+_08138DAC:
+ cmp r0, 0x1
+ bne _08138DB8
+ ldr r3, =0x0000025a
+ b _08138DE6
+ .pool
+_08138DB8:
+ cmp r0, 0x2
+ bne _08138DE6
+ ldr r3, =0x00000259
+ b _08138DE6
+ .pool
+_08138DC4:
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08138DD4
+ movs r3, 0x5
+ b _08138DE6
+ .pool
+_08138DD4:
+ cmp r0, 0x1
+ bne _08138DE0
+ ldr r3, =0x0000027f
+ b _08138DE6
+ .pool
+_08138DE0:
+ cmp r0, 0x2
+ bne _08138DE6
+ ldr r3, =0x0000027e
+_08138DE6:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r2, [r0]
+ movs r5, 0
+ ldrsh r0, [r2, r5]
+ lsls r1, 24
+ asrs r1, 24
+ adds r0, r1
+ adds r0, 0x7
+ movs r5, 0x2
+ ldrsh r1, [r2, r5]
+ lsls r2, r4, 24
+ asrs r2, 24
+ adds r1, r2
+ adds r1, 0x7
+ movs r4, 0xC0
+ lsls r4, 4
+ adds r2, r4, 0
+ orrs r3, r2
+ adds r2, r3, 0
+ bl MapGridSetMetatileIdAt
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end PCTurnOnEffect_1
+
+ thumb_func_start DoPCTurnOffEffect
+DoPCTurnOffEffect: @ 8138E20
+ push {lr}
+ bl PCTurnOffEffect
+ pop {r0}
+ bx r0
+ thumb_func_end DoPCTurnOffEffect
+
+ 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
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x3
+ beq _08138E56
+ cmp r0, 0x3
+ bgt _08138E4C
+ cmp r0, 0x2
+ beq _08138E52
+ b _08138E5E
+_08138E4C:
+ cmp r1, 0x4
+ beq _08138E5A
+ b _08138E5E
+_08138E52:
+ movs r6, 0
+ b _08138E5C
+_08138E56:
+ movs r6, 0xFF
+ b _08138E5C
+_08138E5A:
+ movs r6, 0x1
+_08138E5C:
+ movs r5, 0xFF
+_08138E5E:
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08138E70
+ movs r4, 0x4
+ b _08138E82
+ .pool
+_08138E70:
+ cmp r0, 0x1
+ bne _08138E7C
+ ldr r4, =0x0000025a
+ b _08138E82
+ .pool
+_08138E7C:
+ cmp r0, 0x2
+ bne _08138E82
+ ldr r4, =0x00000259
+_08138E82:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r2, [r0]
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ lsls r1, r6, 24
+ asrs r1, 24
+ adds r0, r1
+ adds r0, 0x7
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ lsls r2, r5, 24
+ asrs r2, 24
+ adds r1, r2
+ adds r1, 0x7
+ movs r3, 0xC0
+ lsls r3, 4
+ adds r2, r3, 0
+ orrs r4, r2
+ adds r2, r4, 0
+ bl MapGridSetMetatileIdAt
+ bl DrawWholeMapView
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end PCTurnOffEffect
+
+ thumb_func_start DoLotteryCornerComputerEffect
+DoLotteryCornerComputerEffect: @ 8138EC0
+ push {r4,lr}
+ ldr r4, =Task_LotteryCornerComputerEffect
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08138EF4
+ adds r0, r4, 0
+ 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
+ movs r2, 0
+ strh r2, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r2, [r1, 0xC]
+ strh r2, [r1, 0xE]
+ strh r2, [r1, 0x10]
+_08138EF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end DoLotteryCornerComputerEffect
+
+ thumb_func_start Task_LotteryCornerComputerEffect
+Task_LotteryCornerComputerEffect: @ 8138F04
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08138F22
+ adds r0, r1, 0
+ bl LotteryCornerComputerEffect
+_08138F22:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end Task_LotteryCornerComputerEffect
+
+ thumb_func_start LotteryCornerComputerEffect
+LotteryCornerComputerEffect: @ 8138F2C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x6
+ bne _08138F9A
+ movs r0, 0
+ strh r0, [r4, 0xE]
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08138F64
+ ldr r2, =0x00000e9d
+ movs r0, 0x12
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ ldr r2, =0x00000ea5
+ movs r0, 0x12
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+ b _08138F7A
+ .pool
+_08138F64:
+ ldr r2, =0x00000e58
+ movs r0, 0x12
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ movs r2, 0xE6
+ lsls r2, 4
+ movs r0, 0x12
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+_08138F7A:
+ bl DrawWholeMapView
+ ldrh r0, [r4, 0x10]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0x10]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ bne _08138F9A
+ ldrb r0, [r4, 0xA]
+ bl DestroyTask
+_08138F9A:
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end LotteryCornerComputerEffect
+
+ thumb_func_start EndLotteryCornerComputerEffect
+EndLotteryCornerComputerEffect: @ 8138FAC
+ push {lr}
+ ldr r2, =0x00000e9d
+ movs r0, 0x12
+ movs r1, 0x8
+ bl MapGridSetMetatileIdAt
+ ldr r2, =0x00000ea5
+ movs r0, 0x12
+ movs r1, 0x9
+ bl MapGridSetMetatileIdAt
+ bl DrawWholeMapView
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end EndLotteryCornerComputerEffect
+
+ thumb_func_start SetTrickHouseEndRoomFlag
+SetTrickHouseEndRoomFlag: @ 8138FD4
+ push {lr}
+ ldr r1, =gSpecialVar_0x8004
+ ldr r0, =0x000001f5
+ strh r0, [r1]
+ bl FlagSet
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end SetTrickHouseEndRoomFlag
+
+ thumb_func_start ResetTrickHouseEndRoomFlag
+ResetTrickHouseEndRoomFlag: @ 8138FEC
+ push {lr}
+ ldr r1, =gSpecialVar_0x8004
+ ldr r0, =0x000001f5
+ strh r0, [r1]
+ bl FlagClear
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end ResetTrickHouseEndRoomFlag
+
+ thumb_func_start CheckLeadMonCool
+CheckLeadMonCool: @ 8139004
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x16
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _08139028
+ movs r0, 0x1
+ b _0813902A
+ .pool
+_08139028:
+ movs r0, 0
+_0813902A:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonCool
+
+ thumb_func_start CheckLeadMonBeauty
+CheckLeadMonBeauty: @ 8139030
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x17
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _08139054
+ movs r0, 0x1
+ b _08139056
+ .pool
+_08139054:
+ movs r0, 0
+_08139056:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonBeauty
+
+ thumb_func_start CheckLeadMonCute
+CheckLeadMonCute: @ 813905C
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x18
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _08139080
+ movs r0, 0x1
+ b _08139082
+ .pool
+_08139080:
+ movs r0, 0
+_08139082:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonCute
+
+ thumb_func_start CheckLeadMonSmart
+CheckLeadMonSmart: @ 8139088
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x21
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _081390AC
+ movs r0, 0x1
+ b _081390AE
+ .pool
+_081390AC:
+ movs r0, 0
+_081390AE:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonSmart
+
+ thumb_func_start CheckLeadMonTough
+CheckLeadMonTough: @ 81390B4
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x2F
+ bl GetMonData
+ cmp r0, 0xC7
+ bls _081390D8
+ movs r0, 0x1
+ b _081390DA
+ .pool
+_081390D8:
+ movs r0, 0
+_081390DA:
+ pop {r1}
+ bx r1
+ thumb_func_end CheckLeadMonTough
+
+ thumb_func_start IsGrassTypeInParty
+IsGrassTypeInParty: @ 81390E0
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r6, =gBaseStats
+_081390E6:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _0813913C
+ adds r0, r4, 0
+ movs r1, 0x2D
+ bl GetMonData
+ cmp r0, 0
+ bne _0813913C
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldrb r0, [r1, 0x6]
+ cmp r0, 0xC
+ beq _08139128
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0xC
+ bne _0813913C
+_08139128:
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x1
+ b _0813914A
+ .pool
+_0813913C:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _081390E6
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0
+_0813914A:
+ strh r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end IsGrassTypeInParty
+
+ thumb_func_start SpawnScriptFieldObject
+SpawnScriptFieldObject: @ 8139158
+ push {lr}
+ sub sp, 0x8
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r3, [r0]
+ adds r3, 0x7
+ lsls r3, 16
+ asrs r3, 16
+ ldrh r0, [r0, 0x2]
+ adds r0, 0x7
+ lsls r0, 16
+ asrs r0, 16
+ str r0, [sp]
+ movs r0, 0x3
+ str r0, [sp, 0x4]
+ movs r0, 0x7
+ movs r1, 0x8
+ movs r2, 0x7F
+ bl SpawnSpecialFieldObjectParametrized
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gMapObjects
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x1]
+ movs r2, 0x20
+ orrs r0, r2
+ strb r0, [r1, 0x1]
+ ldrb r0, [r1, 0x4]
+ bl CameraObjectSetFollowedObjectId
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end SpawnScriptFieldObject
+
+ thumb_func_start RemoveScriptFieldObject
+RemoveScriptFieldObject: @ 81391AC
+ push {lr}
+ bl GetPlayerAvatarObjectId
+ lsls r0, 24
+ lsrs r0, 24
+ bl CameraObjectSetFollowedObjectId
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ ldrb r2, [r0, 0x4]
+ movs r0, 0x7F
+ bl RemoveFieldObjectByLocalIdAndMap
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end RemoveScriptFieldObject
+
+ thumb_func_start GetPokeblockNameByMonNature
+GetPokeblockNameByMonNature: @ 81391D0
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ bl GetNature
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gStringVar1
+ bl CopyMonFavoritePokeblockName
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end GetPokeblockNameByMonNature
+
+ thumb_func_start GetSecretBaseNearbyMapName
+GetSecretBaseNearbyMapName: @ 8139200
+ push {r4,lr}
+ ldr r4, =gStringVar1
+ ldr r0, =0x00004026
+ bl VarGet
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ movs r2, 0
+ bl GetMapName
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end GetSecretBaseNearbyMapName
+
+ thumb_func_start sub_8139228
+sub_8139228: @ 8139228
+ push {lr}
+ movs r0, 0x20
+ bl GetGameStat
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8139228
+
+ thumb_func_start sub_8139238
+sub_8139238: @ 8139238
+ push {lr}
+ ldr r0, =gStringVar1
+ bl GetEreaderTrainerName
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139238
+
+ thumb_func_start sub_8139248
+sub_8139248: @ 8139248
+ push {r4,r5,lr}
+ ldr r0, =gSaveBlock1Ptr
+ ldr r2, [r0]
+ ldr r1, =0x00002e68
+ adds r0, r2, r1
+ ldrb r1, [r0]
+ lsls r1, 25
+ ldr r0, =0x00002e6a
+ adds r2, r0
+ lsrs r1, 25
+ ldrh r2, [r2]
+ adds r1, r2
+ ldr r2, =gUnknown_085B2B88
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ adds r0, r2
+ ldrb r0, [r0]
+ adds r5, r1, r0
+ movs r0, 0x2
+ bl GetPriceReduction
+ lsls r0, 24
+ cmp r0, 0
+ bne _08139294
+ ldr r4, =gUnknown_085B2B94
+ b _08139296
+ .pool
+_08139294:
+ ldr r4, =gUnknown_085B2BA0
+_08139296:
+ adds r0, r5, 0
+ movs r1, 0xC
+ bl __umodsi3
+ adds r0, r4
+ ldrb r0, [r0]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8139248
+
+ thumb_func_start sub_81392AC
+sub_81392AC: @ 81392AC
+ push {lr}
+ ldr r1, =gSpecialVar_0x8004
+ ldr r0, =0x00000213
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _081392CC
+ movs r0, 0x1
+ b _081392CE
+ .pool
+_081392CC:
+ movs r0, 0
+_081392CE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81392AC
+
+ thumb_func_start sub_81392D4
+sub_81392D4: @ 81392D4
+ push {lr}
+ ldr r1, =gSpecialVar_0x8004
+ movs r0, 0x85
+ lsls r0, 2
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _081392F0
+ movs r0, 0x1
+ b _081392F2
+ .pool
+_081392F0:
+ movs r0, 0
+_081392F2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81392D4
+
+ thumb_func_start sub_81392F8
+sub_81392F8: @ 81392F8
+ push {lr}
+ ldr r1, =gSpecialVar_0x8004
+ ldr r0, =0x00000215
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _08139318
+ movs r0, 0x1
+ b _0813931A
+ .pool
+_08139318:
+ movs r0, 0
+_0813931A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81392F8
+
+ thumb_func_start sub_8139320
+sub_8139320: @ 8139320
+ push {lr}
+ ldr r1, =gSpecialVar_0x8004
+ ldr r0, =0x00000216
+ strh r0, [r1]
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _08139340
+ movs r0, 0x1
+ b _08139342
+ .pool
+_08139340:
+ movs r0, 0
+_08139342:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8139320
+
+ thumb_func_start LeadMonHasEffortRibbon
+LeadMonHasEffortRibbon: @ 8139348
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x47
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end LeadMonHasEffortRibbon
+
+ thumb_func_start GiveLeadMonEffortRibbon
+GiveLeadMonEffortRibbon: @ 8139370
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0x2A
+ bl IncrementGameStat
+ ldr r0, =0x0000089b
+ bl FlagSet
+ movs r1, 0x1
+ mov r0, sp
+ strb r1, [r0]
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x47
+ mov r2, sp
+ bl SetMonData
+ adds r0, r4, 0
+ bl GetRibbonCount
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bls _081393B6
+ adds r0, r4, 0
+ movs r1, 0x47
+ bl sub_80EE4DC
+_081393B6:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end GiveLeadMonEffortRibbon
+
+ thumb_func_start Special_AreLeadMonEVsMaxedOut
+Special_AreLeadMonEVsMaxedOut: @ 81393C8
+ push {lr}
+ bl GetLeadMonIndex
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ bl GetMonEVCount
+ lsls r0, 16
+ ldr r1, =0x01fd0000
+ cmp r0, r1
+ bhi _081393F4
+ movs r0, 0
+ b _081393F6
+ .pool
+_081393F4:
+ movs r0, 0x1
+_081393F6:
+ pop {r1}
+ bx r1
+ thumb_func_end Special_AreLeadMonEVsMaxedOut
+
+ thumb_func_start sub_81393FC
+sub_81393FC: @ 81393FC
+ push {lr}
+ movs r0, 0xC7
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ bne _08139454
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r1, [r0, 0x4]
+ movs r0, 0x83
+ lsls r0, 3
+ cmp r1, r0
+ bne _08139454
+ subs r0, 0x75
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _08139434
+ ldr r0, =0x0000409a
+ movs r1, 0x4
+ b _08139446
+ .pool
+_08139434:
+ movs r0, 0xE9
+ lsls r0, 2
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ beq _08139454
+ ldr r0, =0x0000409a
+ movs r1, 0x5
+_08139446:
+ bl VarSet
+ movs r0, 0x1
+ b _08139456
+ .pool
+_08139454:
+ movs r0, 0
+_08139456:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81393FC
+
+ thumb_func_start SetShoalItemFlag
+SetShoalItemFlag: @ 813945C
+ push {lr}
+ ldr r0, =0x000008bf
+ bl FlagSet
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end SetShoalItemFlag
+
+ thumb_func_start PutZigzagoonInPlayerParty
+PutZigzagoonInPlayerParty: @ 813946C
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r5, =gPlayerParty
+ movs r1, 0x90
+ lsls r1, 1
+ movs r4, 0
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r4, [sp, 0x8]
+ str r4, [sp, 0xC]
+ adds r0, r5, 0
+ movs r2, 0x7
+ movs r3, 0x20
+ bl CreateMon
+ movs r1, 0x1
+ add r0, sp, 0x10
+ strh r1, [r0]
+ adds r0, r5, 0
+ movs r1, 0x2E
+ add r2, sp, 0x10
+ bl SetMonData
+ add r1, sp, 0x10
+ movs r0, 0x21
+ strh r0, [r1]
+ adds r0, r5, 0
+ movs r1, 0xD
+ add r2, sp, 0x10
+ bl SetMonData
+ add r0, sp, 0x10
+ strh r4, [r0]
+ adds r0, r5, 0
+ movs r1, 0xE
+ add r2, sp, 0x10
+ bl SetMonData
+ adds r0, r5, 0
+ movs r1, 0xF
+ add r2, sp, 0x10
+ bl SetMonData
+ adds r0, r5, 0
+ movs r1, 0x10
+ add r2, sp, 0x10
+ bl SetMonData
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end PutZigzagoonInPlayerParty
+
+ thumb_func_start IsStarterInParty
+IsStarterInParty: @ 81394D8
+ push {r4-r6,lr}
+ ldr r0, =0x00004023
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ bl GetStarterPokemon
+ lsls r0, 16
+ lsrs r6, r0, 16
+ bl CalculatePlayerPartyCount
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _08139526
+_081394FA:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ cmp r0, r6
+ bne _0813951C
+ movs r0, 0x1
+ b _08139528
+ .pool
+_0813951C:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _081394FA
+_08139526:
+ movs r0, 0
+_08139528:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end IsStarterInParty
+
+ thumb_func_start ScriptCheckFreePokemonStorageSpace
+ScriptCheckFreePokemonStorageSpace: @ 8139530
+ push {lr}
+ bl CheckFreePokemonStorageSpace
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end ScriptCheckFreePokemonStorageSpace
+
+ thumb_func_start IsPokerusInParty
+IsPokerusInParty: @ 8139540
+ push {lr}
+ ldr r0, =gPlayerParty
+ movs r1, 0x3F
+ bl CheckPartyPokerus
+ lsls r0, 24
+ cmp r0, 0
+ beq _08139558
+ movs r0, 0x1
+ b _0813955A
+ .pool
+_08139558:
+ movs r0, 0
+_0813955A:
+ pop {r1}
+ bx r1
+ thumb_func_end IsPokerusInParty
+
+ thumb_func_start sub_8139560
+sub_8139560: @ 8139560
+ push {lr}
+ ldr r0, =sub_81395BC
+ 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
+ ldr r0, =gSpecialVar_0x8005
+ ldrh r0, [r0]
+ movs r2, 0
+ strh r0, [r1, 0x8]
+ strh r2, [r1, 0xA]
+ ldr r0, =gSpecialVar_0x8006
+ ldrh r0, [r0]
+ strh r0, [r1, 0xC]
+ ldr r0, =gSpecialVar_0x8007
+ ldrh r0, [r0]
+ strh r0, [r1, 0xE]
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ strh r0, [r1, 0x10]
+ movs r0, 0
+ bl SetCameraPanningCallback
+ movs r0, 0xD6
+ bl PlaySE
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139560
+
+ thumb_func_start sub_81395BC
+sub_81395BC: @ 81395BC
+ 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 _08139614
+ 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 _08139614
+ adds r0, r5, 0
+ bl sub_8139620
+ bl InstallCameraPanAheadCallback
+_08139614:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81395BC
+
+ thumb_func_start sub_8139620
+sub_8139620: @ 8139620
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139620
+
+ thumb_func_start sub_8139634
+sub_8139634: @ 8139634
+ push {lr}
+ movs r0, 0x95
+ lsls r0, 2
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8139634
+
+ 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
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08139664
+ movs r0, 0x14
+ bl SetSav1Weather
+_08139664:
+ pop {r0}
+ bx r0
+ thumb_func_end SetRoute119Weather
+
+ 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
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08139684
+ movs r0, 0x15
+ bl SetSav1Weather
+_08139684:
+ pop {r0}
+ bx r0
+ thumb_func_end SetRoute123Weather
+
+ thumb_func_start GetLeadMonIndex
+GetLeadMonIndex: @ 8139688
+ push {r4-r6,lr}
+ bl CalculatePlayerPartyCount
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+ cmp r5, r6
+ bcs _081396D6
+_08139698:
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ movs r1, 0xCE
+ lsls r1, 1
+ cmp r0, r1
+ beq _081396CC
+ adds r0, r4, 0
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ cmp r0, 0
+ beq _081396CC
+ adds r0, r5, 0
+ b _081396D8
+ .pool
+_081396CC:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r6
+ bcc _08139698
+_081396D6:
+ movs r0, 0
+_081396D8:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end GetLeadMonIndex
+
+ thumb_func_start ScriptGetPartyMonSpecies
+ScriptGetPartyMonSpecies: @ 81396E0
+ push {lr}
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x41
+ movs r2, 0
+ bl GetMonData
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end ScriptGetPartyMonSpecies
+
+ thumb_func_start nullsub_54
+nullsub_54: @ 8139708
+ bx lr
+ thumb_func_end nullsub_54
+
+ thumb_func_start sub_813970C
+sub_813970C: @ 813970C
+ push {r4,lr}
+ ldr r0, =0x000040c2
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ adds r3, r0, 0
+ ldr r2, =gLocalTime
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ subs r0, r3
+ cmp r0, 0x6
+ ble _08139734
+ movs r0, 0
+ b _0813974C
+ .pool
+_08139734:
+ ldrh r1, [r2]
+ movs r4, 0
+ ldrsh r0, [r2, r4]
+ cmp r0, 0
+ blt _0813974A
+ subs r1, r3
+ movs r0, 0x7
+ subs r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ b _0813974C
+_0813974A:
+ movs r0, 0x8
+_0813974C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813970C
+
+ thumb_func_start sub_8139754
+sub_8139754: @ 8139754
+ push {r4,lr}
+ ldr r0, =0x000040c2
+ ldr r4, =gLocalTime
+ ldrh r1, [r4]
+ bl VarSet
+ ldrh r0, [r4]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8139754
+
+ thumb_func_start sub_8139770
+sub_8139770: @ 8139770
+ push {r4-r6,lr}
+ ldr r6, =gSpecialVar_0x8004
+ ldrh r0, [r6]
+ movs r5, 0x64
+ muls r0, r5
+ ldr r4, =gPlayerParty
+ adds r0, r4
+ movs r1, 0x3
+ bl GetMonData
+ cmp r0, 0x2
+ bne _081397A6
+ ldrh r0, [r6]
+ muls r0, r5
+ adds r0, r4
+ ldr r4, =gStringVar1
+ movs r1, 0x7
+ adds r2, r4, 0
+ bl GetMonData
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ adds r1, r4, 0
+ bl StringCompare
+ cmp r0, 0
+ beq _081397BC
+_081397A6:
+ movs r0, 0x1
+ b _081397BE
+ .pool
+_081397BC:
+ movs r0, 0
+_081397BE:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8139770
+
+ thumb_func_start sub_81397C4
+sub_81397C4: @ 81397C4
+ push {r4,r5,lr}
+ ldr r2, =gSpecialVar_Result
+ ldrh r1, [r2]
+ ldr r0, =0x0000270f
+ cmp r1, r0
+ bls _081397E0
+ movs r0, 0
+ bl TV_PrintIntToStringVar
+ b _08139862
+ .pool
+_081397E0:
+ ldr r0, =0x000003e7
+ cmp r1, r0
+ bls _081397F8
+ ldr r4, =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ adds r4, 0x1
+ b _0813981C
+ .pool
+_081397F8:
+ cmp r1, 0x63
+ bls _0813980C
+ ldr r4, =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ strb r0, [r4, 0x1]
+ adds r4, 0x2
+ b _0813981C
+ .pool
+_0813980C:
+ cmp r1, 0x9
+ bls _0813983C
+ ldr r4, =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ strb r0, [r4, 0x1]
+ strb r0, [r4, 0x2]
+ adds r4, 0x3
+_0813981C:
+ ldrh r5, [r2]
+ adds r0, r5, 0
+ bl sub_80EF370
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl ConvertIntToDecimalStringN
+ b _08139862
+ .pool
+_0813983C:
+ ldr r4, =gStringVar1
+ movs r0, 0xA1
+ strb r0, [r4]
+ strb r0, [r4, 0x1]
+ strb r0, [r4, 0x2]
+ strb r0, [r4, 0x3]
+ adds r4, 0x4
+ ldrh r5, [r2]
+ adds r0, r5, 0
+ bl sub_80EF370
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl ConvertIntToDecimalStringN
+_08139862:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81397C4
+
+ thumb_func_start sub_813986C
+sub_813986C: @ 813986C
+ push {lr}
+ ldr r0, =gSpecialVar_Result
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _081398B8
+ lsls r0, 2
+ ldr r1, =_08139888
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08139888:
+ .4byte _0813989C
+ .4byte _081398A0
+ .4byte _081398A4
+ .4byte _081398A8
+ .4byte _081398AC
+_0813989C:
+ movs r0, 0x3
+ b _081398AE
+_081398A0:
+ movs r0, 0x4
+ b _081398AE
+_081398A4:
+ movs r0, 0
+ b _081398AE
+_081398A8:
+ movs r0, 0x1
+ b _081398AE
+_081398AC:
+ movs r0, 0x2
+_081398AE:
+ bl mevent_081445C0
+ lsls r0, 16
+ lsrs r0, 16
+ b _081398BA
+_081398B8:
+ movs r0, 0
+_081398BA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813986C
+
+ thumb_func_start sub_81398C0
+sub_81398C0: @ 81398C0
+ push {r4,lr}
+ ldr r1, =gSpecialVar_0x8004
+ ldr r2, =0xfffffedf
+ adds r0, r2, 0
+ ldrh r2, [r1]
+ adds r0, r2
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x39
+ bls _081398E0
+ movs r0, 0
+ b _081398FC
+ .pool
+_081398E0:
+ ldr r4, =gStringVar2
+ ldrh r0, [r1]
+ 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, 0x1
+_081398FC:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_81398C0
+
+ thumb_func_start sub_813990C
+sub_813990C: @ 813990C
+ push {r4,r5,lr}
+ bl CalculatePlayerPartyCount
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ cmp r4, r5
+ bcs _08139942
+_0813991C:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x4
+ bl GetMonData
+ cmp r0, 0x1
+ bne _08139938
+ movs r0, 0x1
+ b _08139944
+ .pool
+_08139938:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, r5
+ bcc _0813991C
+_08139942:
+ movs r0, 0
+_08139944:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813990C
+
+ thumb_func_start InMultiBattleRoom
+InMultiBattleRoom: @ 813994C
+ push {lr}
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r1, [r0, 0x4]
+ ldr r0, =0x00000f1a
+ cmp r1, r0
+ bne _08139978
+ ldr r0, =0x000040ce
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bne _08139978
+ movs r0, 0x1
+ b _0813997A
+ .pool
+_08139978:
+ movs r0, 0
+_0813997A:
+ pop {r1}
+ bx r1
+ thumb_func_end InMultiBattleRoom
+
+ thumb_func_start sub_8139980
+sub_8139980: @ 8139980
+ push {lr}
+ movs r0, 0
+ bl SetCameraPanningCallback
+ movs r0, 0x8
+ movs r1, 0
+ bl SetCameraPanning
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139980
+
+ thumb_func_start sub_8139994
+sub_8139994: @ 8139994
+ push {lr}
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x15]
+ subs r0, 0x10
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x5
+ bhi _081399E4
+ lsls r0, 2
+ ldr r1, =_081399B8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_081399B8:
+ .4byte _081399E4
+ .4byte _081399D0
+ .4byte _081399D4
+ .4byte _081399D8
+ .4byte _081399DC
+ .4byte _081399E0
+_081399D0:
+ movs r1, 0x5
+ b _081399E6
+_081399D4:
+ movs r1, 0x6
+ b _081399E6
+_081399D8:
+ movs r1, 0x7
+ b _081399E6
+_081399DC:
+ movs r1, 0x8
+ b _081399E6
+_081399E0:
+ movs r1, 0xF
+ b _081399E6
+_081399E4:
+ movs r1, 0x4
+_081399E6:
+ ldr r0, =0x00004043
+ bl VarSet
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139994
+
+ thumb_func_start sub_81399F4
+sub_81399F4: @ 81399F4
+ push {r4,lr}
+ ldr r2, =gUnknown_0203AB60
+ movs r0, 0
+ strh r0, [r2]
+ ldr r1, =gUnknown_0203AB62
+ strh r0, [r1]
+ ldr r0, =gSaveBlock1Ptr
+ ldr r3, [r0]
+ movs r0, 0x14
+ ldrsb r0, [r3, r0]
+ adds r4, r1, 0
+ cmp r0, 0xD
+ bne _08139A6E
+ ldrb r0, [r3, 0x15]
+ subs r0, 0x10
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x4
+ bhi _08139A6E
+ lsls r0, 2
+ ldr r1, =_08139A34
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08139A34:
+ .4byte _08139A66
+ .4byte _08139A5E
+ .4byte _08139A56
+ .4byte _08139A4E
+ .4byte _08139A48
+_08139A48:
+ movs r0, 0
+ strh r0, [r2]
+ b _08139A6C
+_08139A4E:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x1
+ b _08139A6C
+_08139A56:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x2
+ b _08139A6C
+_08139A5E:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x3
+ b _08139A6C
+_08139A66:
+ movs r0, 0
+ strh r0, [r2]
+ movs r0, 0x4
+_08139A6C:
+ strh r0, [r4]
+_08139A6E:
+ ldrh r0, [r4]
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81399F4
+
+ thumb_func_start sub_8139A78
+sub_8139A78: @ 8139A78
+ push {r4-r6,lr}
+ ldr r0, =sub_8139AF4
+ movs r1, 0x9
+ bl CreateTask
+ 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 r3, 0
+ strh r3, [r4, 0x2]
+ strh r3, [r4, 0x4]
+ movs r6, 0x1
+ strh r6, [r4, 0x8]
+ ldr r0, =gSpecialVar_0x8005
+ ldr r1, =gSpecialVar_0x8006
+ ldrh r2, [r0]
+ ldrh r0, [r1]
+ cmp r2, r0
+ bls _08139AC0
+ subs r0, r2, r0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ strh r6, [r4, 0xC]
+ b _08139AC8
+ .pool
+_08139AC0:
+ subs r0, r2
+ lsls r0, 16
+ lsrs r5, r0, 16
+ strh r3, [r4, 0xC]
+_08139AC8:
+ cmp r5, 0x8
+ bls _08139ACE
+ movs r5, 0x8
+_08139ACE:
+ ldr r0, =gUnknown_085B2C18
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ strh r0, [r4, 0xA]
+ movs r0, 0
+ bl SetCameraPanningCallback
+ ldrb r1, [r4, 0xC]
+ adds r0, r5, 0
+ bl sub_8139C2C
+ movs r0, 0x59
+ bl PlaySE
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139A78
+
+ thumb_func_start sub_8139AF4
+sub_8139AF4: @ 8139AF4
+ 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 r1, 0x3
+ bl __modsi3
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bne _08139B54
+ strh r0, [r4, 0x2]
+ ldrh r0, [r4, 0x4]
+ adds r0, 0x1
+ strh r0, [r4, 0x4]
+ ldrh r0, [r4, 0x8]
+ negs r0, r0
+ strh r0, [r4, 0x8]
+ movs r2, 0x8
+ ldrsh r1, [r4, r2]
+ movs r0, 0
+ bl SetCameraPanning
+ movs r0, 0x4
+ ldrsh r1, [r4, r0]
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ cmp r1, r0
+ bne _08139B54
+ movs r0, 0x49
+ bl PlaySE
+ adds r0, r5, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ bl InstallCameraPanAheadCallback
+_08139B54:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139AF4
+
+ thumb_func_start sub_8139B60
+sub_8139B60: @ 8139B60
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0xC
+ ldr r5, =gUnknown_0203AB5E
+ ldr r0, =gUnknown_085B2BAC
+ bl AddWindow
+ strb r0, [r5]
+ ldrb r0, [r5]
+ movs r1, 0
+ bl SetStandardWindowBorderStyle
+ ldr r4, =gText_ElevatorNowOn
+ movs r0, 0x1
+ adds r1, r4, 0
+ movs r2, 0x40
+ bl GetStringCenterAlignXOffset
+ adds r3, r0, 0
+ ldrb r0, [r5]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xFF
+ mov r9, r1
+ str r1, [sp, 0x4]
+ movs r1, 0
+ mov r8, r1
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ adds r2, r4, 0
+ bl PrintTextOnWindow
+ ldr r6, =gElevatorFloorsTable
+ ldr r4, =gSpecialVar_0x8005
+ ldrh r0, [r4]
+ lsls r0, 2
+ adds r0, r6
+ ldr r1, [r0]
+ movs r0, 0x1
+ movs r2, 0x40
+ bl GetStringCenterAlignXOffset
+ adds r3, r0, 0
+ ldrb r0, [r5]
+ ldrh r1, [r4]
+ lsls r1, 2
+ adds r1, r6
+ ldr r2, [r1]
+ lsls r3, 24
+ lsrs r3, 24
+ movs r1, 0x11
+ str r1, [sp]
+ mov r1, r9
+ str r1, [sp, 0x4]
+ mov r1, r8
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ bl PrintTextOnWindow
+ ldrb r0, [r5]
+ bl PutWindowTilemap
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ add sp, 0xC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139B60
+
+ thumb_func_start sub_8139C10
+sub_8139C10: @ 8139C10
+ push {r4,lr}
+ ldr r4, =gUnknown_0203AB5E
+ 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_8139C10
+
+ thumb_func_start sub_8139C2C
+sub_8139C2C: @ 8139C2C
+ push {r4-r6,lr}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r4, =sub_8139C80
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08139C6C
+ adds r0, r4, 0
+ 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
+ movs r0, 0
+ strh r0, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r5, [r1, 0xC]
+ ldr r0, =gUnknown_085B2C21
+ adds r0, r6, r0
+ ldrb r0, [r0]
+ strh r0, [r1, 0xE]
+_08139C6C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139C2C
+
+ thumb_func_start sub_8139C80
+sub_8139C80: @ 8139C80
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp]
+ lsls r0, 2
+ ldr r1, [sp]
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r6, r0, r1
+ movs r2, 0x2
+ ldrsh r0, [r6, r2]
+ cmp r0, 0x6
+ bne _08139D7C
+ ldrh r0, [r6]
+ adds r0, 0x1
+ strh r0, [r6]
+ movs r1, 0x4
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _08139D10
+ movs r1, 0
+ ldr r2, =gUnknown_085B2BF4
+ mov r10, r2
+_08139CBA:
+ movs r5, 0
+ adds r7, r1, 0x7
+ lsls r0, r1, 1
+ adds r2, r1, 0x1
+ mov r8, r2
+ adds r0, r1
+ lsls r0, 1
+ mov r9, r0
+_08139CCA:
+ adds r4, r5, 0
+ adds r4, 0x8
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ movs r1, 0x3
+ bl __modsi3
+ lsls r0, 16
+ asrs r0, 15
+ add r0, r9
+ add r0, r10
+ ldrh r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r2, r1, 0
+ orrs r2, r0
+ adds r0, r4, 0
+ adds r1, r7, 0
+ bl MapGridSetMetatileIdAt
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _08139CCA
+ mov r2, r8
+ lsls r0, r2, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x2
+ bls _08139CBA
+ b _08139D62
+ .pool
+_08139D10:
+ movs r1, 0
+ ldr r0, =gUnknown_085B2C06
+ mov r10, r0
+_08139D16:
+ movs r5, 0
+ adds r7, r1, 0x7
+ lsls r0, r1, 1
+ adds r2, r1, 0x1
+ mov r8, r2
+ adds r0, r1
+ lsls r0, 1
+ mov r9, r0
+_08139D26:
+ adds r4, r5, 0
+ adds r4, 0x8
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ movs r1, 0x3
+ bl __modsi3
+ lsls r0, 16
+ asrs r0, 15
+ add r0, r9
+ add r0, r10
+ ldrh r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r2, r1, 0
+ orrs r2, r0
+ adds r0, r4, 0
+ adds r1, r7, 0
+ bl MapGridSetMetatileIdAt
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _08139D26
+ mov r2, r8
+ lsls r0, r2, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x2
+ bls _08139D16
+_08139D62:
+ bl DrawWholeMapView
+ movs r0, 0
+ strh r0, [r6, 0x2]
+ movs r0, 0
+ ldrsh r1, [r6, r0]
+ movs r2, 0x6
+ ldrsh r0, [r6, r2]
+ cmp r1, r0
+ bne _08139D7C
+ ldr r0, [sp]
+ bl DestroyTask
+_08139D7C:
+ ldrh r0, [r6, 0x2]
+ adds r0, 0x1
+ strh r0, [r6, 0x2]
+ 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_8139C80
+
+ thumb_func_start sub_8139D98
+sub_8139D98: @ 8139D98
+ push {r4-r7,lr}
+ sub sp, 0x18
+ ldr r6, =gSpecialVar_0x8004
+ ldrh r0, [r6]
+ movs r5, 0x64
+ muls r0, r5
+ ldr r4, =gPlayerParty
+ adds r0, r4
+ movs r1, 0x27
+ bl GetMonData
+ str r0, [sp]
+ ldrh r0, [r6]
+ muls r0, r5
+ adds r0, r4
+ movs r1, 0x28
+ bl GetMonData
+ str r0, [sp, 0x4]
+ ldrh r0, [r6]
+ muls r0, r5
+ adds r0, r4
+ movs r1, 0x29
+ bl GetMonData
+ str r0, [sp, 0x8]
+ ldrh r0, [r6]
+ muls r0, r5
+ adds r0, r4
+ movs r1, 0x2A
+ bl GetMonData
+ str r0, [sp, 0xC]
+ ldrh r0, [r6]
+ muls r0, r5
+ adds r0, r4
+ movs r1, 0x2B
+ bl GetMonData
+ str r0, [sp, 0x10]
+ ldrh r0, [r6]
+ muls r0, r5
+ adds r0, r4
+ movs r1, 0x2C
+ bl GetMonData
+ str r0, [sp, 0x14]
+ ldr r1, =gSpecialVar_0x8005
+ movs r0, 0
+ strh r0, [r1]
+ movs r4, 0
+ adds r2, r1, 0
+_08139E00:
+ lsls r0, r4, 2
+ add r0, sp
+ ldr r1, [r0]
+ ldrh r0, [r2]
+ adds r0, r1
+ strh r0, [r2]
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x5
+ bls _08139E00
+ ldr r2, =gSpecialVar_0x8006
+ movs r0, 0
+ strh r0, [r2]
+ ldr r1, =gSpecialVar_0x8007
+ ldr r0, [sp]
+ strh r0, [r1]
+ movs r4, 0x1
+ adds r6, r2, 0
+ adds r7, r1, 0
+_08139E28:
+ ldrh r0, [r6]
+ lsls r0, 2
+ mov r2, sp
+ adds r1, r2, r0
+ lsls r0, r4, 2
+ adds r5, r2, r0
+ ldr r1, [r1]
+ ldr r0, [r5]
+ cmp r1, r0
+ bcs _08139E54
+ strh r4, [r6]
+ b _08139E6C
+ .pool
+_08139E54:
+ cmp r1, r0
+ bne _08139E6E
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08139E6E
+ strh r4, [r6]
+ ldr r0, [r5]
+_08139E6C:
+ strh r0, [r7]
+_08139E6E:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x5
+ bls _08139E28
+ add sp, 0x18
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8139D98
+
+ thumb_func_start warp0_in_pokecenter
+warp0_in_pokecenter: @ 8139E80
+ push {r4,lr}
+ ldr r0, =gUnknown_020322DC
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ lsls r1, 8
+ ldrb r0, [r0, 0x1]
+ lsls r0, 24
+ asrs r0, 24
+ adds r0, r1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldr r2, =gUnknown_085B2C2A
+ ldrh r0, [r2]
+ ldr r1, =0x0000ffff
+ cmp r0, r1
+ beq _08139EC6
+ adds r4, r1, 0
+ adds r1, r2, 0
+_08139EA4:
+ ldrh r0, [r2]
+ cmp r0, r3
+ bne _08139EBC
+ movs r0, 0x1
+ b _08139EC8
+ .pool
+_08139EBC:
+ adds r1, 0x2
+ adds r2, 0x2
+ ldrh r0, [r1]
+ cmp r0, r4
+ bne _08139EA4
+_08139EC6:
+ movs r0, 0
+_08139EC8:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end warp0_in_pokecenter
+
+ thumb_func_start sub_8139ED0
+sub_8139ED0: @ 8139ED0
+ push {lr}
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r1, [r0, 0x4]
+ ldr r0, =0x00003c1a
+ cmp r1, r0
+ beq _08139EEC
+ movs r0, 0x1
+ b _08139EEE
+ .pool
+_08139EEC:
+ movs r0, 0
+_08139EEE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8139ED0
+
+ thumb_func_start UpdateFrontierManiac
+UpdateFrontierManiac: @ 8139EF4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, =0x0000402f
+ bl GetVarPointer
+ adds r5, r0, 0
+ ldrh r0, [r5]
+ adds r4, r0
+ strh r4, [r5]
+ ldrh r0, [r5]
+ movs r1, 0xA
+ bl __umodsi3
+ strh r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end UpdateFrontierManiac
+
+ thumb_func_start sub_8139F20
+sub_8139F20: @ 8139F20
+ push {r4-r7,lr}
+ movs r4, 0
+ ldr r0, =0x0000402f
+ bl VarGet
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r6, 0x9
+ bls _08139F34
+ b _0813A03A
+_08139F34:
+ lsls r0, r6, 2
+ ldr r1, =_08139F48
+ adds r1, r0, r1
+ ldr r1, [r1]
+ adds r2, r0, 0
+ mov pc, r1
+ .pool
+ .align 2, 0
+_08139F48:
+ .4byte _08139F70
+ .4byte _08139F70
+ .4byte _08139F70
+ .4byte _08139F70
+ .4byte _08139F94
+ .4byte _08139FB4
+ .4byte _08139FCC
+ .4byte _08139FE4
+ .4byte _08139FFC
+ .4byte _0813A014
+_08139F70:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ movs r3, 0xCE
+ lsls r3, 4
+ adds r1, r0, r3
+ adds r3, r1, r2
+ ldr r1, =0x00000ce2
+ adds r0, r1
+ adds r1, r0, r2
+ ldrh r0, [r3]
+ ldrh r2, [r1]
+ cmp r0, r2
+ bcs _0813A028
+ b _0813A038
+ .pool
+_08139F94:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r3, =0x00000d0c
+ adds r2, r0, r3
+ adds r3, 0x2
+_08139F9E:
+ adds r1, r0, r3
+ ldrh r0, [r2]
+ ldrh r3, [r1]
+ cmp r0, r3
+ bcs _0813A028
+ b _0813A038
+ .pool
+_08139FB4:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000de2
+ adds r2, r0, r1
+ ldr r3, =0x00000de4
+ b _08139F9E
+ .pool
+_08139FCC:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000dc8
+ adds r2, r0, r1
+ ldr r3, =0x00000dca
+ b _08139F9E
+ .pool
+_08139FE4:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000dda
+ adds r2, r0, r1
+ ldr r3, =0x00000ddc
+ b _08139F9E
+ .pool
+_08139FFC:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000e04
+ adds r2, r0, r1
+ ldr r3, =0x00000e06
+ b _08139F9E
+ .pool
+_0813A014:
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000e1a
+ adds r2, r0, r1
+ ldr r3, =0x00000e1c
+ adds r1, r0, r3
+ ldrh r0, [r2]
+ ldrh r3, [r1]
+ cmp r0, r3
+ bcc _0813A038
+_0813A028:
+ adds r4, r0, 0
+ b _0813A03A
+ .pool
+_0813A038:
+ ldrh r4, [r1]
+_0813A03A:
+ movs r2, 0
+ ldr r5, =gUnknown_085B2CC8
+ lsls r0, r6, 1
+ adds r1, r0, r5
+ ldrb r1, [r1]
+ adds r3, r0, 0
+ ldr r7, =gUnknown_085B2C50
+ cmp r1, r4
+ bcs _0813A062
+ adds r1, r3, 0
+_0813A04E:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1
+ bhi _0813A062
+ adds r0, r2, r1
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, r4
+ bcc _0813A04E
+_0813A062:
+ adds r0, r3, r6
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r7
+ ldr r0, [r0]
+ bl ShowFieldMessage
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8139F20
+
+ thumb_func_start sub_813A080
+sub_813A080: @ 813A080
+ push {r4-r7,lr}
+ ldr r0, =0x000040ce
+ bl VarGet
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000ca9
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 30
+ lsrs r4, r0, 30
+ cmp r5, 0x2
+ bne _0813A0D8
+ movs r0, 0xA9
+ lsls r0, 1
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813A0D8
+ ldr r1, =gSpecialVar_0x8005
+ movs r0, 0x5
+ strh r0, [r1]
+ ldr r1, =gSpecialVar_0x8006
+ movs r0, 0x4
+ strh r0, [r1]
+ b _0813A110
+ .pool
+_0813A0D0:
+ movs r0, 0x4
+ strh r0, [r6]
+ adds r0, r3, 0x5
+ b _0813A10E
+_0813A0D8:
+ movs r3, 0
+ ldr r6, =gSpecialVar_0x8005
+ ldr r7, =gSpecialVar_0x8006
+ lsls r1, r4, 1
+ lsls r2, r5, 2
+ ldr r4, =gUnknown_085B2CDC
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ adds r1, r2
+ movs r2, 0xCE
+ lsls r2, 4
+ adds r0, r2
+ adds r0, r1
+ ldrh r1, [r0]
+_0813A0F4:
+ lsls r0, r3, 1
+ adds r0, r4
+ ldrh r0, [r0]
+ cmp r0, r1
+ bhi _0813A0D0
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0x8
+ bls _0813A0F4
+ movs r0, 0x4
+ strh r0, [r6]
+ movs r0, 0xC
+_0813A10E:
+ strh r0, [r7]
+_0813A110:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A080
+
+ thumb_func_start sub_813A128
+sub_813A128: @ 813A128
+ push {r4,lr}
+ ldr r0, =sub_813A2DC
+ movs r1, 0x8
+ bl CreateTask
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r3, r0, r1
+ ldr r1, =gSpecialVar_0x8004
+ ldrh r0, [r1]
+ strh r0, [r3, 0x1E]
+ ldrh r0, [r1]
+ cmp r0, 0xC
+ bls _0813A14E
+ b _0813A2C6
+_0813A14E:
+ lsls r0, 2
+ ldr r1, =_0813A168
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0813A168:
+ .4byte _0813A19C
+ .4byte _0813A1AA
+ .4byte _0813A1C2
+ .4byte _0813A1D6
+ .4byte _0813A1F0
+ .4byte _0813A208
+ .4byte _0813A222
+ .4byte _0813A23C
+ .4byte _0813A25A
+ .4byte _0813A274
+ .4byte _0813A274
+ .4byte _0813A28E
+ .4byte _0813A2A8
+_0813A19C:
+ movs r1, 0
+ movs r0, 0x1
+ strh r0, [r3, 0x8]
+ strh r0, [r3, 0xA]
+ strh r0, [r3, 0xC]
+ strh r0, [r3, 0xE]
+ b _0813A2BC
+_0813A1AA:
+ movs r1, 0
+ movs r0, 0x5
+ strh r0, [r3, 0x8]
+ movs r0, 0x8
+ strh r0, [r3, 0xA]
+ movs r0, 0x1
+ strh r0, [r3, 0xC]
+ strh r0, [r3, 0xE]
+ movs r0, 0x9
+ strh r0, [r3, 0x10]
+ movs r0, 0xA
+ b _0813A2BE
+_0813A1C2:
+ movs r2, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r1, 0xC
+ strh r1, [r3, 0xA]
+ movs r0, 0x1
+ strh r0, [r3, 0xC]
+ strh r0, [r3, 0xE]
+ movs r0, 0x7
+ b _0813A250
+_0813A1D6:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r0, 0xB
+ strh r0, [r3, 0xA]
+ movs r0, 0xE
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xF
+ strh r0, [r3, 0x10]
+ movs r0, 0xC
+ b _0813A2BE
+_0813A1F0:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ strh r0, [r3, 0xA]
+ movs r0, 0xE
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xF
+ strh r0, [r3, 0x10]
+ movs r0, 0xC
+ b _0813A2BE
+_0813A208:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r0, 0x7
+ strh r0, [r3, 0xA]
+ movs r0, 0xE
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xF
+ strh r0, [r3, 0x10]
+ movs r0, 0xC
+ b _0813A2BE
+_0813A222:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r0, 0xA
+ strh r0, [r3, 0xA]
+ movs r0, 0xE
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xF
+ strh r0, [r3, 0x10]
+ movs r0, 0xC
+ b _0813A2BE
+_0813A23C:
+ movs r2, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r1, 0xC
+ strh r1, [r3, 0xA]
+ movs r0, 0xF
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xE
+_0813A250:
+ strh r0, [r3, 0x10]
+ strh r1, [r3, 0x12]
+ strh r2, [r3, 0x14]
+ strh r4, [r3, 0x26]
+ b _0813A2D2
+_0813A25A:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r0, 0xA
+ strh r0, [r3, 0xA]
+ movs r0, 0x11
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xB
+ strh r0, [r3, 0x10]
+ movs r0, 0xC
+ b _0813A2BE
+_0813A274:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r0, 0xB
+ strh r0, [r3, 0xA]
+ movs r0, 0xF
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xE
+ strh r0, [r3, 0x10]
+ movs r0, 0xC
+ b _0813A2BE
+_0813A28E:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r0, 0x7
+ strh r0, [r3, 0xA]
+ movs r0, 0x13
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xA
+ strh r0, [r3, 0x10]
+ movs r0, 0xC
+ b _0813A2BE
+_0813A2A8:
+ movs r1, 0
+ movs r0, 0x6
+ strh r0, [r3, 0x8]
+ movs r0, 0x7
+ strh r0, [r3, 0xA]
+ movs r0, 0x11
+ strh r0, [r3, 0xC]
+ movs r0, 0x1
+ strh r0, [r3, 0xE]
+ movs r0, 0xC
+_0813A2BC:
+ strh r0, [r3, 0x10]
+_0813A2BE:
+ strh r0, [r3, 0x12]
+ strh r1, [r3, 0x14]
+ strh r4, [r3, 0x26]
+ b _0813A2D2
+_0813A2C6:
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x7F
+ strh r0, [r1]
+ adds r0, r4, 0
+ bl DestroyTask
+_0813A2D2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A128
+
+ thumb_func_start sub_813A2DC
+sub_813A2DC: @ 813A2DC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x20
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r6, r0, r1
+ bl ScriptContext2_Enable
+ ldr r0, =gUnknown_0203AB68
+ movs r5, 0
+ strh r5, [r0]
+ ldr r1, =gUnknown_0203AB6C
+ movs r0, 0x40
+ strb r0, [r1]
+ ldrh r0, [r6, 0x1E]
+ movs r1, 0
+ bl sub_813AA60
+ ldrb r0, [r6, 0x1E]
+ movs r1, 0
+ bl sub_813ACE8
+ ldr r4, =gUnknown_0203AB64
+ movs r1, 0xA
+ ldrsh r0, [r6, r1]
+ lsls r0, 3
+ bl AllocZeroed
+ str r0, [r4]
+ ldr r0, =gUnknown_0203AB6A
+ strh r5, [r0]
+ bl sub_813A42C
+ movs r3, 0
+ movs r4, 0
+ movs r2, 0xA
+ ldrsh r0, [r6, r2]
+ add r1, sp, 0x18
+ mov r8, r1
+ cmp r3, r0
+ bge _0813A36A
+ ldr r5, =gUnknown_085B2CF0
+_0813A33A:
+ lsls r1, r4, 2
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ lsls r0, 6
+ adds r1, r0
+ adds r1, r5
+ ldr r0, [r1]
+ ldr r1, =gUnknown_0203AB64
+ ldr r2, [r1]
+ lsls r1, r4, 3
+ adds r1, r2
+ str r0, [r1]
+ str r4, [r1, 0x4]
+ adds r1, r3, 0
+ bl display_text_and_get_width
+ adds r3, r0, 0
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r2, 0xA
+ ldrsh r0, [r6, r2]
+ cmp r4, r0
+ blt _0813A33A
+_0813A36A:
+ adds r0, r3, 0
+ bl convert_pixel_width_to_tile_width
+ strh r0, [r6, 0x10]
+ movs r1, 0xC
+ ldrsh r0, [r6, r1]
+ movs r2, 0x10
+ ldrsh r1, [r6, r2]
+ adds r0, r1
+ cmp r0, 0x1D
+ ble _0813A38C
+ movs r0, 0x1D
+ subs r0, r1
+ cmp r0, 0
+ bge _0813A38A
+ movs r0, 0
+_0813A38A:
+ strh r0, [r6, 0xC]
+_0813A38C:
+ ldrb r2, [r6, 0xC]
+ ldrb r3, [r6, 0xE]
+ ldrb r0, [r6, 0x10]
+ str r0, [sp]
+ ldrb r0, [r6, 0x12]
+ str r0, [sp, 0x4]
+ movs r0, 0xF
+ str r0, [sp, 0x8]
+ movs r0, 0x64
+ str r0, [sp, 0xC]
+ add r0, sp, 0x10
+ movs r1, 0
+ bl sub_8198A50
+ ldr r0, [sp, 0x10]
+ ldr r1, [sp, 0x14]
+ str r0, [sp, 0x18]
+ str r1, [sp, 0x1C]
+ mov r0, r8
+ bl AddWindow
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x22]
+ movs r1, 0
+ bl SetStandardWindowBorderStyle
+ ldr r4, =gUnknown_030061D0
+ ldrh r0, [r6, 0xA]
+ strh r0, [r4, 0xC]
+ ldrh r0, [r6, 0x8]
+ strh r0, [r4, 0xE]
+ ldrh r0, [r6, 0x22]
+ strb r0, [r4, 0x10]
+ adds r0, r7, 0
+ bl sub_813A694
+ ldrh r1, [r6, 0x16]
+ ldrh r2, [r6, 0x18]
+ adds r0, r4, 0
+ bl ListMenuInit
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x24]
+ 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_813A4EC
+ str r1, [r0]
+ add sp, 0x20
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A2DC
+
+ thumb_func_start sub_813A42C
+sub_813A42C: @ 813A42C
+ ldr r1, =gUnknown_030061D0
+ ldr r0, =gUnknown_0203AB64
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r0, =sub_813A46C
+ str r0, [r1, 0x4]
+ movs r0, 0
+ str r0, [r1, 0x8]
+ movs r2, 0
+ movs r0, 0x1
+ strh r0, [r1, 0xC]
+ strh r0, [r1, 0xE]
+ strb r2, [r1, 0x10]
+ strb r2, [r1, 0x11]
+ movs r0, 0x8
+ strb r0, [r1, 0x12]
+ strb r2, [r1, 0x13]
+ movs r0, 0x21
+ strb r0, [r1, 0x14]
+ movs r0, 0x31
+ strb r0, [r1, 0x15]
+ movs r0, 0
+ strb r0, [r1, 0x16]
+ movs r0, 0x1
+ strb r0, [r1, 0x17]
+ bx lr
+ .pool
+ thumb_func_end sub_813A42C
+
+ thumb_func_start sub_813A46C
+sub_813A46C: @ 813A46C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ movs r0, 0x5
+ bl PlaySE
+ ldr r0, =sub_813A4EC
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _0813A4D4
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r0, =gTasks
+ adds r4, r0
+ ldrh r0, [r4, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, sp
+ movs r2, 0
+ bl sub_81AE860
+ ldr r1, =gUnknown_0203AB68
+ mov r0, sp
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldrh r0, [r4, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, sp
+ bl sub_81AE838
+ ldrh r0, [r4, 0x1E]
+ ldr r5, =gUnknown_0203AB6A
+ ldrh r1, [r5]
+ bl sub_813AC44
+ ldrh r0, [r4, 0x1E]
+ mov r1, sp
+ ldrh r1, [r1]
+ bl sub_813AA60
+ ldrb r0, [r4, 0x1E]
+ mov r1, sp
+ ldrh r1, [r1]
+ bl sub_813AD34
+ mov r0, sp
+ ldrh r0, [r0]
+ strh r0, [r5]
+_0813A4D4:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A46C
+
+ thumb_func_start sub_813A4EC
+sub_813A4EC: @ 813A4EC
+ 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 r6, r0, r1
+ ldrh r0, [r6, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ bl ListMenuHandleInputGetItemId
+ adds r4, r0, 0
+ movs r0, 0x2
+ negs r0, r0
+ cmp r4, r0
+ beq _0813A51C
+ adds r0, 0x1
+ cmp r4, r0
+ bne _0813A530
+ b _0813A566
+ .pool
+_0813A51C:
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x7F
+ strh r0, [r1]
+ movs r0, 0x5
+ bl PlaySE
+ b _0813A54C
+ .pool
+_0813A530:
+ ldr r0, =gSpecialVar_Result
+ strh r4, [r0]
+ movs r0, 0x5
+ bl PlaySE
+ movs r1, 0x14
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ beq _0813A54C
+ movs r1, 0xA
+ ldrsh r0, [r6, r1]
+ subs r0, 0x1
+ cmp r4, r0
+ bne _0813A558
+_0813A54C:
+ adds r0, r5, 0
+ bl sub_813A570
+ b _0813A566
+ .pool
+_0813A558:
+ adds r0, r5, 0
+ bl sub_813A738
+ ldr r0, =sub_813A600
+ str r0, [r6]
+ bl EnableBothScriptContexts
+_0813A566:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A4EC
+
+ thumb_func_start sub_813A570
+sub_813A570: @ 813A570
+ push {r4,r5,lr}
+ sub sp, 0x4
+ 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
+ ldrh r0, [r4, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, sp
+ bl sub_81AE838
+ ldrh r0, [r4, 0x1E]
+ mov r1, sp
+ ldrh r1, [r1]
+ bl sub_813AC44
+ adds r0, r5, 0
+ bl sub_813A738
+ ldrh r0, [r4, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ movs r2, 0
+ bl sub_81AE6C8
+ ldr r0, =gUnknown_0203AB64
+ ldr r0, [r0]
+ bl Free
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ bl sub_8198070
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ bl RemoveWindow
+ adds r0, r5, 0
+ bl DestroyTask
+ bl EnableBothScriptContexts
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A570
+
+ thumb_func_start sub_813A600
+sub_813A600: @ 813A600
+ 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, 0x14
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ beq _0813A624
+ cmp r0, 0x2
+ bne _0813A624
+ movs r0, 0x1
+ strh r0, [r1, 0x14]
+ ldr r0, =sub_813A664
+ str r0, [r1]
+_0813A624:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A600
+
+ thumb_func_start sub_813A630
+sub_813A630: @ 813A630
+ push {lr}
+ ldr r0, =sub_813A600
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ bne _0813A64C
+ bl EnableBothScriptContexts
+ b _0813A65C
+ .pool
+_0813A64C:
+ ldr r0, =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x14]
+ adds r0, 0x1
+ strh r0, [r1, 0x14]
+_0813A65C:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A630
+
+ thumb_func_start sub_813A664
+sub_813A664: @ 813A664
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ScriptContext2_Enable
+ adds r0, r4, 0
+ bl sub_813A694
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, =sub_813A4EC
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A664
+
+ thumb_func_start sub_813A694
+sub_813A694: @ 813A694
+ push {r4,r5,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks
+ adds r4, r1, r0
+ mov r1, sp
+ ldr r0, =gUnknown_085B3030
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ cmp r1, r0
+ beq _0813A724
+ mov r2, sp
+ movs r3, 0x10
+ ldrsh r1, [r4, r3]
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ lsls r1, 3
+ adds r1, 0xC
+ movs r5, 0xC
+ ldrsh r0, [r4, r5]
+ subs r0, 0x1
+ lsls r0, 3
+ adds r1, r0
+ movs r3, 0
+ strb r1, [r2, 0x1]
+ mov r1, sp
+ movs r0, 0x8
+ strb r0, [r1, 0x2]
+ movs r0, 0x10
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ lsls r1, 3
+ adds r1, 0xC
+ movs r5, 0xC
+ ldrsh r0, [r4, r5]
+ subs r0, 0x1
+ lsls r0, 3
+ adds r1, r0
+ strb r1, [r2, 0x4]
+ mov r1, sp
+ movs r2, 0x12
+ ldrsh r0, [r4, r2]
+ lsls r0, 3
+ adds r0, 0xA
+ strb r0, [r1, 0x5]
+ mov r0, sp
+ strh r3, [r0, 0x6]
+ mov r2, sp
+ ldrh r0, [r4, 0xA]
+ ldrh r1, [r4, 0x8]
+ subs r0, r1
+ strh r0, [r2, 0x8]
+ ldr r1, =gUnknown_0203AB68
+ mov r0, sp
+ bl AddScrollIndicatorArrowPair
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x20]
+_0813A724:
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A694
+
+ thumb_func_start sub_813A738
+sub_813A738: @ 813A738
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks
+ adds r2, r1, r0
+ movs r0, 0x8
+ ldrsh r1, [r2, r0]
+ movs r3, 0xA
+ ldrsh r0, [r2, r3]
+ cmp r1, r0
+ beq _0813A75E
+ ldrh r0, [r2, 0x20]
+ lsls r0, 24
+ lsrs r0, 24
+ bl RemoveScrollIndicatorArrowPair
+_0813A75E:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A738
+
+ thumb_func_start nullsub_55
+nullsub_55: @ 813A768
+ bx lr
+ thumb_func_end nullsub_55
+
+ thumb_func_start sub_813A76C
+sub_813A76C: @ 813A76C
+ push {r4-r6,lr}
+ movs r4, 0
+ ldr r6, =gLinkPlayers
+ ldr r0, =0x0000401f
+ adds r5, r0, 0
+_0813A776:
+ lsls r0, r4, 3
+ subs r0, r4
+ lsls r0, 2
+ adds r0, r6
+ ldrb r0, [r0, 0x13]
+ cmp r0, 0
+ bne _0813A79C
+ subs r0, r5, r4
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0
+ bl VarSet
+ b _0813A7A8
+ .pool
+_0813A79C:
+ subs r0, r5, r4
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x69
+ bl VarSet
+_0813A7A8:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x1
+ bls _0813A776
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813A76C
+
+ thumb_func_start sub_813A7B8
+sub_813A7B8: @ 813A7B8
+ push {lr}
+ ldr r1, =gSpecialVar_0x8004
+ ldrh r0, [r1]
+ cmp r0, 0x5
+ bls _0813A7C6
+ movs r0, 0
+ strh r0, [r1]
+_0813A7C6:
+ ldrh r1, [r1]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ bl GetNature
+ lsls r0, 24
+ ldr r1, =gUnknown_085B3040
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ bl ShowFieldMessage
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A7B8
+
+ thumb_func_start UpdateFrontierGambler
+UpdateFrontierGambler: @ 813A7F4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, =0x00004030
+ bl GetVarPointer
+ adds r5, r0, 0
+ ldrh r0, [r5]
+ adds r4, r0
+ strh r4, [r5]
+ ldrh r0, [r5]
+ movs r1, 0xC
+ bl __umodsi3
+ strh r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end UpdateFrontierGambler
+
+ thumb_func_start sub_813A820
+sub_813A820: @ 813A820
+ push {r4,lr}
+ ldr r0, =0x00004030
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r1, =gUnknown_085B30A4
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl ShowFieldMessage
+ ldr r0, =0x00004031
+ adds r1, r4, 0
+ bl VarSet
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A820
+
+ thumb_func_start sub_813A854
+sub_813A854: @ 813A854
+ push {r4,lr}
+ ldr r4, =gUnknown_085B30D4
+ ldr r0, =0x00004031
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 14
+ adds r0, r4
+ ldr r0, [r0]
+ bl ShowFieldMessage
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A854
+
+ thumb_func_start sub_813A878
+sub_813A878: @ 813A878
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r0, =0x000040ce
+ bl VarGet
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r0, =0x00004031
+ bl VarGet
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r0, =0x000040cf
+ bl VarGet
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r4, =0x00004033
+ adds r0, r4, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bne _0813A8F0
+ ldr r1, =gUnknown_085B3104
+ lsls r0, r6, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ lsls r0, r5, 8
+ adds r0, r7
+ cmp r1, r0
+ bne _0813A8F0
+ mov r0, r8
+ cmp r0, 0
+ beq _0813A8E8
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl VarSet
+ b _0813A8F0
+ .pool
+_0813A8E8:
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl VarSet
+_0813A8F0:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813A878
+
+ thumb_func_start sub_813A8FC
+sub_813A8FC: @ 813A8FC
+ push {lr}
+ sub sp, 0x2C
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000eb8
+ adds r0, r1
+ ldrh r1, [r0]
+ add r0, sp, 0xC
+ movs r2, 0x1
+ movs r3, 0x4
+ bl ConvertIntToDecimalStringN
+ ldr r1, =gText_BP
+ bl StringCopy
+ movs r0, 0x1
+ add r1, sp, 0xC
+ movs r2, 0x30
+ bl GetStringRightAlignXOffset
+ adds r3, r0, 0
+ ldr r0, =gUnknown_0203AB6D
+ 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
+ add r2, sp, 0xC
+ bl PrintTextOnWindow
+ add sp, 0x2C
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A8FC
+
+ thumb_func_start sub_813A958
+sub_813A958: @ 813A958
+ push {r4,lr}
+ ldr r4, =gUnknown_0203AB6D
+ ldr r0, =gUnknown_085B311C
+ bl AddWindow
+ strb r0, [r4]
+ ldrb r0, [r4]
+ movs r1, 0
+ bl SetStandardWindowBorderStyle
+ bl sub_813A8FC
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813A958
+
+ thumb_func_start sub_813A988
+sub_813A988: @ 813A988
+ push {r4,lr}
+ ldr r4, =gUnknown_0203AB6D
+ 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_813A988
+
+ thumb_func_start sub_813A9A4
+sub_813A9A4: @ 813A9A4
+ push {lr}
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r2, =0x00000eb8
+ adds r1, r0, r2
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r2, [r1]
+ ldrh r0, [r0]
+ cmp r2, r0
+ bcs _0813A9C8
+ movs r0, 0
+ b _0813A9CA
+ .pool
+_0813A9C8:
+ subs r0, r2, r0
+_0813A9CA:
+ strh r0, [r1]
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813A9A4
+
+ thumb_func_start sub_813A9D0
+sub_813A9D0: @ 813A9D0
+ push {lr}
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000eb8
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ adds r1, r0
+ ldr r0, =0x0000270f
+ cmp r1, r0
+ ble _0813A9FC
+ strh r0, [r2]
+ b _0813A9FE
+ .pool
+_0813A9FC:
+ strh r1, [r2]
+_0813A9FE:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813A9D0
+
+ thumb_func_start sub_813AA04
+sub_813AA04: @ 813AA04
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00000eb8
+ adds r0, r1
+ ldrh r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_813AA04
+
+ thumb_func_start sub_813AA18
+sub_813AA18: @ 813AA18
+ push {r4,lr}
+ ldr r4, =gUnknown_0203AB6E
+ ldr r0, =gUnknown_085B3124
+ bl AddWindow
+ strb r0, [r4]
+ ldrb r0, [r4]
+ movs r1, 0
+ bl SetStandardWindowBorderStyle
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl CopyWindowToVram
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AA18
+
+ thumb_func_start sub_813AA44
+sub_813AA44: @ 813AA44
+ push {r4,lr}
+ ldr r4, =gUnknown_0203AB6E
+ 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_813AA44
+
+ thumb_func_start sub_813AA60
+sub_813AA60: @ 813AA60
+ push {r4,r5,lr}
+ sub sp, 0x10
+ lsls r0, 16
+ lsls r1, 16
+ lsrs r5, r1, 16
+ lsrs r4, r0, 16
+ ldr r1, =0xfffd0000
+ adds r0, r1
+ lsrs r0, 16
+ cmp r0, 0x3
+ bls _0813AA78
+ b _0813ABC2
+_0813AA78:
+ movs r0, 0xD8
+ str r0, [sp]
+ movs r0, 0x20
+ str r0, [sp, 0x4]
+ movs r0, 0
+ movs r1, 0x11
+ movs r2, 0
+ movs r3, 0
+ bl FillWindowPixelRect
+ cmp r4, 0x4
+ beq _0813AAE8
+ cmp r4, 0x4
+ bgt _0813AAA0
+ cmp r4, 0x3
+ beq _0813AAAA
+ b _0813ABC2
+ .pool
+_0813AAA0:
+ cmp r4, 0x5
+ beq _0813AB5C
+ cmp r4, 0x6
+ beq _0813AB94
+ b _0813ABC2
+_0813AAAA:
+ ldr r1, =gUnknown_085B3170
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r2, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x2
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ str r0, [sp, 0x8]
+ str r4, [sp, 0xC]
+ movs r0, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r1, =gUnknown_085B312C
+ lsls r0, r5, 1
+ adds r1, r0, r1
+ ldrh r5, [r1]
+ ldr r0, =0x0000ffff
+ cmp r5, r0
+ beq _0813AB18
+ b _0813AB2C
+ .pool
+_0813AAE8:
+ ldr r1, =gUnknown_085B319C
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r2, [r0]
+ 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
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r1, =gUnknown_085B3142
+ lsls r0, r5, 1
+ adds r1, r0, r1
+ ldrh r5, [r1]
+ ldr r0, =0x0000ffff
+ cmp r5, r0
+ bne _0813AB2C
+_0813AB18:
+ ldrh r0, [r1]
+ bl sub_813ABD4
+ b _0813ABC2
+ .pool
+_0813AB2C:
+ ldr r4, =0x0000157c
+ adds r0, r4, 0
+ bl FreeSpriteTilesByTag
+ adds r0, r4, 0
+ bl FreeSpritePaletteByTag
+ lsls r0, r5, 24
+ lsrs r0, 24
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ movs r1, 0x21
+ movs r2, 0x58
+ movs r3, 0
+ bl AddDecorationIconObject
+ ldr r1, =gUnknown_0203AB6C
+ strb r0, [r1]
+ b _0813ABC2
+ .pool
+_0813AB5C:
+ ldr r1, =gUnknown_085B31B4
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r2, [r0]
+ 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
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r1, =gUnknown_085B314E
+ lsls r0, r5, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl sub_813ABD4
+ b _0813ABC2
+ .pool
+_0813AB94:
+ ldr r1, =gUnknown_085B31D0
+ lsls r0, r5, 2
+ adds r0, r1
+ ldr r2, [r0]
+ 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
+ movs r3, 0
+ bl AddTextPrinterParameterized
+ ldr r1, =gUnknown_085B315C
+ lsls r0, r5, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ bl sub_813ABD4
+_0813ABC2:
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AA60
+
+ thumb_func_start sub_813ABD4
+sub_813ABD4: @ 813ABD4
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ ldr r4, =0x0000157c
+ adds r0, r4, 0
+ bl FreeSpriteTilesByTag
+ adds r0, r4, 0
+ bl FreeSpritePaletteByTag
+ adds r0, r4, 0
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl AddItemIconSprite
+ ldr r4, =gUnknown_0203AB6C
+ strb r0, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ beq _0813AC32
+ ldr r3, =gSprites
+ ldrb r0, [r4]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r3
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x5]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0x24
+ strh r1, [r0, 0x20]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0x5C
+ strh r1, [r0, 0x22]
+_0813AC32:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813ABD4
+
+ thumb_func_start sub_813AC44
+sub_813AC44: @ 813AC44
+ push {lr}
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldr r2, =gUnknown_0203AB6C
+ ldrb r0, [r2]
+ cmp r0, 0x40
+ beq _0813AC70
+ cmp r1, 0x6
+ bgt _0813AC6A
+ cmp r1, 0x3
+ blt _0813AC6A
+ adds r1, r0, 0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ bl DestroySpriteAndFreeResources
+_0813AC6A:
+ ldr r1, =gUnknown_0203AB6C
+ movs r0, 0x40
+ strb r0, [r1]
+_0813AC70:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AC44
+
+ thumb_func_start sub_813AC7C
+sub_813AC7C: @ 813AC7C
+ push {lr}
+ ldr r0, =gSpecialVar_0x8005
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0813ACB8
+ ldr r0, =gStringVar1
+ ldr r2, =gUnknown_085B320C
+ ldr r1, =gSpecialVar_0x8004
+ ldrh r1, [r1]
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, =gMoveNames
+ adds r1, r2
+ bl StringCopy
+ b _0813ACD2
+ .pool
+_0813ACB8:
+ ldr r0, =gStringVar1
+ ldr r2, =gUnknown_085B31F8
+ ldr r1, =gSpecialVar_0x8004
+ ldrh r1, [r1]
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0xD
+ muls r1, r2
+ ldr r2, =gMoveNames
+ adds r1, r2
+ bl StringCopy
+_0813ACD2:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AC7C
+
+ thumb_func_start sub_813ACE8
+sub_813ACE8: @ 813ACE8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ lsls r1, 16
+ lsrs r6, r1, 16
+ subs r0, 0x9
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _0813AD20
+ ldr r0, =gSpecialVar_0x8006
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0813AD18
+ ldr r4, =gUnknown_0203AB5E
+ ldr r0, =gUnknown_085B3220
+ bl AddWindow
+ strb r0, [r4]
+ ldrb r0, [r4]
+ movs r1, 0
+ bl SetStandardWindowBorderStyle
+_0813AD18:
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl sub_813AD34
+_0813AD20:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813ACE8
+
+ thumb_func_start sub_813AD34
+sub_813AD34: @ 813AD34
+ push {r4-r7,lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsls r1, 16
+ lsrs r5, r1, 16
+ adds r7, r5, 0
+ lsrs r6, r0, 24
+ movs r1, 0xF7
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _0813ADAC
+ ldr r4, =gUnknown_0203AB5E
+ ldrb r0, [r4]
+ movs r1, 0x60
+ str r1, [sp]
+ movs r1, 0x30
+ str r1, [sp, 0x4]
+ movs r1, 0x11
+ movs r2, 0
+ movs r3, 0
+ bl FillWindowPixelRect
+ cmp r6, 0xA
+ bne _0813AD90
+ ldrb r0, [r4]
+ ldr r2, =gUnknown_085B3254
+ lsls r1, r5, 2
+ adds r1, r2
+ ldr r2, [r1]
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl PrintTextOnWindow
+ b _0813ADAC
+ .pool
+_0813AD90:
+ ldrb r0, [r4]
+ ldr r2, =gUnknown_085B3228
+ lsls r1, r7, 2
+ adds r1, r2
+ ldr r2, [r1]
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0
+ str r1, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl PrintTextOnWindow
+_0813ADAC:
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AD34
+
+ thumb_func_start sub_813ADB8
+sub_813ADB8: @ 813ADB8
+ push {r4,lr}
+ ldr r4, =gUnknown_0203AB5E
+ 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_813ADB8
+
+ thumb_func_start sub_813ADD4
+sub_813ADD4: @ 813ADD4
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x18
+ ldr r0, =sub_813A600
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0xFF
+ beq _0813AE90
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r6, r0, r1
+ ldrh r0, [r6, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r4, sp
+ adds r4, 0x16
+ add r1, sp, 0x14
+ adds r2, r4, 0
+ bl sub_81AE860
+ ldrh r0, [r6, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl SetStandardWindowBorderStyle
+ movs r5, 0
+ mov r9, r4
+ ldr r0, =gUnknown_085B2CF0
+ mov r8, r0
+ movs r4, 0
+_0813AE1E:
+ ldrh r0, [r6, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ add r1, sp, 0x14
+ ldrh r2, [r1]
+ adds r2, r5
+ lsls r2, 2
+ ldr r1, =gSpecialVar_0x8004
+ ldrh r1, [r1]
+ lsls r1, 6
+ adds r2, r1
+ add r2, r8
+ ldr r2, [r2]
+ lsls r1, r5, 28
+ lsrs r1, 24
+ str r1, [sp]
+ movs r7, 0xFF
+ str r7, [sp, 0x4]
+ str r4, [sp, 0x8]
+ str r4, [sp, 0xC]
+ str r4, [sp, 0x10]
+ movs r1, 0x1
+ movs r3, 0xA
+ bl sub_8199F74
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _0813AE1E
+ ldrh r0, [r6, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gText_SelectorArrow
+ mov r3, r9
+ ldrh r1, [r3]
+ lsls r1, 28
+ lsrs r1, 24
+ str r1, [sp]
+ str r7, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl PrintTextOnWindow
+ ldrh r0, [r6, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ bl PutWindowTilemap
+ ldrh r0, [r6, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x3
+ bl CopyWindowToVram
+_0813AE90:
+ add sp, 0x18
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813ADD4
+
+ thumb_func_start sub_813AEB4
+sub_813AEB4: @ 813AEB4
+ push {r4,lr}
+ movs r1, 0
+ ldr r0, =gSpecialVar_0x8005
+ strh r1, [r0]
+ ldr r0, =0x0000400e
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, =0x0000400d
+ bl VarGet
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r4, 0
+ beq _0813AF18
+ movs r2, 0
+ lsls r1, 1
+ ldr r3, =gUnknown_0861500C
+ ldr r0, =gUnknown_085B320C
+ adds r0, r1, r0
+ ldrh r1, [r0]
+_0813AEE2:
+ lsls r0, r2, 1
+ adds r0, r3
+ ldrh r0, [r0]
+ cmp r0, r1
+ beq _0813AF0C
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1D
+ bls _0813AEE2
+ b _0813AF38
+ .pool
+_0813AF0C:
+ ldr r0, =gSpecialVar_0x8005
+ strh r2, [r0]
+ b _0813AF38
+ .pool
+_0813AF18:
+ movs r2, 0
+ lsls r1, 1
+ ldr r3, =gUnknown_0861500C
+ ldr r0, =gUnknown_085B31F8
+ adds r0, r1, r0
+ ldrh r1, [r0]
+_0813AF24:
+ lsls r0, r2, 1
+ adds r0, r3
+ ldrh r0, [r0]
+ cmp r0, r1
+ beq _0813AF0C
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x1D
+ bls _0813AF24
+_0813AF38:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AEB4
+
+ thumb_func_start sub_813AF48
+sub_813AF48: @ 813AF48
+ push {r4,r5,lr}
+ ldr r0, =sub_813A600
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0xFF
+ beq _0813AFB6
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ ldr r0, =gTasks
+ adds r4, r0
+ ldrh r0, [r4, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ movs r2, 0
+ bl sub_81AE6C8
+ ldr r0, =gUnknown_0203AB64
+ ldr r0, [r0]
+ bl Free
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ bl sub_8198070
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ bl ClearWindowTilemap
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x2
+ bl CopyWindowToVram
+ ldrh r0, [r4, 0x22]
+ lsls r0, 24
+ lsrs r0, 24
+ bl RemoveWindow
+ adds r0, r5, 0
+ bl DestroyTask
+_0813AFB6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AF48
+
+ thumb_func_start sub_813AFC8
+sub_813AFC8: @ 813AFC8
+ push {lr}
+ ldr r0, =task_deoxys_sound
+ movs r1, 0x8
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813AFC8
+
+ thumb_func_start task_deoxys_sound
+task_deoxys_sound: @ 813AFDC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, =0x000008d4
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0813B004
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x3
+ b _0813B06A
+ .pool
+_0813B004:
+ ldr r0, =0x00004035
+ mov r8, r0
+ bl VarGet
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r4, =0x00004034
+ adds r0, r4, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r6, r0, 16
+ adds r0, r4, 0
+ movs r1, 0
+ bl VarSet
+ cmp r5, 0
+ beq _0813B05C
+ ldr r0, =gUnknown_085B33F6
+ subs r1, r5, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, r6
+ bcs _0813B05C
+ movs r0, 0
+ bl sub_813B0B4
+ mov r0, r8
+ movs r1, 0
+ bl VarSet
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0
+ strh r0, [r1]
+ b _0813B070
+ .pool
+_0813B05C:
+ cmp r5, 0xA
+ bne _0813B080
+ ldr r0, =0x000008d4
+ bl FlagSet
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x2
+_0813B06A:
+ strh r0, [r1]
+ bl EnableBothScriptContexts
+_0813B070:
+ adds r0, r7, 0
+ bl DestroyTask
+ b _0813B0A2
+ .pool
+_0813B080:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_813B0B4
+ ldr r0, =0x00004035
+ adds r1, r5, 0
+ bl VarSet
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x1
+ strh r0, [r1]
+ adds r0, r7, 0
+ bl DestroyTask
+_0813B0A2:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end task_deoxys_sound
+
+ thumb_func_start sub_813B0B4
+sub_813B0B4: @ 813B0B4
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 5
+ ldr r1, =gUnknown_085B3280
+ adds r0, r1
+ movs r1, 0xD0
+ lsls r1, 1
+ movs r2, 0x8
+ bl LoadPalette
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ ldrb r2, [r0, 0x4]
+ movs r0, 0x1
+ mov r3, sp
+ bl TryGetFieldObjectIdByLocalIdAndMap
+ cmp r4, 0
+ bne _0813B0F0
+ movs r0, 0xC4
+ bl PlaySE
+ b _0813B0F8
+ .pool
+_0813B0F0:
+ movs r0, 0x82
+ lsls r0, 1
+ bl PlaySE
+_0813B0F8:
+ ldr r0, =sub_813B160
+ movs r1, 0x8
+ bl CreateTask
+ ldr r3, =gFieldEffectArguments
+ movs r0, 0x1
+ str r0, [r3]
+ movs r0, 0x3A
+ str r0, [r3, 0x4]
+ movs r0, 0x1A
+ str r0, [r3, 0x8]
+ ldr r0, =gUnknown_085B33E0
+ lsls r2, r4, 1
+ adds r1, r2, r0
+ ldrb r1, [r1]
+ str r1, [r3, 0xC]
+ adds r0, 0x1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ str r0, [r3, 0x10]
+ adds r5, r2, 0
+ cmp r4, 0
+ bne _0813B138
+ movs r0, 0x3C
+ b _0813B13A
+ .pool
+_0813B138:
+ movs r0, 0x5
+_0813B13A:
+ str r0, [r3, 0x14]
+ movs r0, 0x42
+ bl FieldEffectStart
+ ldr r0, =gUnknown_085B33E0
+ adds r1, r5, r0
+ ldrb r1, [r1]
+ adds r0, 0x1
+ adds r0, r5, r0
+ ldrb r2, [r0]
+ movs r0, 0x1
+ bl Overworld_SetMapObjTemplateCoords
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B0B4
+
+ thumb_func_start sub_813B160
+sub_813B160: @ 813B160
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x42
+ bl FieldEffectActiveListContains
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813B17C
+ bl EnableBothScriptContexts
+ adds r0, r4, 0
+ bl DestroyTask
+_0813B17C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813B160
+
+ thumb_func_start increment_var_x4026_on_birth_island_modulo_100
+increment_var_x4026_on_birth_island_modulo_100: @ 813B184
+ push {r4,lr}
+ ldr r4, =0x00004034
+ adds r0, r4, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r2, r0, 16
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r1, [r0, 0x4]
+ ldr r0, =0x00003a1a
+ cmp r1, r0
+ bne _0813B1C8
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x63
+ bls _0813B1C0
+ adds r0, r4, 0
+ movs r1, 0
+ bl VarSet
+ b _0813B1C8
+ .pool
+_0813B1C0:
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl VarSet
+_0813B1C8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end increment_var_x4026_on_birth_island_modulo_100
+
+ thumb_func_start sub_813B1D0
+sub_813B1D0: @ 813B1D0
+ push {lr}
+ ldr r0, =0x00004035
+ bl VarGet
+ lsls r0, 24
+ lsrs r0, 19
+ ldr r1, =gUnknown_085B3280
+ adds r0, r1
+ movs r1, 0xD0
+ lsls r1, 1
+ movs r2, 0x8
+ bl LoadPalette
+ movs r0, 0x80
+ lsls r0, 19
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B1D0
+
+ thumb_func_start set_unknown_box_id
+@ void set_unknown_box_id(char id)
+set_unknown_box_id: @ 813B204
+ ldr r1, =gUnknown_0203AB6F
+ strb r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end set_unknown_box_id
+
+ thumb_func_start get_unknown_box_id
+get_unknown_box_id: @ 813B210
+ ldr r0, =gUnknown_0203AB6F
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end get_unknown_box_id
+
+ thumb_func_start sub_813B21C
+sub_813B21C: @ 813B21C
+ push {r4,r5,lr}
+ ldr r5, =0x000008d7
+ adds r0, r5, 0
+ bl FlagGet
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813B258
+ bl StorageGetCurrentBox
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r0, =0x00004036
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r4, r0
+ beq _0813B258
+ adds r0, r5, 0
+ bl FlagSet
+ movs r0, 0x1
+ b _0813B25A
+ .pool
+_0813B258:
+ movs r0, 0
+_0813B25A:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B21C
+
+ thumb_func_start sub_813B260
+sub_813B260: @ 813B260
+ push {r4-r7,lr}
+ ldr r0, =0x00004036
+ bl VarGet
+ lsls r0, 24
+ lsrs r0, 24
+ bl set_unknown_box_id
+ bl StorageGetCurrentBox
+ lsls r0, 24
+ lsrs r4, r0, 24
+_0813B278:
+ movs r5, 0
+ lsls r6, r4, 24
+ lsls r7, r4, 16
+_0813B27E:
+ lsls r1, r5, 24
+ lsrs r1, 24
+ lsrs r0, r6, 24
+ bl GetBoxedMonPtr
+ movs r1, 0xB
+ movs r2, 0
+ bl GetBoxMonData
+ cmp r0, 0
+ bne _0813B2C0
+ bl get_unknown_box_id
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, r4
+ beq _0813B2A6
+ ldr r0, =0x000008d7
+ bl FlagClear
+_0813B2A6:
+ ldr r0, =0x00004036
+ lsrs r1, r7, 16
+ bl VarSet
+ bl sub_813B21C
+ lsls r0, 24
+ lsrs r0, 24
+ b _0813B2DC
+ .pool
+_0813B2C0:
+ adds r5, 0x1
+ cmp r5, 0x1D
+ ble _0813B27E
+ adds r4, 0x1
+ cmp r4, 0xE
+ bne _0813B2CE
+ movs r4, 0
+_0813B2CE:
+ bl StorageGetCurrentBox
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bne _0813B278
+ movs r0, 0
+_0813B2DC:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B260
+
+ thumb_func_start sub_813B2E4
+sub_813B2E4: @ 813B2E4
+ push {r4,lr}
+ bl Random
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, =0x00004038
+ movs r1, 0
+ bl VarSet
+ movs r0, 0xDF
+ lsls r0, 1
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0813B340
+ ldr r0, =0x000001bf
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0813B330
+ ldr r0, =0x00004037
+ movs r1, 0x7
+ ands r4, r1
+ adds r1, r4, 0
+ adds r1, 0x9
+ bl VarSet
+ b _0813B36A
+ .pool
+_0813B330:
+ movs r0, 0x1
+ ands r4, r0
+ cmp r4, 0
+ bne _0813B354
+ bl Random
+ lsls r0, 16
+ lsrs r4, r0, 16
+_0813B340:
+ ldr r0, =0x00004037
+ movs r1, 0x7
+ ands r4, r1
+ adds r1, r4, 0x1
+ bl VarSet
+ b _0813B36A
+ .pool
+_0813B354:
+ bl Random
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, =0x00004037
+ movs r1, 0x7
+ ands r4, r1
+ adds r1, r4, 0
+ adds r1, 0x9
+ bl VarSet
+_0813B36A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B2E4
+
+ thumb_func_start sub_813B374
+sub_813B374: @ 813B374
+ push {r4,lr}
+ ldr r0, =0x00004037
+ bl VarGet
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, =gStringVar1
+ ldr r2, =gUnknown_085B3400
+ subs r1, r4, 0x1
+ adds r1, r2
+ ldrb r1, [r1]
+ movs r2, 0
+ bl GetMapName
+ cmp r4, 0x8
+ bls _0813B3A8
+ movs r0, 0x1
+ b _0813B3AA
+ .pool
+_0813B3A8:
+ movs r0, 0
+_0813B3AA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B374
+
+ thumb_func_start sub_813B3B0
+sub_813B3B0: @ 813B3B0
+ push {r4-r6,lr}
+ ldr r5, =0x00004038
+ adds r0, r5, 0
+ bl VarGet
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, =0x00004037
+ bl VarGet
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r6, 0
+ beq _0813B47C
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, =0x000003e7
+ cmp r4, r0
+ bls _0813B474
+ adds r0, r5, 0
+ movs r1, 0
+ bl VarSet
+ ldr r0, =gSaveBlock1Ptr
+ ldr r1, [r0]
+ movs r0, 0x4
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x18
+ bne _0813B414
+ movs r0, 0x5
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x69
+ bgt _0813B414
+ cmp r0, 0x65
+ blt _0813B414
+ ldr r0, =0x00004039
+ movs r1, 0x1
+ b _0813B478
+ .pool
+_0813B414:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r2, [r0]
+ movs r1, 0x4
+ ldrsb r1, [r2, r1]
+ adds r3, r0, 0
+ cmp r1, 0
+ bne _0813B444
+ movs r0, 0x5
+ ldrsb r0, [r2, r0]
+ cmp r0, 0x34
+ beq _0813B436
+ cmp r0, 0x34
+ blt _0813B444
+ cmp r0, 0x38
+ bgt _0813B444
+ cmp r0, 0x36
+ blt _0813B444
+_0813B436:
+ ldr r0, =0x00004039
+ movs r1, 0x1
+ b _0813B478
+ .pool
+_0813B444:
+ ldr r3, [r3]
+ movs r2, 0x5
+ ldrsb r2, [r3, r2]
+ ldr r1, =gUnknown_085B3410
+ subs r0, r6, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r2, r0
+ bne _0813B468
+ movs r0, 0x4
+ ldrsb r0, [r3, r0]
+ cmp r0, 0
+ bne _0813B468
+ movs r0, 0x1
+ b _0813B47E
+ .pool
+_0813B468:
+ ldr r0, =0x00004037
+ movs r1, 0
+ b _0813B478
+ .pool
+_0813B474:
+ adds r0, r5, 0
+ adds r1, r4, 0
+_0813B478:
+ bl VarSet
+_0813B47C:
+ movs r0, 0
+_0813B47E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B3B0
+
+ thumb_func_start sub_813B484
+sub_813B484: @ 813B484
+ push {lr}
+ movs r0, 0x2
+ bl sub_80AB104
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813B484
+
+ thumb_func_start sub_813B490
+sub_813B490: @ 813B490
+ push {r4-r7,lr}
+ movs r3, 0
+ ldr r0, =gSaveBlock1Ptr
+ ldr r4, [r0]
+ movs r6, 0x4
+ ldrsb r6, [r4, r6]
+ ldr r5, =gUnknown_085B3420
+ adds r0, r5, 0x2
+ mov r12, r0
+ adds r7, r5, 0x1
+_0813B4A4:
+ lsls r0, r3, 1
+ adds r2, r0, r3
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ cmp r6, r0
+ bne _0813B4CC
+ movs r1, 0x5
+ ldrsb r1, [r4, r1]
+ adds r0, r2, r7
+ ldrb r0, [r0]
+ cmp r1, r0
+ bne _0813B4CC
+ mov r1, r12
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ b _0813B4D8
+ .pool
+_0813B4CC:
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0xB
+ bls _0813B4A4
+ movs r0, 0x1
+_0813B4D8:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B490
+
+ thumb_func_start sub_813B4E0
+sub_813B4E0: @ 813B4E0
+ push {lr}
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ bl sub_81D15CC
+ cmp r0, 0
+ blt _0813B50C
+ movs r1, 0xAE
+ lsls r1, 1
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ bl FlagGet
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0813B50C
+ movs r0, 0x1
+ b _0813B50E
+ .pool
+_0813B50C:
+ movs r0, 0
+_0813B50E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B4E0
+
+ thumb_func_start sub_813B514
+sub_813B514: @ 813B514
+ push {lr}
+ ldr r0, =0x0000403f
+ bl VarGet
+ lsls r0, 16
+ cmp r0, 0
+ beq _0813B52C
+ movs r0, 0x1
+ b _0813B52E
+ .pool
+_0813B52C:
+ movs r0, 0
+_0813B52E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B514
+
+ thumb_func_start sub_813B534
+sub_813B534: @ 813B534
+ push {lr}
+ ldr r2, =gUnknown_0203AB70
+ ldr r1, =gBattleTypeFlags
+ ldr r0, [r1]
+ str r0, [r2]
+ movs r0, 0
+ str r0, [r1]
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0813B552
+ ldr r0, =sub_80B3AF8
+ movs r1, 0x5
+ bl CreateTask
+_0813B552:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B534
+
+ thumb_func_start sub_813B568
+sub_813B568: @ 813B568
+ push {lr}
+ ldr r0, =sub_813B57C
+ movs r1, 0x5
+ bl CreateTask
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B568
+
+ thumb_func_start sub_813B57C
+sub_813B57C: @ 813B57C
+ 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
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x9
+ bls _0813B596
+ b _0813B7C6
+_0813B596:
+ lsls r0, 2
+ ldr r1, =_0813B5A8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0813B5A8:
+ .4byte _0813B5D0
+ .4byte _0813B5E4
+ .4byte _0813B614
+ .4byte _0813B6B4
+ .4byte _0813B6E4
+ .4byte _0813B728
+ .4byte _0813B764
+ .4byte _0813B772
+ .4byte _0813B784
+ .4byte _0813B7A8
+_0813B5D0:
+ ldr r0, =sub_80B3AF8
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813B5DE
+ b _0813B7C6
+_0813B5DE:
+ b _0813B790
+ .pool
+_0813B5E4:
+ bl sub_800A520
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0813B5F2
+ b _0813B7C6
+_0813B5F2:
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813B5FE
+ b _0813B790
+_0813B5FE:
+ bl bitmask_all_link_players_but_self
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gSpecialVar_0x8004
+ movs r2, 0x2
+ bl SendBlock
+ b _0813B708
+ .pool
+_0813B614:
+ bl GetBlockReceivedStatus
+ movs r1, 0x2
+ ands r1, r0
+ cmp r1, 0
+ bne _0813B622
+ b _0813B7C6
+_0813B622:
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813B62E
+ b _0813B790
+_0813B62E:
+ ldr r5, =gSpecialVar_0x8005
+ ldr r0, =gBlockRecvBuffer
+ movs r1, 0x80
+ lsls r1, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r5]
+ movs r0, 0x1
+ bl ResetBlockReceivedFlag
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ bne _0813B668
+ ldrh r1, [r5]
+ cmp r1, 0x1
+ bne _0813B668
+ ldr r0, =gSpecialVar_Result
+ strh r1, [r0]
+ b _0813B790
+ .pool
+_0813B668:
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r1, [r0]
+ adds r2, r0, 0
+ cmp r1, 0
+ bne _0813B68C
+ ldr r0, =gSpecialVar_0x8005
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ bne _0813B68C
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x2
+ b _0813B6AC
+ .pool
+_0813B68C:
+ ldrh r0, [r2]
+ cmp r0, 0x1
+ bne _0813B6A8
+ ldr r0, =gSpecialVar_0x8005
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0813B6A8
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0x3
+ b _0813B6AC
+ .pool
+_0813B6A8:
+ ldr r1, =gSpecialVar_Result
+ movs r0, 0
+_0813B6AC:
+ strh r0, [r1]
+ b _0813B790
+ .pool
+_0813B6B4:
+ bl sub_800A520
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0813B6C2
+ b _0813B7C6
+_0813B6C2:
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813B790
+ bl bitmask_all_link_players_but_self
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gSpecialVar_Result
+ movs r2, 0x2
+ bl SendBlock
+ b _0813B708
+ .pool
+_0813B6E4:
+ bl GetBlockReceivedStatus
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ beq _0813B7C6
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813B790
+ ldr r1, =gSpecialVar_Result
+ ldr r0, =gBlockRecvBuffer
+ ldrh r0, [r0]
+ strh r0, [r1]
+ movs r0, 0
+ bl ResetBlockReceivedFlag
+_0813B708:
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+ b _0813B7C6
+ .pool
+_0813B728:
+ bl GetMultiplayerId
+ lsls r0, 24
+ cmp r0, 0
+ bne _0813B74C
+ ldr r0, =gSpecialVar_Result
+ ldrh r0, [r0]
+ cmp r0, 0x2
+ bne _0813B790
+ ldr r0, =gText_YourPartnerHasRetired
+ bl ShowFieldAutoScrollMessage
+ b _0813B790
+ .pool
+_0813B74C:
+ ldr r0, =gSpecialVar_Result
+ ldrh r0, [r0]
+ cmp r0, 0x3
+ bne _0813B790
+ ldr r0, =gText_YourPartnerHasRetired
+ bl ShowFieldAutoScrollMessage
+ b _0813B790
+ .pool
+_0813B764:
+ movs r0, 0
+ bl IsTextPrinterActive
+ lsls r0, 16
+ cmp r0, 0
+ bne _0813B7C6
+ b _0813B790
+_0813B772:
+ bl sub_800A520
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0813B7C6
+ bl sub_800ADF8
+ b _0813B790
+_0813B784:
+ bl sub_800A520
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0813B7C6
+_0813B790:
+ ldr r0, =gTasks
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ b _0813B7C6
+ .pool
+_0813B7A8:
+ ldr r0, =gLinkVSyncDisabled
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0813B7B4
+ bl sub_800AC34
+_0813B7B4:
+ ldr r0, =gBattleTypeFlags
+ ldr r1, =gUnknown_0203AB70
+ ldr r1, [r1]
+ str r1, [r0]
+ bl EnableBothScriptContexts
+ adds r0, r4, 0
+ bl DestroyTask
+_0813B7C6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B57C
+
+ thumb_func_start sub_813B7D8
+sub_813B7D8: @ 813B7D8
+ push {lr}
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0813B7F8
+ ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ movs r0, 0
+ movs r1, 0x1
+ bl DoRayquazaScene
+ b _0813B802
+ .pool
+_0813B7F8:
+ ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ movs r0, 0x1
+ movs r1, 0
+ bl DoRayquazaScene
+_0813B802:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B7D8
+
+ thumb_func_start sub_813B80C
+sub_813B80C: @ 813B80C
+ push {lr}
+ ldr r0, =sub_813B824
+ movs r1, 0x8
+ bl CreateTask
+ movs r0, 0x9D
+ bl PlaySE
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B80C
+
+ thumb_func_start sub_813B824
+sub_813B824: @ 813B824
+ 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
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+ movs r0, 0x2
+ ldrsh r1, [r4, r0]
+ ldr r0, =gSpecialVar_0x8005
+ ldrh r0, [r0]
+ cmp r1, r0
+ bne _0813B858
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ movs r0, 0x9D
+ bl PlaySE
+_0813B858:
+ movs r0, 0
+ ldrsh r1, [r4, r0]
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ subs r0, 0x1
+ cmp r1, r0
+ bne _0813B86C
+ adds r0, r5, 0
+ bl DestroyTask
+_0813B86C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B824
+
+ thumb_func_start sub_813B880
+sub_813B880: @ 813B880
+ push {lr}
+ ldr r0, =_fwalk
+ 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
+ movs r2, 0
+ movs r0, 0x4
+ strh r0, [r1, 0x8]
+ strh r0, [r1, 0xA]
+ strh r0, [r1, 0xC]
+ strh r2, [r1, 0xE]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B880
+
+ thumb_func_start _fwalk
+_fwalk: @ 813B8B0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ lsls r0, 2
+ add r0, r9
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r5, r0, r1
+ movs r0, 0x6
+ ldrsh r1, [r5, r0]
+ lsls r1, 1
+ adds r1, r5
+ ldrh r0, [r1]
+ subs r0, 0x1
+ strh r0, [r1]
+ movs r1, 0x6
+ ldrsh r0, [r5, r1]
+ lsls r0, 1
+ adds r0, r5
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ bne _0813B94E
+ movs r6, 0
+_0813B8EA:
+ movs r4, 0
+ lsls r3, r6, 3
+ mov r10, r3
+ adds r7, r6, 0x1
+ mov r8, r7
+_0813B8F4:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r1, [r0]
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ adds r0, r4
+ adds r0, 0x6
+ movs r3, 0x2
+ ldrsh r1, [r1, r3]
+ adds r1, r6
+ adds r1, 0x4
+ ldr r7, =0x00000201
+ adds r2, r4, r7
+ add r2, r10
+ movs r7, 0x6
+ ldrsh r3, [r5, r7]
+ lsls r3, 5
+ adds r2, r3
+ lsls r2, 16
+ lsrs r2, 16
+ bl MapGridSetMetatileIdAt
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x2
+ bls _0813B8F4
+ mov r1, r8
+ lsls r0, r1, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bls _0813B8EA
+ bl DrawWholeMapView
+ ldrh r0, [r5, 0x6]
+ adds r0, 0x1
+ strh r0, [r5, 0x6]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ bne _0813B94E
+ mov r0, r9
+ bl DestroyTask
+ bl EnableBothScriptContexts
+_0813B94E:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end _fwalk
+
+ thumb_func_start sub_813B968
+sub_813B968: @ 813B968
+ push {r4,r5,lr}
+ ldr r5, =gSpecialVar_Result
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ movs r1, 0x7
+ bl __udivsi3
+ strh r0, [r5]
+ ldrh r4, [r5]
+ adds r0, r4, 0
+ movs r1, 0x14
+ bl __udivsi3
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ subs r4, r1
+ strh r4, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B968
+
+ thumb_func_start sub_813B9A0
+sub_813B9A0: @ 813B9A0
+ push {lr}
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrh r1, [r0, 0x1C]
+ movs r0, 0xB0
+ lsls r0, 4
+ cmp r1, r0
+ bne _0813B9B6
+ movs r0, 0x3
+ bl Overworld_SetHealLocationWarp
+_0813B9B6:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813B9A0
+
+ thumb_func_start sub_813B9C0
+sub_813B9C0: @ 813B9C0
+ push {r4,lr}
+ 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
+ adds r0, r1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldr r2, =gUnknown_085B3444
+ ldrh r0, [r2]
+ ldr r1, =0x0000ffff
+ cmp r0, r1
+ beq _0813BA06
+ adds r4, r1, 0
+ adds r1, r2, 0
+_0813B9E6:
+ ldrh r0, [r2]
+ cmp r0, r3
+ bne _0813B9FC
+ movs r0, 0x1
+ b _0813BA08
+ .pool
+_0813B9FC:
+ adds r1, 0x2
+ adds r2, 0x2
+ ldrh r0, [r1]
+ cmp r0, r4
+ bne _0813B9E6
+_0813BA06:
+ movs r0, 0
+_0813BA08:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813B9C0
+
+ thumb_func_start ResetFanClub
+ResetFanClub: @ 813BA10
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r2, =0x0000141e
+ adds r1, r0, r2
+ movs r2, 0
+ strh r2, [r1]
+ movs r1, 0xA1
+ lsls r1, 5
+ adds r0, r1
+ strh r2, [r0]
+ bx lr
+ .pool
+ thumb_func_end ResetFanClub
+
+ thumb_func_start sub_813BA30
+sub_813BA30: @ 813BA30
+ push {lr}
+ bl sub_813BF44
+ lsls r0, 24
+ cmp r0, 0
+ beq _0813BA52
+ bl sub_813BCE8
+ ldr r0, =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldrh r0, [r0, 0xE]
+ movs r2, 0xA1
+ lsls r2, 5
+ adds r1, r2
+ strh r0, [r1]
+_0813BA52:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813BA30
+
+ thumb_func_start sub_813BA60
+sub_813BA60: @ 813BA60
+ push {r4,lr}
+ ldr r4, =gSaveBlock1Ptr
+ ldr r0, [r4]
+ ldr r1, =0x0000141e
+ adds r0, r1
+ ldrh r0, [r0]
+ lsrs r0, 7
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0813BAB6
+ bl sub_813BF60
+ bl sub_813BD84
+ ldr r1, [r4]
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldrh r0, [r0, 0xE]
+ movs r2, 0xA1
+ lsls r2, 5
+ adds r1, r2
+ strh r0, [r1]
+ ldr r0, =0x00000315
+ bl FlagClear
+ ldr r0, =0x00000316
+ bl FlagClear
+ ldr r0, =0x00000317
+ bl FlagClear
+ movs r0, 0xC6
+ lsls r0, 2
+ bl FlagClear
+ ldr r0, =0x000002da
+ bl FlagClear
+ ldr r0, =0x00004095
+ movs r1, 0x1
+ bl VarSet
+_0813BAB6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813BA60
+
+ thumb_func_start sub_813BADC
+sub_813BADC: @ 813BADC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, =0x00004095
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bne _0813BB58
+ ldr r4, =gSaveBlock1Ptr
+ ldr r0, [r4]
+ ldr r5, =0x0000141e
+ adds r3, r0, r5
+ ldrh r2, [r3]
+ movs r1, 0x7F
+ ands r1, r2
+ ldr r0, =gUnknown_085B3470
+ adds r0, r6, r0
+ ldrb r0, [r0]
+ adds r1, r0
+ cmp r1, 0x13
+ ble _0813BB54
+ bl sub_813BCA8
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bhi _0813BB3C
+ bl sub_813BB74
+ ldr r0, [r4]
+ adds r0, r5
+ ldrh r2, [r0]
+ ldr r1, =0x0000ff80
+ ands r1, r2
+ strh r1, [r0]
+ b _0813BB58
+ .pool
+_0813BB3C:
+ ldr r2, [r4]
+ adds r2, r5
+ ldrh r1, [r2]
+ ldr r0, =0x0000ff80
+ ands r0, r1
+ movs r1, 0x14
+ orrs r0, r1
+ strh r0, [r2]
+ b _0813BB58
+ .pool
+_0813BB54:
+ adds r0, r2, r0
+ strh r0, [r3]
+_0813BB58:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r1, =0x0000141e
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x7F
+ ands r0, r1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_813BADC
+
+ thumb_func_start sub_813BB74
+sub_813BB74: @ 813BB74
+ push {r4-r7,lr}
+ sub sp, 0x8
+ movs r3, 0
+ movs r5, 0
+ ldr r7, =gSaveBlock1Ptr
+ ldr r2, =0x0000141e
+ movs r6, 0x1
+_0813BB82:
+ ldr r0, [r7]
+ adds r0, r2
+ ldrh r1, [r0]
+ ldr r0, =gUnknown_085B3474
+ adds r0, r5, r0
+ ldrb r4, [r0]
+ asrs r1, r4
+ ands r1, r6
+ cmp r1, 0
+ bne _0813BBC8
+ adds r3, r5, 0
+ str r2, [sp]
+ str r3, [sp, 0x4]
+ bl Random
+ adds r1, r6, 0
+ ands r1, r0
+ ldr r2, [sp]
+ ldr r3, [sp, 0x4]
+ cmp r1, 0
+ beq _0813BBC8
+ ldr r0, [r7]
+ adds r0, r2
+ adds r1, r6, 0
+ lsls r1, r4
+ ldrh r2, [r0]
+ orrs r1, r2
+ strh r1, [r0]
+ b _0813BBEA
+ .pool
+_0813BBC8:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x7
+ bls _0813BB82
+ ldr r0, =gSaveBlock1Ptr
+ ldr r2, [r0]
+ ldr r0, =0x0000141e
+ adds r2, r0
+ ldr r1, =gUnknown_085B3474
+ adds r1, r3, r1
+ movs r0, 0x1
+ ldrb r1, [r1]
+ lsls r0, r1
+ ldrh r1, [r2]
+ orrs r0, r1
+ strh r0, [r2]
+_0813BBEA:
+ adds r0, r3, 0
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_813BB74
+
+ thumb_func_start sub_813BC00
+sub_813BC00: @ 813BC00
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r0, 0
+ mov r10, r0
+ bl sub_813BCA8
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bne _0813BC2E
+ movs r0, 0
+ b _0813BC8E
+_0813BC1E:
+ mov r1, r8
+ ldr r0, [r1]
+ add r0, r9
+ lsls r4, r6
+ ldrh r1, [r0]
+ eors r4, r1
+ strh r4, [r0]
+ b _0813BC8C
+_0813BC2E:
+ movs r5, 0
+ ldr r2, =gSaveBlock1Ptr
+ mov r8, r2
+ ldr r0, =0x0000141e
+ mov r9, r0
+ movs r4, 0x1
+_0813BC3A:
+ mov r1, r8
+ ldr r0, [r1]
+ add r0, r9
+ ldrh r1, [r0]
+ ldr r7, =gUnknown_085B347C
+ adds r0, r5, r7
+ ldrb r6, [r0]
+ asrs r1, r6
+ ands r1, r4
+ cmp r1, 0
+ beq _0813BC5E
+ mov r10, r5
+ bl Random
+ adds r1, r4, 0
+ ands r1, r0
+ cmp r1, 0
+ bne _0813BC1E
+_0813BC5E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x7
+ bls _0813BC3A
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r2, =0x0000141e
+ adds r4, r0, r2
+ ldrh r1, [r4]
+ mov r2, r10
+ adds r0, r2, r7
+ ldrb r2, [r0]
+ adds r0, r1, 0
+ asrs r0, r2
+ movs r3, 0x1
+ ands r0, r3
+ cmp r0, 0
+ beq _0813BC8C
+ adds r0, r3, 0
+ lsls r0, r2
+ eors r1, r0
+ strh r1, [r4]
+_0813BC8C:
+ mov r0, r10
+_0813BC8E:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_813BC00
+
+ thumb_func_start sub_813BCA8
+sub_813BCA8: @ 813BCA8
+ push {r4,r5,lr}
+ movs r3, 0
+ movs r2, 0
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r1, =0x0000141e
+ adds r0, r1
+ ldrh r4, [r0]
+ movs r5, 0x1
+_0813BCBA:
+ adds r1, r2, 0
+ adds r1, 0x8
+ adds r0, r4, 0
+ asrs r0, r1
+ ands r0, r5
+ cmp r0, 0
+ beq _0813BCCE
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+_0813BCCE:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x7
+ bls _0813BCBA
+ adds r0, r3, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_813BCA8
+
+ thumb_func_start sub_813BCE8
+sub_813BCE8: @ 813BCE8
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r2, =gSaveBlock2Ptr
+ ldr r0, [r2]
+ ldrh r1, [r0, 0xE]
+ ldr r0, =0x000003e6
+ cmp r1, r0
+ bhi _0813BD58
+ adds r6, r2, 0
+ b _0813BD32
+ .pool
+_0813BD04:
+ ldr r0, [r6]
+ ldrh r1, [r0, 0xE]
+ ldr r4, =gSaveBlock1Ptr
+ ldr r0, [r4]
+ movs r2, 0xA1
+ lsls r2, 5
+ adds r0, r2
+ ldrh r0, [r0]
+ subs r1, r0
+ cmp r1, 0xB
+ ble _0813BD58
+ bl sub_813BC00
+ ldr r0, [r4]
+ movs r1, 0xA1
+ lsls r1, 5
+ adds r0, r1
+ ldrh r1, [r0]
+ adds r1, 0xC
+ strh r1, [r0]
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_0813BD32:
+ bl sub_813BCA8
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bhi _0813BD54
+ ldr r0, =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldr r0, [r6]
+ ldrh r0, [r0, 0xE]
+ movs r2, 0xA1
+ lsls r2, 5
+ adds r1, r2
+ strh r0, [r1]
+ b _0813BD58
+ .pool
+_0813BD54:
+ cmp r5, 0x8
+ bne _0813BD04
+_0813BD58:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813BCE8
+
+ thumb_func_start sub_813BD60
+sub_813BD60: @ 813BD60
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r1, =0x0000141e
+ adds r0, r1
+ ldrh r0, [r0]
+ ldr r1, =gSpecialVar_0x8004
+ ldrh r1, [r1]
+ asrs r0, r1
+ movs r1, 0x1
+ ands r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_813BD60
+
+ thumb_func_start sub_813BD84
+sub_813BD84: @ 813BD84
+ ldr r0, =gSaveBlock1Ptr
+ ldr r2, [r0]
+ ldr r0, =0x0000141e
+ adds r2, r0
+ ldrh r1, [r2]
+ movs r3, 0x80
+ lsls r3, 6
+ adds r0, r3, 0
+ orrs r0, r1
+ movs r3, 0x80
+ lsls r3, 1
+ adds r1, r3, 0
+ orrs r0, r1
+ movs r3, 0x80
+ lsls r3, 3
+ adds r1, r3, 0
+ orrs r0, r1
+ strh r0, [r2]
+ bx lr
+ .pool
+ thumb_func_end sub_813BD84
+
+ thumb_func_start sub_813BDB4
+sub_813BDB4: @ 813BDB4
+ push {lr}
+ movs r3, 0
+ movs r2, 0
+ ldr r0, =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ subs r0, 0x8
+ cmp r0, 0x7
+ bhi _0813BE14
+ lsls r0, 2
+ ldr r1, =_0813BDD8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0813BDD8:
+ .4byte _0813BE14
+ .4byte _0813BE14
+ .4byte _0813BDF8
+ .4byte _0813BDFE
+ .4byte _0813BE04
+ .4byte _0813BE0A
+ .4byte _0813BE10
+ .4byte _0813BE14
+_0813BDF8:
+ movs r3, 0
+ movs r2, 0x3
+ b _0813BE14
+_0813BDFE:
+ movs r3, 0
+ movs r2, 0x1
+ b _0813BE14
+_0813BE04:
+ movs r3, 0x1
+ movs r2, 0
+ b _0813BE14
+_0813BE0A:
+ movs r3, 0
+ movs r2, 0x4
+ b _0813BE14
+_0813BE10:
+ movs r3, 0x1
+ movs r2, 0x5
+_0813BE14:
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r1, =0x00003150
+ adds r0, r1
+ adds r1, r3, 0
+ bl sub_813BE30
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813BDB4
+
+ thumb_func_start sub_813BE30
+sub_813BE30: @ 813BE30
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r0, r5, 4
+ adds r1, r6, r0
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _0813BEE8
+ cmp r2, 0x5
+ bhi _0813BED4
+ lsls r0, r2, 2
+ ldr r1, =_0813BE58
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0813BE58:
+ .4byte _0813BED4
+ .4byte _0813BE70
+ .4byte _0813BE84
+ .4byte _0813BE98
+ .4byte _0813BEAC
+ .4byte _0813BEC0
+_0813BE70:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Steven
+ bl StringCopy
+ b _0813BF04
+ .pool
+_0813BE84:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Brawly
+ bl StringCopy
+ b _0813BF04
+ .pool
+_0813BE98:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Winona
+ bl StringCopy
+ b _0813BF04
+ .pool
+_0813BEAC:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Phoebe
+ bl StringCopy
+ b _0813BF04
+ .pool
+_0813BEC0:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Glacia
+ bl StringCopy
+ b _0813BF04
+ .pool
+_0813BED4:
+ ldr r0, =gStringVar1
+ ldr r1, =gText_Wallace
+ bl StringCopy
+ b _0813BF04
+ .pool
+_0813BEE8:
+ ldr r4, =gStringVar1
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl StringCopyN
+ movs r0, 0xFF
+ strb r0, [r4, 0x7]
+ adds r0, r6, 0
+ adds r0, 0x50
+ adds r0, r5
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl ConvertInternationalString
+_0813BF04:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813BE30
+
+ thumb_func_start sub_813BF10
+sub_813BF10: @ 813BF10
+ push {lr}
+ ldr r0, =0x00004095
+ bl VarGet
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bne _0813BF40
+ bl sub_813BA30
+ ldr r0, =gBattleOutcome
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0813BF3C
+ bl sub_813BB74
+ b _0813BF40
+ .pool
+_0813BF3C:
+ bl sub_813BC00
+_0813BF40:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_813BF10
+
+ thumb_func_start sub_813BF44
+sub_813BF44: @ 813BF44
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r1, =0x0000141e
+ adds r0, r1
+ ldrh r0, [r0]
+ lsrs r0, 7
+ movs r1, 0x1
+ ands r0, r1
+ bx lr
+ .pool
+ thumb_func_end sub_813BF44
+
+ thumb_func_start sub_813BF60
+sub_813BF60: @ 813BF60
+ ldr r0, =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldr r0, =0x0000141e
+ adds r1, r0
+ ldrh r2, [r1]
+ movs r0, 0x80
+ orrs r0, r2
+ strh r0, [r1]
+ bx lr
+ .pool
+ thumb_func_end sub_813BF60
+
+ thumb_func_start sub_813BF7C
+sub_813BF7C: @ 813BF7C
+ push {lr}
+ ldr r0, =gSpecialVar_0x8004
+ ldrb r0, [r0]
+ bl sub_813BADC
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_813BF7C
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_tasks.s b/asm/field_tasks.s
index 39bd3b545..4befe0ca7 100644
--- a/asm/field_tasks.s
+++ b/asm/field_tasks.s
@@ -1662,7 +1662,7 @@ _0809E572:
lsls r0, 24
cmp r0, 0
beq _0809E5D2
- bl sub_811A138
+ bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x4
diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
index 63acc9982..e31375f9f 100644
--- a/asm/fldeff_80F9BCC.s
+++ b/asm/fldeff_80F9BCC.s
@@ -563,7 +563,7 @@ _080F9FFE:
sub_80FA004: @ 80FA004
push {r4,lr}
bl sub_80E8BC8
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x1
beq _080FA0AE
@@ -591,7 +591,7 @@ sub_80FA004: @ 80FA004
bne _080FA070
bl sub_80F9F5C
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80FA0DC
@@ -606,7 +606,7 @@ _080FA070:
bne _080FA0A0
bl sub_80F9F5C
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80FA1E8
@@ -625,7 +625,7 @@ _080FA0AE:
_080FA0B2:
bl sub_80F9F5C
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80FA34C
@@ -642,12 +642,12 @@ _080FA0C4:
thumb_func_start sub_80FA0DC
sub_80FA0DC: @ 80FA0DC
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08275A86
+ ldr r0, =EventScript_275A86
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -777,12 +777,12 @@ sub_80FA1D8: @ 80FA1D8
thumb_func_start sub_80FA1E8
sub_80FA1E8: @ 80FA1E8
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08275ADF
+ ldr r0, =EventScript_275ADF
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -950,12 +950,12 @@ sub_80FA33C: @ 80FA33C
thumb_func_start sub_80FA34C
sub_80FA34C: @ 80FA34C
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08275B38
+ ldr r0, =EventScript_275B38
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -2063,7 +2063,7 @@ _080FACC2:
ldr r0, =gStringVar2
ldr r1, =gText_Gold
bl StringCopy
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =0x00004054
@@ -2087,7 +2087,7 @@ _080FAD14:
ldr r0, =gStringVar2
ldr r1, =gText_Silver
bl StringCopy
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =0x00004054
@@ -2103,12 +2103,12 @@ _080FAD14:
b _080FAD8A
.pool
_080FAD60:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _080FAD70
.pool
_080FAD6C:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
_080FAD70:
strh r0, [r1]
@@ -2131,7 +2131,7 @@ _080FAD8A:
b _080FADCE
.pool
_080FADA4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
strh r0, [r1]
ldr r0, =0x00004054
@@ -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
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
index e31bf22e2..19a29d729 100755..100644
--- a/asm/fldeff_cut.s
+++ b/asm/fldeff_cut.s
@@ -20,7 +20,7 @@ sub_80D3718: @ 80D3718
cmp r0, 0x1
bne _080D3754
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_80D3A9C
@@ -32,7 +32,7 @@ _080D3754:
ldr r0, =gUnknown_0203AB40
adds r1, r0, 0x2
bl PlayerGetDestCoords
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
@@ -244,7 +244,7 @@ _080D38F8:
lsrs r4, r0, 16
movs r7, 0x1
movs r5, 0
- ldr r3, =gUnknown_0857C60A
+ ldr r3, =gUnknown_0857C608 + 2
adds r0, r2, r3
ldrb r0, [r0]
adds r6, 0x1
@@ -322,7 +322,7 @@ _080D395A:
bne _080D39F8
_080D39BC:
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_ruin_valley
@@ -360,7 +360,7 @@ _080D3A18:
bne _080D3A2A
_080D3A1E:
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_ruin_valley
@@ -384,7 +384,7 @@ hm2_ruin_valley: @ 80D3A50
push {lr}
movs r0, 0x1
bl FieldEffectStart
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
@@ -420,12 +420,12 @@ sub_80D3A6C: @ 80D3A6C
thumb_func_start sub_80D3A9C
sub_80D3A9C: @ 80D3A9C
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08290705
+ ldr r0, =Route103_EventScript_290705
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -1323,7 +1323,7 @@ _080D41D4:
lsrs r0, 24
cmp r0, 0x1
bne _080D422A
- ldr r0, =gUnknown_08267EDB
+ ldr r0, =FarawayIsland_Interior_EventScript_267EDB
bl ScriptContext1_SetupScript
_080D422A:
pop {r4-r6}
diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s
new file mode 100644
index 000000000..d52ee34fc
--- /dev/null
+++ b/asm/fldeff_flash.s
@@ -0,0 +1,709 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start SetUpFieldMove_Flash
+SetUpFieldMove_Flash: @ 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, =FieldCallback_Teleport
+ 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, =FieldCallback_Teleport
+ 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 SetUpFieldMove_Flash
+
+ 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, =gCaveTransitionTiles
+ ldr r1, =0x0600c000
+ bl LZ77UnCompVram
+ ldr r0, =gCaveTransitionTilemap
+ ldr r1, =0x0600f800
+ bl LZ77UnCompVram
+ ldr r0, =gCaveTransitionPalette_White
+ 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, =gCaveTransitionPalette_White
+ 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, =gCaveTransitionTiles
+ ldr r1, =0x0600c000
+ bl LZ77UnCompVram
+ ldr r0, =gCaveTransitionTilemap
+ 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, =gCaveTransitionPalette_White
+ movs r1, 0xE0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, =gCaveTransitionPalette_Black
+ 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, =gCaveTransitionPalette_Black
+ 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
diff --git a/asm/fldeff_groundshake.s b/asm/fldeff_groundshake.s
index 81d92430e..81d92430e 100755..100644
--- a/asm/fldeff_groundshake.s
+++ b/asm/fldeff_groundshake.s
diff --git a/asm/fldeff_softboiled.s b/asm/fldeff_softboiled.s
index 48d968d20..c3aa4f1ed 100755..100644
--- a/asm/fldeff_softboiled.s
+++ b/asm/fldeff_softboiled.s
@@ -8,7 +8,7 @@
thumb_func_start hm_prepare_dive_probably
hm_prepare_dive_probably: @ 8161508
push {r4-r6,lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
movs r6, 0x64
@@ -20,7 +20,7 @@ hm_prepare_dive_probably: @ 8161508
adds r5, r0, 0
lsls r5, 16
lsrs r5, 16
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
muls r0, r6
@@ -59,7 +59,7 @@ sub_8161560: @ 8161560
strb r1, [r0, 0xB]
ldrb r1, [r0, 0x9]
strb r1, [r0, 0xA]
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s
index 947517ed5..fdadd2aac 100644
--- a/asm/fldeff_strength.s
+++ b/asm/fldeff_strength.s
@@ -17,13 +17,13 @@ hm_prepare_rocksmash: @ 8145DC4
movs r0, 0
b _08145DF2
_08145DD8:
- ldr r4, =gScriptResult
- bl brm_get_pokemon_selection
+ 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
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_8145E0C
@@ -39,12 +39,12 @@ _08145DF2:
thumb_func_start sub_8145E0C
sub_8145E0C: @ 8145E0C
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_082908FD
+ ldr r0, =FieryPath_EventScript_2908FD
bl ScriptContext1_SetupScript
pop {r0}
bx r0
diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s
index ea7b2653a..2055f7069 100644
--- a/asm/fldeff_sweetscent.s
+++ b/asm/fldeff_sweetscent.s
@@ -8,7 +8,7 @@
thumb_func_start SetUpFieldMove_SweetScent
SetUpFieldMove_SweetScent: @ 8159EF0
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_sweet_scent
@@ -23,7 +23,7 @@ hm2_sweet_scent: @ 8159F10
push {lr}
movs r0, 0x33
bl FieldEffectStart
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
@@ -205,7 +205,7 @@ sub_815A090: @ 815A090
lsls r2, 1
bl CpuFastSet
bl sub_80AC3E4
- ldr r0, =gUnknown_08290CAE
+ ldr r0, =EventScript_290CAE
bl ScriptContext1_SetupScript
adds r0, r4, 0
bl DestroyTask
diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s
deleted file mode 100644
index d77e29dd2..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 brm_get_pokemon_selection
- 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..7956f814a 100755..100644
--- a/asm/fossil_specials.s
+++ b/asm/fossil_specials.s
@@ -657,7 +657,7 @@ _081BF0B4:
ldr r0, [r0]
ldr r1, [r0]
movs r5, 0
- ldr r2, =gUnknown_08617C44
+ ldr r2, =gRootFossil_Gfx
_081BF0BE:
adds r0, r5, r2
ldrb r0, [r0]
diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s
deleted file mode 100644
index 9227c1795..000000000
--- a/asm/hall_of_fame.s
+++ /dev/null
@@ -1,3603 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_817354C
-sub_817354C: @ 817354C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_817354C
-
- thumb_func_start sub_8173560
-sub_8173560: @ 8173560
- push {lr}
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8173560
-
- thumb_func_start sub_817357C
-sub_817357C: @ 817357C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _08173590
- b _08173688
-_08173590:
- lsls r0, 2
- ldr r1, =_081735A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081735A4:
- .4byte _081735B8
- .4byte _081735E8
- .4byte _081735EE
- .4byte _08173620
- .4byte _0817365C
-_081735B8:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_8174EC4
- ldr r4, =gUnknown_0203BCDC
- ldr r0, =0x00002014
- bl AllocZeroed
- str r0, [r4]
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _08173688
- .pool
-_081735E8:
- bl sub_8174F70
- b _08173642
-_081735EE:
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0xE2
- lsls r1, 3
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- bl sub_8174FAC
- ldr r0, =gUnknown_0203BCDC
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1]
- b _08173642
- .pool
-_08173620:
- bl sub_8175024
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08173688
- ldr r0, =sub_817354C
- bl SetVBlankCallback
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_08173642:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08173688
- .pool
-_0817365C:
- bl UpdatePaletteFade
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08173688
- ldr r0, =sub_8173560
- bl SetMainCallback2
- movs r0, 0xDA
- lsls r0, 1
- bl PlayBGM
- movs r0, 0
- b _0817368A
- .pool
-_08173688:
- movs r0, 0x1
-_0817368A:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_817357C
-
- thumb_func_start sub_8173694
-sub_8173694: @ 8173694
- push {r4,lr}
- bl sub_817357C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081736C4
- ldr r0, =sub_817371C
- 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]
- ldr r4, =gUnknown_0203BCD8
- movs r0, 0x78
- bl AllocZeroed
- str r0, [r4]
-_081736C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173694
-
- thumb_func_start sub_81736D8
-sub_81736D8: @ 81736D8
- push {r4,lr}
- bl sub_817357C
- lsls r0, 24
- cmp r0, 0
- bne _08173708
- ldr r0, =sub_817371C
- 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, 0x1
- strh r0, [r1, 0x8]
- ldr r4, =gUnknown_0203BCD8
- movs r0, 0x78
- bl AllocZeroed
- str r0, [r4]
-_08173708:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81736D8
-
- thumb_func_start sub_817371C
-sub_817371C: @ 817371C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- movs r7, 0
- ldr r0, =gUnknown_0203BCD8
- mov r9, r0
-_08173740:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- cmp r5, 0
- beq _0817380C
- adds r0, r6, 0
- movs r1, 0x41
- bl GetMonData
- mov r1, r9
- ldr r3, [r1]
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 2
- adds r3, r4
- ldr r2, =0x000001ff
- adds r1, r2, 0
- ands r0, r1
- ldrh r1, [r3, 0x8]
- ldr r5, =0xfffffe00
- adds r2, r5, 0
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- mov r2, r9
- ldr r1, [r2]
- adds r1, r4
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- mov r5, r9
- ldr r1, [r5]
- adds r1, 0x4
- adds r1, r4
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- ldr r2, [r5]
- adds r2, r4
- lsls r0, 1
- ldrb r3, [r2, 0x9]
- movs r1, 0x1
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x9]
- adds r0, r6, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- movs r2, 0
- mov r6, r8
- lsls r5, r6, 2
- ldr r3, =gUnknown_0203BCD8
-_081737CA:
- ldr r0, [r3]
- adds r1, r2, r4
- adds r0, 0xA
- adds r0, r1
- mov r6, sp
- adds r1, r6, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _081737CA
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r5, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- b _08173840
- .pool
-_0817380C:
- mov r6, r9
- ldr r3, [r6]
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 2
- adds r4, r3, r2
- ldrh r0, [r4, 0x8]
- ldr r6, =0xfffffe00
- adds r1, r6, 0
- ands r0, r1
- strh r0, [r4, 0x8]
- str r5, [r4]
- adds r3, 0x4
- adds r3, r2
- str r5, [r3]
- ldrb r1, [r4, 0x9]
- movs r0, 0x1
- ands r0, r1
- strb r0, [r4, 0x9]
- mov r1, r9
- ldr r0, [r1]
- adds r0, r2
- movs r1, 0xFF
- strb r1, [r0, 0xA]
- mov r2, r8
- lsls r5, r2, 2
-_08173840:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x5
- bhi _0817384C
- b _08173740
-_0817384C:
- ldr r0, =gUnknown_0203BCD4
- movs r3, 0
- str r3, [r0]
- ldr r4, =gTasks
- mov r6, r8
- adds r1, r5, r6
- lsls r1, 3
- adds r2, r1, r4
- strh r3, [r2, 0xA]
- movs r0, 0xFF
- strh r0, [r2, 0x10]
- movs r7, 0
- adds r3, r4, 0
- adds r3, 0x8
- movs r2, 0xFF
-_0817386A:
- adds r0, r7, 0x5
- lsls r0, 1
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x5
- bls _0817386A
- mov r1, r8
- adds r0, r5, r1
- lsls r0, 3
- adds r1, r0, r4
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _081738A4
- ldr r0, =sub_8173A8C
- b _081738A6
- .pool
-_081738A4:
- ldr r0, =sub_81738BC
-_081738A6:
- str r0, [r1]
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817371C
-
- thumb_func_start sub_81738BC
-sub_81738BC: @ 81738BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r7, =0x0201c000
- ldr r0, =gUnknown_0203BCE4
- ldrb r0, [r0]
- cmp r0, 0
- bne _081738EC
- movs r2, 0x80
- lsls r2, 6
- adds r0, r7, 0
- movs r1, 0
- bl memset
- b _08173906
- .pool
-_081738EC:
- movs r0, 0x3
- bl sub_81534D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08173906
- movs r2, 0x80
- lsls r2, 6
- adds r0, r7, 0
- movs r1, 0
- bl memset
-_08173906:
- movs r5, 0
- ldrh r1, [r7, 0x8]
- ldr r2, =0x000001ff
- adds r0, r2, 0
- ands r0, r1
- mov r1, r9
- lsls r1, 2
- mov r8, r1
- cmp r0, 0
- beq _08173930
-_0817391A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r7, 0x78
- cmp r5, 0x31
- bhi _08173934
- ldrh r1, [r7, 0x8]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0817391A
-_08173930:
- cmp r5, 0x31
- bls _08173956
-_08173934:
- ldr r4, =0x0201c000
- adds r6, r4, 0
- adds r4, 0x78
- movs r5, 0
- subs r7, 0x78
-_0817393E:
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x78
- bl memcpy
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r6, 0x78
- adds r4, 0x78
- cmp r5, 0x30
- bls _0817393E
-_08173956:
- ldr r0, =gUnknown_0203BCD8
- ldr r1, [r0]
- adds r0, r7, 0
- movs r2, 0x78
- bl memcpy
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- ldr r2, =gUnknown_082C8959
- 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
- movs r3, 0
- bl AddTextPrinterParametrized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gTasks
- mov r0, r8
- add r0, r9
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81739C4
- str r1, [r0]
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81738BC
-
- thumb_func_start sub_81739C4
-sub_81739C4: @ 81739C4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gGameContinueCallback
- ldr r0, =sub_81736D8
- str r0, [r1]
- movs r0, 0x3
- bl TrySavingData
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08173A34
- ldr r0, =gDamagedSaveSectors
- ldr r0, [r0]
- cmp r0, 0
- beq _08173A34
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- bl FreeAllWindowBuffers
- ldr r5, =gUnknown_0203BCDC
- ldr r0, [r5]
- cmp r0, 0
- beq _08173A06
- bl Free
- movs r0, 0
- str r0, [r5]
-_08173A06:
- ldr r5, =gUnknown_0203BCD8
- ldr r0, [r5]
- cmp r0, 0
- beq _08173A16
- bl Free
- movs r0, 0
- str r0, [r5]
-_08173A16:
- adds r0, r4, 0
- bl DestroyTask
- b _08173A4C
- .pool
-_08173A34:
- movs r0, 0x37
- bl PlaySE
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8173A5C
- str r1, [r0]
- movs r1, 0x20
- strh r1, [r0, 0xE]
-_08173A4C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81739C4
-
- thumb_func_start sub_8173A5C
-sub_8173A5C: @ 8173A5C
- 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, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08173A80
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _08173A84
- .pool
-_08173A80:
- ldr r0, =sub_8173A8C
- str r0, [r1]
-_08173A84:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173A5C
-
- thumb_func_start sub_8173A8C
-sub_8173A8C: @ 8173A8C
- 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_8173AA8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8173A8C
-
- thumb_func_start sub_8173AA8
-sub_8173AA8: @ 8173AA8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gTasks
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r6, [r1, 0xA]
- ldr r2, =gUnknown_0203BCD8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- ldr r2, [r2]
- adds r7, r2, r0
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0x3
- ble _08173AEC
- ldr r1, =gUnknown_085E53B4
- b _08173AEE
- .pool
-_08173AEC:
- ldr r1, =gUnknown_085E53E4
-_08173AEE:
- lsls r2, r6, 3
- adds r0, r2, r1
- ldrh r3, [r0]
- adds r0, r1, 0x2
- adds r0, r2, r0
- ldrh r4, [r0]
- adds r0, r1, 0x4
- adds r0, r2, r0
- ldrh r0, [r0]
- mov r9, r0
- adds r1, 0x6
- adds r2, r1
- ldrh r5, [r2]
- ldrh r2, [r7, 0x8]
- ldr r0, =0x000001ff
- ands r0, r2
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08173B20
- lsls r0, r5, 16
- movs r1, 0xA0
- lsls r1, 12
- adds r0, r1
- lsrs r5, r0, 16
-_08173B20:
- lsls r0, r2, 23
- lsrs r0, 23
- ldr r1, [r7]
- ldr r2, [r7, 0x4]
- lsls r3, 16
- asrs r3, 16
- str r3, [sp]
- lsls r3, r4, 16
- asrs r3, 16
- str r3, [sp, 0x4]
- lsls r3, r6, 24
- lsrs r3, 24
- str r3, [sp, 0x8]
- ldr r3, =0x0000ffff
- str r3, [sp, 0xC]
- movs r3, 0x1
- bl sub_818D3E4
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r3, r2, r4
- movs r1, 0
- mov r12, r1
- mov r1, r9
- strh r1, [r3, 0x30]
- strh r5, [r3, 0x32]
- mov r1, r12
- strh r1, [r3, 0x2E]
- ldrh r1, [r7, 0x8]
- lsls r1, 23
- lsrs r1, 23
- strh r1, [r3, 0x3C]
- adds r4, 0x1C
- adds r2, r4
- ldr r1, =sub_8175120
- str r1, [r2]
- ldr r5, =gTasks
- adds r1, r6, 0x5
- lsls r1, 1
- mov r2, r8
- lsls r4, r2, 2
- add r4, r8
- lsls r4, 3
- adds r1, r4
- adds r2, r5, 0
- adds r2, 0x8
- adds r1, r2
- strh r0, [r1]
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- adds r4, r5
- ldr r0, =sub_8173BC0
- str r0, [r4]
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173AA8
-
- thumb_func_start sub_8173BC0
-sub_8173BC0: @ 8173BC0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gTasks
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- adds r5, r3, r4
- ldrh r0, [r5, 0xA]
- ldr r2, =gUnknown_0203BCD8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- ldr r2, [r2]
- adds r2, r1
- adds r0, 0x5
- lsls r0, 1
- adds r0, r3
- adds r4, 0x8
- adds r0, r4
- movs r3, 0
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r3, r0, r1
- ldr r1, [r3, 0x1C]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08173C1A
- ldrb r1, [r3, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r3, 0x1]
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0xE
- bl sub_8174A88
- movs r0, 0x78
- strh r0, [r5, 0xE]
- ldr r0, =sub_8173C34
- str r0, [r5]
-_08173C1A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173BC0
-
- thumb_func_start sub_8173C34
-sub_8173C34: @ 8173C34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- adds r4, r6, r2
- ldrh r3, [r4, 0xA]
- ldr r1, =gUnknown_0203BCD8
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- ldr r1, [r1]
- adds r1, r0
- mov r9, r1
- ldrh r1, [r4, 0xE]
- movs r7, 0xE
- ldrsh r0, [r4, r7]
- mov r12, r2
- cmp r0, 0
- beq _08173C78
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08173D10
- .pool
-_08173C78:
- ldr r2, =gUnknown_0203BCD4
- ldr r0, =gSprites
- mov r8, r0
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r6
- mov r1, r12
- adds r1, 0x8
- adds r6, r0, r1
- movs r7, 0
- ldrsh r1, [r6, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- ldr r3, [r2]
- orrs r3, r1
- str r3, [r2]
- ldrh r2, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bgt _08173D04
- mov r7, r9
- ldrh r1, [r7, 0x1C]
- ldr r0, =0x000001ff
- ands r0, r1
- cmp r0, 0
- beq _08173D04
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- ldr r0, =0x000063b0
- str r0, [sp]
- adds r0, r3, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0xC
- bl BeginNormalPaletteFade
- movs r0, 0
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r0, =sub_8173AA8
- str r0, [r4]
- b _08173D10
- .pool
-_08173D04:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- add r0, r12
- ldr r1, =sub_8173D24
- str r1, [r0]
-_08173D10:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173C34
-
- thumb_func_start sub_8173D24
-sub_8173D24: @ 8173D24
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =0xffff0000
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r3, 0
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r5, r0, 3
- ldr r0, =gTasks + 0x8
- mov r12, r0
- mov r8, r1
- ldr r6, =gSprites
- movs r7, 0xD
- negs r7, r7
-_08173D52:
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r5
- mov r2, r12
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- beq _08173D74
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1, 0x5]
-_08173D74:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _08173D52
- movs r0, 0
- movs r1, 0xF
- bl sub_8174A38
- movs r0, 0x69
- bl PlaySE
- ldr r1, =gTasks
- mov r2, r8
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xC8
- lsls r1, 1
- strh r1, [r0, 0xE]
- ldr r1, =sub_8173DC0
- str r1, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173D24
-
- thumb_func_start sub_8173DC0
-sub_8173DC0: @ 8173DC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gTasks
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r5, r0, 3
- adds r1, r5, r7
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08173E04
- subs r2, 0x1
- strh r2, [r1, 0xE]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0
- bne _08173E7E
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x6E
- ble _08173E7E
- bl sub_81751FC
- b _08173E7E
- .pool
-_08173E04:
- movs r3, 0
- mov r9, r4
- ldr r0, =gUnknown_0203BCD4
- mov r10, r0
- adds r4, r5, 0
- adds r7, 0x8
- mov r8, r7
- ldr r7, =gSprites
- movs r1, 0xD
- negs r1, r1
- mov r12, r1
- movs r5, 0x4
-_08173E1C:
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r4
- mov r2, r8
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- beq _08173E40
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- mov r0, r12
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
-_08173E40:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _08173E1C
- mov r3, r10
- ldr r0, [r3]
- ldr r1, =0x000063b0
- str r1, [sp]
- movs r1, 0
- movs r2, 0xC
- movs r3, 0xC
- bl BeginNormalPaletteFade
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gTasks
- mov r2, r9
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x7
- strh r1, [r0, 0xE]
- ldr r1, =sub_8173EA4
- str r1, [r0]
-_08173E7E:
- 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_8173DC0
-
- thumb_func_start sub_8173EA4
-sub_8173EA4: @ 8173EA4
- 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, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0xF
- ble _08173ECC
- ldr r0, =sub_8173EE4
- str r0, [r1]
- b _08173EDE
- .pool
-_08173ECC:
- adds r0, r2, 0x1
- strh r0, [r1, 0xE]
- movs r0, 0xE
- ldrsh r1, [r1, r0]
- lsls r1, 24
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_08173EDE:
- pop {r0}
- bx r0
- thumb_func_end sub_8173EA4
-
- thumb_func_start sub_8173EE4
-sub_8173EE4: @ 8173EE4
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldrb r0, [r0, 0x8]
- movs r1, 0x1
- bl sub_818D97C
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- str r1, [sp]
- ldr r1, =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0x78
- movs r3, 0x48
- bl sub_818D8AC
- ldr r1, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r1
- strh r0, [r4, 0x10]
- ldr r0, =gUnknown_085E5380
- bl AddWindow
- ldr r0, [r6]
- ldrb r1, [r0, 0x14]
- lsrs r1, 3
- ldr r2, =0x0000021d
- movs r0, 0x1
- movs r3, 0xD0
- bl sub_80987D4
- movs r0, 0x1
- bl stdpal_get
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x78
- strh r0, [r4, 0xE]
- ldr r0, =sub_8173F84
- str r0, [r4]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173EE4
-
- thumb_func_start sub_8173F84
-sub_8173F84: @ 8173F84
- push {r4,r5,lr}
- sub sp, 0x10
- 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, 0xE]
- movs r1, 0xE
- ldrsh r5, [r4, r1]
- cmp r5, 0
- beq _08173FAC
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _08174018
- .pool
-_08173FAC:
- ldr r2, =gSprites
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0xC0
- beq _08173FD0
- adds r0, r2, 0x1
- strh r0, [r1, 0x20]
- b _08174018
- .pool
-_08173FD0:
- 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, 0x1
- movs r1, 0x2
- bl sub_8174C98
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- ldr r2, =gText_LeagueChamp
- str r5, [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
- movs r3, 0
- bl AddTextPrinterParametrized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =sub_8174028
- str r0, [r4]
-_08174018:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8173F84
-
- thumb_func_start sub_8174028
-sub_8174028: @ 8174028
- 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 _0817404E
- movs r0, 0x4
- bl FadeOutBGM
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8174060
- str r0, [r1]
-_0817404E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174028
-
- thumb_func_start sub_8174060
-sub_8174060: @ 8174060
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gPlttBufferFaded
- ldr r1, =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 2
- bl CpuSet
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- 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, =sub_81740B0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174060
-
- thumb_func_start sub_81740B0
-sub_81740B0: @ 81740B0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08174164
- lsls r0, r7, 2
- mov r8, r0
- ldr r1, =gTasks
- adds r0, r7
- lsls r0, 3
- adds r1, 0x12
- adds r5, r0, r1
- ldr r2, =gSprites
- mov r9, r2
- movs r6, 0x5
-_081740DC:
- ldrb r4, [r5]
- cmp r4, 0xFF
- beq _081740FA
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- add r0, r9
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl sub_818D820
-_081740FA:
- adds r5, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _081740DC
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x10]
- bl sub_818D8F0
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl HideBg
- movs r0, 0x3
- bl HideBg
- bl FreeAllWindowBuffers
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- adds r0, r7, 0
- bl DestroyTask
- ldr r4, =gUnknown_0203BCDC
- ldr r0, [r4]
- cmp r0, 0
- beq _08174150
- bl Free
- movs r0, 0
- str r0, [r4]
-_08174150:
- ldr r4, =gUnknown_0203BCD8
- ldr r0, [r4]
- cmp r0, 0
- beq _08174160
- bl Free
- movs r0, 0
- str r0, [r4]
-_08174160:
- bl sub_8174184
-_08174164:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81740B0
-
- thumb_func_start sub_8174184
-sub_8174184: @ 8174184
- push {lr}
- ldr r0, =sub_8175620
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174184
-
- thumb_func_start sub_8174194
-sub_8174194: @ 8174194
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _081741D0
- lsls r0, 2
- ldr r1, =_081741B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081741B8:
- .4byte _081741D0
- .4byte _08174200
- .4byte _08174214
- .4byte _08174240
- .4byte _08174280
- .4byte _081742B0
-_081741D0:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_8174EC4
- ldr r4, =gUnknown_0203BCDC
- ldr r0, =0x00002014
- bl AllocZeroed
- str r0, [r4]
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _08174308
- .pool
-_08174200:
- bl sub_8174F70
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _081742A2
- .pool
-_08174214:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- bl sub_8174FAC
- ldr r1, =gMain
- movs r4, 0x87
- lsls r4, 3
- adds r1, r4
- b _081742A2
- .pool
-_08174240:
- bl sub_8175024
- lsls r0, 24
- cmp r0, 0
- bne _08174308
- ldr r1, =0x0201c000
- ldr r0, =gUnknown_085E56D4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_80F9BCC
- ldr r0, =sub_817354C
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r4, 0x87
- lsls r4, 3
- adds r1, r4
- b _081742A2
- .pool
-_08174280:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_80F9C1C
- lsls r0, 24
- cmp r0, 0
- bne _08174308
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_081742A2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08174308
- .pool
-_081742B0:
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0xE2
- lsls r1, 3
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r0, =sub_8174324
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r4, =gTasks + 0x8
- movs r3, 0xFF
-_081742E2:
- adds r0, r2, 0x5
- lsls r0, 1
- adds r0, r1
- adds r0, r4
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _081742E2
- ldr r4, =gUnknown_0203BCD8
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- str r0, [r4]
- ldr r0, =sub_8173560
- bl SetMainCallback2
-_08174308:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174194
-
- thumb_func_start sub_8174324
-sub_8174324: @ 8174324
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =0x00000226
- str r0, [sp]
- movs r0, 0
- movs r1, 0x1E
- movs r2, 0
- movs r3, 0xC
- bl sub_81980F0
- movs r0, 0x3
- bl sub_81534D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08174364
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81749A0
- b _081743DA
- .pool
-_08174364:
- ldr r0, =0x0201c000
- ldr r4, =gUnknown_0203BCD8
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 5
- bl CpuSet
- ldr r4, [r4]
- movs r2, 0
- ldrh r1, [r4, 0x8]
- ldr r3, =0x000001ff
- adds r0, r3, 0
- ands r0, r1
- lsls r5, r6, 2
- cmp r0, 0
- beq _0817439A
-_08174384:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- adds r4, 0x78
- cmp r2, 0x31
- bhi _081743BC
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08174384
-_0817439A:
- cmp r2, 0x31
- bhi _081743BC
- ldr r0, =gTasks
- adds r1, r5, r6
- lsls r1, 3
- adds r1, r0
- subs r0, r2, 0x1
- b _081743C6
- .pool
-_081743BC:
- ldr r0, =gTasks
- adds r1, r5, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0x31
-_081743C6:
- strh r0, [r1, 0x8]
- movs r0, 0xA
- bl GetGameStat
- ldr r2, =gTasks
- adds r1, r5, r6
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0xA]
- ldr r0, =sub_81743EC
-_081743DA:
- str r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174324
-
- thumb_func_start sub_81743EC
-sub_81743EC: @ 81743EC
- 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
- mov r8, r0
- ldr r0, =gUnknown_0203BCD8
- ldr r3, [r0]
- movs r5, 0
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r4, 0x8
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- ldr r2, =gUnknown_0203BCD4
- cmp r5, r0
- bge _0817442A
- adds r1, r0, 0
-_0817441E:
- adds r3, 0x78
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r1
- blt _0817441E
-_0817442A:
- adds r6, r3, 0
- movs r0, 0
- str r0, [r2]
- mov r5, r8
- lsls r2, r5, 2
- adds r1, r2, r5
- lsls r1, 3
- adds r1, r4
- strh r0, [r1, 0xC]
- strh r0, [r1, 0x10]
- movs r5, 0
- str r2, [sp, 0x14]
- ldr r4, =0x000001ff
- adds r2, r1, 0
-_08174446:
- ldrh r1, [r6, 0x8]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08174456
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- strh r0, [r2, 0x10]
-_08174456:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r6, 0x14
- cmp r5, 0x5
- bls _08174446
- adds r6, r3, 0
- movs r5, 0
- ldr r1, =gTasks
- ldr r0, [sp, 0x14]
- add r0, r8
- lsls r0, 3
- mov r9, r0
- adds r0, r1
- str r0, [sp, 0x10]
- ldr r1, =0x000001ff
- mov r10, r1
-_08174478:
- ldrh r0, [r6, 0x8]
- mov r1, r10
- ands r1, r0
- adds r7, r0, 0
- cmp r1, 0
- beq _08174540
- ldr r2, [sp, 0x10]
- movs r4, 0x10
- ldrsh r0, [r2, r4]
- cmp r0, 0x3
- ble _081744B8
- lsls r1, r5, 3
- ldr r0, =gUnknown_085E53B4
- adds r0, 0x4
- adds r0, r1, r0
- ldrh r3, [r0]
- ldr r0, =gUnknown_085E53BA
- adds r1, r0
- ldrh r4, [r1]
- b _081744C8
- .pool
-_081744B8:
- ldr r0, =gUnknown_085E53E4
- lsls r2, r5, 3
- adds r1, r0, 0x4
- adds r1, r2, r1
- ldrh r3, [r1]
- adds r0, 0x6
- adds r2, r0
- ldrh r4, [r2]
-_081744C8:
- mov r1, r10
- ands r1, r7
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _081744DE
- lsls r0, r4, 16
- movs r1, 0xA0
- lsls r1, 12
- adds r0, r1
- lsrs r4, r0, 16
-_081744DE:
- lsls r0, r7, 23
- lsrs r0, 23
- ldr r1, [r6]
- ldr r2, [r6, 0x4]
- lsls r3, 16
- asrs r3, 16
- str r3, [sp]
- lsls r3, r4, 16
- asrs r3, 16
- str r3, [sp, 0x4]
- lsls r3, r5, 24
- lsrs r3, 24
- str r3, [sp, 0x8]
- ldr r3, =0x0000ffff
- str r3, [sp, 0xC]
- movs r3, 0x1
- bl sub_818D7D8
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r3, r2
- movs r2, 0x4
- orrs r3, r2
- strb r3, [r1, 0x5]
- adds r1, r5, 0x5
- lsls r1, 1
- add r1, r9
- ldr r2, =gTasks + 0x8
- adds r1, r2
- strh r0, [r1]
- b _0817454E
- .pool
-_08174540:
- adds r0, r5, 0x5
- lsls r0, 1
- add r0, r9
- ldr r4, =gTasks + 0x8
- adds r0, r4
- movs r1, 0xFF
- strh r1, [r0]
-_0817454E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r6, 0x14
- cmp r5, 0x5
- bls _08174478
- ldr r0, =0xffff0000
- ldr r2, =0x000063b0
- movs r1, 0xC
- bl BlendPalettes
- ldr r0, =gStringVar1
- ldr r1, =gTasks
- ldr r4, [sp, 0x14]
- add r4, r8
- lsls r4, 3
- adds r4, r1
- movs r5, 0xA
- ldrsh r1, [r4, r5]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r5, =gStringVar4
- ldr r1, =gText_HOFNumber
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _081745C0
- ldr r1, =gText_PickCancel
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_8198204
- b _081745D0
- .pool
-_081745C0:
- ldr r1, =gText_PickNextCancel
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_8198204
-_081745D0:
- ldr r0, =gTasks
- ldr r1, [sp, 0x14]
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81745FC
- str r0, [r1]
- 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 sub_81743EC
-
- thumb_func_start sub_81745FC
-sub_81745FC: @ 81745FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203BCD8
- ldr r5, [r0]
- movs r3, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r3, r0
- bge _08174630
- adds r1, r0, 0
-_08174624:
- adds r5, 0x78
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- blt _08174624
-_08174630:
- movs r3, 0
- lsls r7, r4, 2
- adds r0, r7, r4
- lsls r6, r0, 3
- ldr r0, =gTasks + 0x8
- mov r10, r0
- ldr r1, =gSprites
- mov r8, r1
- movs r2, 0xD
- negs r2, r2
- mov r9, r2
- movs r0, 0x4
- mov r12, r0
-_0817464A:
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r6
- add r0, r10
- ldrh r1, [r0]
- cmp r1, 0xFF
- beq _0817466C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r2, [r0, 0x5]
- mov r1, r9
- ands r1, r2
- mov r2, r12
- orrs r1, r2
- strb r1, [r0, 0x5]
-_0817466C:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _0817464A
- adds r1, r7, r4
- lsls r1, 3
- ldr r0, =gTasks
- adds r6, r1, r0
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- adds r0, 0x5
- lsls r0, 1
- adds r0, r1
- ldr r1, =gTasks
- adds r1, 0x8
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r1
- ldr r1, =0xffff0000
- eors r0, r1
- ldr r2, =gUnknown_0203BCD4
- str r0, [r2]
- ldr r2, =0x000063b0
- movs r1, 0xC
- bl BlendPalettesUnfaded
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r4, r5, r0
- ldrh r1, [r4, 0x8]
- ldr r0, =0x000001ff
- ands r0, r1
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _081746E6
- bl StopCryAndClearCrySongs
- ldrh r0, [r4, 0x8]
- lsls r0, 23
- lsrs r0, 23
- movs r1, 0
- bl PlayCry1
-_081746E6:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xE
- bl sub_8174A88
- ldr r0, =sub_8174728
- 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_81745FC
-
- thumb_func_start sub_8174728
-sub_8174728: @ 8174728
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r2
- adds r3, r1, 0
- cmp r0, 0
- beq _081747E4
- ldr r0, =gTasks
- mov r12, r0
- lsls r0, r6, 2
- adds r1, r0, r6
- lsls r3, r1, 3
- mov r1, r12
- adds r4, r3, r1
- ldrh r2, [r4, 0x8]
- movs r5, 0x8
- ldrsh r1, [r4, r5]
- mov r9, r0
- cmp r1, 0
- beq _081747B8
- subs r0, r2, 0x1
- strh r0, [r4, 0x8]
- movs r5, 0
- adds r7, r3, 0
- movs r0, 0x8
- add r0, r12
- mov r8, r0
-_0817476A:
- adds r0, r5, 0x5
- lsls r0, 1
- adds r0, r7
- mov r1, r8
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _08174782
- bl sub_818D820
- movs r0, 0xFF
- strh r0, [r4]
-_08174782:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0817476A
- ldr r0, =gTasks
- mov r2, r9
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _081747A4
- subs r0, r2, 0x1
- strh r0, [r1, 0xA]
-_081747A4:
- ldr r0, =sub_81743EC
- str r0, [r1]
- b _08174884
- .pool
-_081747B8:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _081747D2
- bl StopCryAndClearCrySongs
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_081747D2:
- ldr r0, =sub_8174898
- str r0, [r4]
- b _08174884
- .pool
-_081747E4:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _08174828
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _08174806
- bl StopCryAndClearCrySongs
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_08174806:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8174898
- str r0, [r1]
- b _08174884
- .pool
-_08174828:
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _08174858
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xC]
- movs r4, 0xC
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08174858
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- ldr r0, =sub_81745FC
- str r0, [r1]
- b _08174884
- .pool
-_08174858:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08174884
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r2, r0, r1
- movs r5, 0xC
- ldrsh r1, [r2, r5]
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- subs r0, 0x1
- cmp r1, r0
- bge _08174884
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- ldr r0, =sub_81745FC
- str r0, [r2]
-_08174884:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174728
-
- thumb_func_start sub_8174898
-sub_8174898: @ 8174898
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gPlttBufferFaded
- ldr r1, =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 2
- bl CpuSet
- ldr r1, =0x0201c000
- ldr r0, =gUnknown_085E56D4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_80F9BF4
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81748F0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174898
-
- thumb_func_start sub_81748F0
-sub_81748F0: @ 81748F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_80F9C30
- lsls r0, 24
- cmp r0, 0
- bne _08174988
- movs r5, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r7, r0, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
-_08174910:
- adds r0, r5, 0x5
- lsls r0, 1
- adds r0, r7
- mov r1, r8
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0xFF
- beq _08174928
- bl sub_818D820
- movs r0, 0xFF
- strh r0, [r4]
-_08174928:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08174910
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl HideBg
- movs r0, 0x3
- bl HideBg
- bl sub_8198314
- bl FreeAllWindowBuffers
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- adds r0, r6, 0
- bl DestroyTask
- ldr r4, =gUnknown_0203BCDC
- ldr r0, [r4]
- cmp r0, 0
- beq _08174974
- bl Free
- movs r0, 0
- str r0, [r4]
-_08174974:
- ldr r4, =gUnknown_0203BCD8
- ldr r0, [r4]
- cmp r0, 0
- beq _08174984
- bl Free
- movs r0, 0
- str r0, [r4]
-_08174984:
- bl sub_8137C3C
-_08174988:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81748F0
-
- thumb_func_start sub_81749A0
-sub_81749A0: @ 81749A0
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gText_UnkCtrlF800Exit
- movs r1, 0x8
- movs r2, 0x1
- bl sub_8198180
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- ldr r2, =gText_HOFCorrupted
- 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
- movs r3, 0
- bl AddTextPrinterParametrized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8174A08
- str r1, [r0]
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81749A0
-
- thumb_func_start sub_8174A08
-sub_8174A08: @ 8174A08
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08174A28
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8174898
- str r0, [r1]
-_08174A28:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174A08
-
- thumb_func_start sub_8174A38
-sub_8174A38: @ 8174A38
- push {r4,lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- ldr r4, =gText_WelcomeToHOF
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_085E5388
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174A38
-
- thumb_func_start sub_8174A88
-sub_8174A88: @ 8174A88
- push {r4-r7,lr}
- sub sp, 0x2C
- adds r7, r0, 0
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- ldrh r0, [r7, 0x8]
- ldr r1, =0x000001ff
- ands r1, r0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _08174B30
- ldr r1, =gText_Number
- add r0, sp, 0xC
- bl StringCopy
- adds r6, r0, 0
- ldrh r0, [r7, 0x8]
- lsls r0, 23
- lsrs r0, 23
- bl SpeciesToPokedexNum
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _08174B04
- adds r0, r4, 0
- movs r1, 0x64
- bl __divsi3
- subs r0, 0x5F
- strb r0, [r6]
- adds r6, 0x1
- adds r0, r4, 0
- movs r1, 0x64
- bl __modsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __divsi3
- subs r0, 0x5F
- strb r0, [r6]
- adds r6, 0x1
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- subs r0, 0x5F
- b _08174B0E
- .pool
-_08174B04:
- movs r0, 0xAC
- strb r0, [r6]
- adds r6, 0x1
- strb r0, [r6]
- adds r6, 0x1
-_08174B0E:
- strb r0, [r6]
- adds r6, 0x1
- movs r0, 0xFF
- strb r0, [r6]
- ldr r0, =gUnknown_085E5388
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0x1
- bl box_print
-_08174B30:
- adds r1, r7, 0
- adds r1, 0xA
- add r0, sp, 0xC
- movs r2, 0xA
- bl memcpy
- add r1, sp, 0xC
- movs r0, 0xFF
- strb r0, [r1, 0xA]
- ldrh r1, [r7, 0x8]
- ldr r4, =0x000001ff
- adds r0, r4, 0
- ands r0, r1
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08174B8C
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r0, =gUnknown_085E5388
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _08174C82
- .pool
-_08174B8C:
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x80
- bl GetStringRightAlignXOffset
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r0, =gUnknown_085E5388
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- add r1, sp, 0xC
- movs r0, 0xBA
- strb r0, [r1]
- mov r0, sp
- adds r0, 0xD
- ldrh r1, [r7, 0x8]
- lsls r1, 23
- lsrs r1, 23
- movs r2, 0xB
- muls r1, r2
- ldr r2, =gSpeciesNames
- adds r1, r2
- bl StringCopy
- adds r6, r0, 0
- ldrh r1, [r7, 0x8]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x20
- beq _08174C0A
- cmp r0, 0x1D
- beq _08174C0A
- lsls r0, r1, 23
- lsrs r0, 23
- ldr r1, [r7, 0x4]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08174C00
- cmp r0, 0xFE
- beq _08174C04
- b _08174C0A
- .pool
-_08174C00:
- movs r0, 0xB5
- b _08174C06
-_08174C04:
- movs r0, 0xB6
-_08174C06:
- strb r0, [r6]
- adds r6, 0x1
-_08174C0A:
- movs r0, 0xFF
- strb r0, [r6]
- ldr r5, =gUnknown_085E5388
- str r5, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x80
- movs r3, 0x1
- bl box_print
- ldr r1, =gText_Level
- add r0, sp, 0xC
- bl StringCopy
- adds r6, r0, 0
- ldrb r1, [r7, 0x9]
- lsrs r1, 1
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- str r5, [sp]
- str r4, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x24
- movs r3, 0x11
- bl box_print
- ldr r1, =gText_IDNumber
- add r0, sp, 0xC
- bl StringCopy
- adds r6, r0, 0
- ldrh r1, [r7]
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- str r5, [sp]
- str r4, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x68
- movs r3, 0x11
- bl box_print
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08174C82:
- add sp, 0x2C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174A88
-
- thumb_func_start sub_8174C98
-sub_8174C98: @ 8174C98
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r2, =0x0000021d
- movs r0, 0x1
- movs r1, 0
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r0, =gUnknown_085E538C
- mov r8, r0
- str r0, [sp]
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- str r1, [sp, 0x4]
- ldr r0, =gText_Name
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- ldr r0, =gSaveBlock2Ptr
- mov r10, r0
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- lsls r2, r0, 24
- lsrs r2, 24
- mov r1, r8
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- mov r1, r10
- ldr r0, [r1]
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x1
- bl box_print
- mov r1, r10
- ldr r0, [r1]
- ldrb r4, [r0, 0xA]
- ldrb r0, [r0, 0xB]
- lsls r0, 8
- orrs r4, r0
- mov r0, r8
- str r0, [sp]
- movs r7, 0
- str r7, [sp, 0x4]
- ldr r0, =gText_IDNumber
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x11
- bl box_print
- add r6, sp, 0xC
- ldr r1, =0x000186a0
- adds r0, r4, 0
- bl __modsi3
- ldr r5, =0x00002710
- adds r1, r5, 0
- bl __divsi3
- subs r0, 0x5F
- strb r0, [r6]
- add r6, sp, 0xC
- adds r0, r4, 0
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r5, 0xFA
- lsls r5, 2
- adds r1, r5, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r6, 0x1]
- add r6, sp, 0xC
- adds r0, r4, 0
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r6, 0x2]
- add r5, sp, 0xC
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x3]
- add r5, sp, 0xC
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x4]
- add r1, sp, 0xC
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- movs r0, 0x1
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- lsls r2, r0, 24
- lsrs r2, 24
- mov r1, r8
- str r1, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x11
- bl box_print
- mov r0, r8
- str r0, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- ldr r0, =gText_MainMenuTime
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x21
- bl box_print
- add r5, sp, 0xC
- mov r0, r10
- ldr r4, [r0]
- ldrh r0, [r4, 0xE]
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5]
- add r5, sp, 0xC
- ldrh r0, [r4, 0xE]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x1]
- add r5, sp, 0xC
- ldrh r0, [r4, 0xE]
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- add r0, sp, 0xC
- ldrb r0, [r0]
- cmp r0, 0xA1
- bne _08174E1E
- add r0, sp, 0xC
- strb r7, [r0]
-_08174E1E:
- add r0, sp, 0xC
- ldrb r1, [r0]
- cmp r1, 0
- bne _08174E30
- ldrb r0, [r0, 0x1]
- cmp r0, 0xA1
- bne _08174E30
- add r0, sp, 0xC
- strb r1, [r0, 0x8]
-_08174E30:
- add r1, sp, 0xC
- movs r0, 0xF0
- strb r0, [r1, 0x3]
- adds r4, r1, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r5, [r0]
- ldrb r0, [r5, 0x10]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4, 0x4]
- add r4, sp, 0xC
- ldrb r0, [r5, 0x10]
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4, 0x5]
- add r1, sp, 0xC
- movs r0, 0xFF
- strb r0, [r1, 0x6]
- movs r0, 0x1
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r0, =gUnknown_085E538C
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x21
- bl box_print
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- 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_8174C98
-
- thumb_func_start sub_8174EC4
-sub_8174EC4: @ 8174EC4
- 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
-_08174EEA:
- 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 _08174EEA
- 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]
- bl ResetPaletteFade
- ldr r0, =gUnknown_085E54E8
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174EC4
-
- thumb_func_start sub_8174F70
-sub_8174F70: @ 8174F70
- push {lr}
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl reset_temp_tile_data_buffers
- bl dp13_810BB8C
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, =gUnknown_085E5394
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085E53A4
- bl LoadCompressedObjectPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174F70
-
- thumb_func_start sub_8174FAC
-sub_8174FAC: @ 8174FAC
- push {r4,lr}
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085E5374
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203BCDC
- ldr r1, [r4]
- adds r1, 0x12
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001012
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- 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, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8174FAC
-
- thumb_func_start sub_8175024
-sub_8175024: @ 8175024
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203BCDC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _08175108
- lsls r0, 2
- ldr r1, =_08175044
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08175044:
- .4byte _08175058
- .4byte _08175070
- .4byte _0817507C
- .4byte _081750D2
- .4byte _081750DC
-_08175058:
- ldr r1, =gUnknown_085E5508
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _08175108
- .pool
-_08175070:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _08175108
- b _08175112
-_0817507C:
- movs r4, 0x20
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0xE
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0x2
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _08175108
-_081750D2:
- bl sub_81971D0
- bl sub_8197200
- b _08175108
-_081750DC:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r0, =gUnknown_0203BCDC
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1]
- b _08175114
- .pool
-_08175108:
- ldr r0, =gUnknown_0203BCDC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08175112:
- movs r0, 0x1
-_08175114:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8175024
-
- thumb_func_start sub_8175120
-sub_8175120: @ 8175120
- push {r4,lr}
- adds r2, r0, 0
- ldr r1, [r2, 0x20]
- ldr r0, [r2, 0x30]
- cmp r1, r0
- beq _08175176
- ldrh r3, [r2, 0x20]
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- movs r4, 0x30
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bge _08175140
- adds r0, r3, 0
- adds r0, 0xF
- strh r0, [r2, 0x20]
-_08175140:
- ldrh r3, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, r1
- ble _08175150
- adds r0, r3, 0
- subs r0, 0xF
- strh r0, [r2, 0x20]
-_08175150:
- ldrh r3, [r2, 0x22]
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r4, 0x32
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bge _08175164
- adds r0, r3, 0
- adds r0, 0xA
- strh r0, [r2, 0x22]
-_08175164:
- ldrh r3, [r2, 0x22]
- movs r4, 0x22
- ldrsh r0, [r2, r4]
- cmp r0, r1
- ble _0817519C
- adds r0, r3, 0
- subs r0, 0xA
- strh r0, [r2, 0x22]
- b _0817519C
-_08175176:
- ldrh r0, [r2, 0x3C]
- lsls r1, r0, 16
- movs r0, 0xCE
- lsls r0, 17
- cmp r1, r0
- bne _08175190
- lsrs r1, 16
- adds r0, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl DoMonFrontSpriteAnimation
- b _0817519C
-_08175190:
- lsrs r1, 16
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl DoMonFrontSpriteAnimation
-_0817519C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8175120
-
- thumb_func_start sub_81751A4
-sub_81751A4: @ 81751A4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x26]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- cmp r0, 0x78
- ble _081751BA
- adds r0, r5, 0
- bl DestroySprite
- b _081751F2
-_081751BA:
- adds r0, r1, 0x1
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r4, [r5, 0x2E]
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- ands r0, r1
- adds r0, 0x8
- ldr r1, =gSineTable
- lsls r4, 1
- adds r4, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- muls r0, r1
- cmp r0, 0
- bge _081751E8
- adds r0, 0xFF
-_081751E8:
- asrs r0, 8
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x4
- strh r0, [r5, 0x2E]
-_081751F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81751A4
-
- thumb_func_start sub_81751FC
-sub_81751FC: @ 81751FC
- push {r4,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl Random
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x7
- ands r2, r0
- negs r2, r2
- ldr r0, =gUnknown_085E54D0
- lsls r4, 16
- asrs r4, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r4, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r4, r1, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x11
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- bl Random
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- beq _08175274
- movs r0, 0
- b _08175276
- .pool
-_08175274:
- movs r0, 0x1
-_08175276:
- strh r0, [r4, 0x30]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81751FC
-
- thumb_func_start sub_8175280
-sub_8175280: @ 8175280
- push {r4,lr}
- ldr r4, =gSpecialVar_0x8004
- movs r0, 0xB4
- strh r0, [r4]
- ldr r0, =sub_8175364
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _081752AA
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r4]
- strh r1, [r0, 0xA]
- ldr r0, =gSpecialVar_0x8005
- strh r2, [r0]
-_081752AA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175280
-
- thumb_func_start sub_81752C0
-sub_81752C0: @ 81752C0
- push {r4,lr}
- ldr r0, =sub_8175364
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081752D4
- bl DestroyTask
-_081752D4:
- bl sub_8152254
- ldr r4, =0x000003e9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81752C0
-
- thumb_func_start sub_81752F4
-sub_81752F4: @ 81752F4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0xE]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0x6E
- ble _08175324
- ldr r2, =gTasks
- movs r0, 0x28
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x1
- strh r1, [r0, 0x26]
- ldrb r0, [r5, 0x16]
- bl sub_81525D0
- b _08175358
- .pool
-_08175324:
- adds r0, r1, 0x1
- ldrh r1, [r5, 0x1C]
- adds r0, r1
- strh r0, [r5, 0xE]
- ldrb r4, [r5, 0x1A]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- ands r0, r1
- adds r0, 0x8
- ldr r1, =gSineTable
- lsls r4, 1
- adds r4, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- muls r0, r1
- cmp r0, 0
- bge _0817534E
- adds r0, 0xFF
-_0817534E:
- asrs r0, 8
- strh r0, [r5, 0xC]
- ldrh r0, [r5, 0x1A]
- adds r0, 0x4
- strh r0, [r5, 0x1A]
-_08175358:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81752F4
-
- thumb_func_start sub_8175364
-sub_8175364: @ 8175364
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- movs r7, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldrh r0, [r6]
- cmp r0, 0x1
- beq _081753E0
- cmp r0, 0x1
- bgt _08175394
- cmp r0, 0
- beq _0817539C
- b _081754B0
- .pool
-_08175394:
- cmp r0, 0xFF
- bne _0817539A
- b _081754A0
-_0817539A:
- b _081754B0
-_0817539C:
- movs r0, 0x40
- bl sub_81521C0
- cmp r0, 0
- bne _081753B8
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =gSpecialVar_0x8004
- strh r7, [r0]
- ldr r1, =gSpecialVar_0x8005
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
-_081753B8:
- ldr r0, =gUnknown_085E5394
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085E53A4
- bl LoadCompressedObjectPalette
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _081754B0
- .pool
-_081753E0:
- ldrh r0, [r6, 0x2]
- cmp r0, 0
- beq _08175478
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _08175478
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r5, r0, 0
- lsls r5, 16
- asrs r5, 16
- bl Random
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x7
- ands r4, r0
- negs r4, r4
- lsls r4, 16
- asrs r4, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x11
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_085E53FC
- ldr r2, =0x000003e9
- str r4, [sp]
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- adds r0, r1, 0
- adds r1, r2, 0
- adds r3, r5, 0
- bl sub_81524C4
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xFF
- beq _08175478
- adds r4, r7, 0
- ldr r1, =sub_81752F4
- adds r0, r4, 0
- bl sub_8152438
- bl Random
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- bne _08175468
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8152474
-_08175468:
- adds r0, r4, 0
- movs r1, 0x7
- mov r2, r8
- bl sub_8152474
- ldrh r0, [r6, 0x1E]
- adds r0, 0x1
- strh r0, [r6, 0x1E]
-_08175478:
- bl sub_81522D4
- ldrh r0, [r6, 0x2]
- cmp r0, 0
- beq _08175494
- subs r0, 0x1
- strh r0, [r6, 0x2]
- b _081754B0
- .pool
-_08175494:
- ldrh r0, [r6, 0x1E]
- cmp r0, 0
- bne _081754B0
- movs r0, 0xFF
- strh r0, [r6]
- b _081754B0
-_081754A0:
- bl sub_81752C0
- ldr r0, =gSpecialVar_0x8004
- strh r7, [r0]
- ldr r1, =gSpecialVar_0x8005
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
-_081754B0:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175364
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/heal_location.s b/asm/heal_location.s
deleted file mode 100644
index f7947d34e..000000000
--- a/asm/heal_location.s
+++ /dev/null
@@ -1,83 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8122C5C
-sub_8122C5C: @ 8122C5C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0
- ldr r2, =gUnknown_0859F53C
-_08122C6A:
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, r4
- bne _08122C84
- movs r0, 0x1
- ldrsb r0, [r2, r0]
- cmp r0, r1
- bne _08122C84
- adds r0, r3, 0x1
- b _08122C8E
- .pool
-_08122C84:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x15
- bls _08122C6A
- movs r0, 0
-_08122C8E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8122C5C
-
- thumb_func_start sub_8122C94
-sub_8122C94: @ 8122C94
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl sub_8122C5C
- cmp r0, 0
- beq _08122CB4
- lsls r0, 3
- ldr r1, =gUnknown_0859F534
- adds r0, r1
- b _08122CB6
- .pool
-_08122CB4:
- movs r0, 0
-_08122CB6:
- pop {r1}
- bx r1
- thumb_func_end sub_8122C94
-
- thumb_func_start sub_8122CBC
-@ warpdata *sub_8122CBC(int a1)
-sub_8122CBC: @ 8122CBC
- push {lr}
- cmp r0, 0
- beq _08122CD4
- cmp r0, 0x16
- bhi _08122CD4
- lsls r0, 3
- ldr r1, =gUnknown_0859F534
- adds r0, r1
- b _08122CD6
- .pool
-_08122CD4:
- movs r0, 0
-_08122CD6:
- pop {r1}
- bx r1
- thumb_func_end sub_8122CBC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/international_string_util.s b/asm/international_string_util.s
index 817a1d5e4..469d88787 100755..100644
--- a/asm/international_string_util.s
+++ b/asm/international_string_util.s
@@ -52,8 +52,8 @@ _081DB462:
bx r1
thumb_func_end sub_81DB41C
- thumb_func_start sub_81DB468
-sub_81DB468: @ 81DB468
+ thumb_func_start CopyMonCategoryText
+CopyMonCategoryText: @ 81DB468
push {lr}
adds r2, r0, 0
adds r0, r1, 0
@@ -70,7 +70,7 @@ sub_81DB468: @ 81DB468
pop {r0}
bx r0
.pool
- thumb_func_end sub_81DB468
+ thumb_func_end CopyMonCategoryText
thumb_func_start sub_81DB494
sub_81DB494: @ 81DB494
@@ -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
index 32b52ed06..a0149851e 100644
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -11,7 +11,7 @@ sub_816CBE8: @ 816CBE8
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r0}
bx r0
thumb_func_end sub_816CBE8
@@ -59,7 +59,7 @@ sub_816CC54: @ 816CC54
lsls r0, 24
cmp r0, 0
bne _0816CC66
- ldr r0, =c2_title_screen_1
+ ldr r0, =CB2_InitTitleScreen
bl SetMainCallback2
_0816CC66:
pop {r0}
@@ -184,7 +184,7 @@ _0816CCF4:
movs r0, 0
movs r2, 0
bl load_copyright_graphics
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
@@ -337,13 +337,13 @@ _0816CEFA:
.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
+ thumb_func_start CB2_InitCopyrightScreenAfterTitleScreen
+CB2_InitCopyrightScreenAfterTitleScreen: @ 816CF0C
push {lr}
bl do_copyright_screen
pop {r0}
bx r0
- thumb_func_end c2_show_copyright_and_intro_again_2
+ thumb_func_end CB2_InitCopyrightScreenAfterTitleScreen
thumb_func_start task_intro_1
@ void task_intro_1(int task_id)
@@ -1945,24 +1945,24 @@ task_intro_13: @ 816DD28
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x8
strb r0, [r1]
- ldr r0, =gUnknown_08D88494
+ ldr r0, =gIntro3GroudonGfx
movs r1, 0xC0
lsls r1, 19
bl LZDecompressVram
- ldr r0, =gUnknown_08D88D40
+ ldr r0, =gIntro3GroudonTilemap
ldr r1, =0x0600c000
bl LZDecompressVram
- ldr r0, =gUnknown_08D89F7C
+ ldr r0, =gIntro3LegendBgGfx
ldr r1, =0x06004000
bl LZDecompressVram
- ldr r0, =gUnknown_08D8A818
+ ldr r0, =gIntro3GroudonBgTilemap
ldr r1, =0x0600e000
bl LZDecompressVram
ldr r0, =gBattleAnimPicTable + 0x1D0
bl LoadCompressedObjectPicUsingHeap
ldr r0, =gBattleAnimPaletteTable + 0x1D0
bl LoadCompressedObjectPaletteUsingHeap
- ldr r0, =gUnknown_08D85CD0
+ ldr r0, =gIntro3BgPal
ldr r1, =gPlttBufferUnfaded
movs r2, 0x80
lsls r2, 1
@@ -2124,7 +2124,7 @@ task_intro_17: @ 816DEEC
movs r1, 0xA0
movs r2, 0x4
movs r3, 0x4
- bl sub_80BA384
+ bl ScanlineEffect_InitWave
add sp, 0xC
pop {r0}
bx r0
@@ -2229,7 +2229,7 @@ _0816DFF4:
strh r0, [r4, 0xC]
movs r1, 0xE
ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_08D85CD0
+ ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x3E
movs r2, 0x1
@@ -2271,7 +2271,7 @@ _0816E046:
strh r0, [r4, 0xC]
movs r2, 0xE
ldrsh r0, [r4, r2]
- ldr r1, =gUnknown_08D85CD0
+ ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x3E
movs r2, 0x1
@@ -2411,7 +2411,7 @@ _0816E156:
adds r0, r1
ldr r1, =task_intro_19
str r1, [r0]
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_0816E176:
@@ -2571,14 +2571,14 @@ task_intro_19: @ 816E2A0
lsls r4, 24
lsrs r4, 24
bl ResetSpriteData
- ldr r0, =gUnknown_08D89224
+ ldr r0, =gIntro3KyogreGfx
movs r1, 0xC0
lsls r1, 19
bl LZDecompressVram
- ldr r0, =gUnknown_08D89ABC
+ ldr r0, =gIntro3KyogreTilemap
ldr r1, =0x0600c000
bl LZDecompressVram
- ldr r0, =gUnknown_08D8A934
+ ldr r0, =gIntro3KyogreBgTilemap
ldr r1, =0x0600e000
bl LZDecompressVram
ldr r0, =gUnknown_085E4C88
@@ -2623,7 +2623,7 @@ task_intro_19: @ 816E2A0
movs r1, 0xA0
movs r2, 0x4
movs r3, 0x4
- bl sub_80BA384
+ bl ScanlineEffect_InitWave
add sp, 0xC
pop {r4}
pop {r0}
@@ -2888,7 +2888,7 @@ _0816E56E:
strh r0, [r5, 0xC]
movs r2, 0xE
ldrsh r0, [r5, r2]
- ldr r1, =gUnknown_08D85CD0
+ ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x5E
movs r2, 0x1
@@ -2932,7 +2932,7 @@ _0816E5BC:
strh r0, [r5, 0xC]
movs r2, 0xE
ldrsh r0, [r5, r2]
- ldr r1, =gUnknown_08D85CD0
+ ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0x5E
movs r2, 0x1
@@ -3038,7 +3038,7 @@ _0816E69C:
adds r0, r1
ldr r1, =task_intro_21
str r1, [r0]
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_0816E6BC:
@@ -3319,7 +3319,7 @@ task_intro_21: @ 816E888
movs r0, 0x1A
movs r1, 0
bl SetGpuReg
- ldr r4, =gUnknown_08D8AA54
+ ldr r4, =gIntro3CloudsGfx
movs r1, 0xC0
lsls r1, 19
adds r0, r4, 0
@@ -3327,7 +3327,7 @@ task_intro_21: @ 816E888
ldr r1, =0x06004000
adds r0, r4, 0
bl LZDecompressVram
- ldr r0, =gUnknown_08D8B6E8
+ ldr r0, =gIntro3Clouds3Tilemap
ldr r1, =0x0600e000
bl LZDecompressVram
ldr r1, =gTasks
@@ -3349,10 +3349,10 @@ task_intro_22: @ 816E954
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gUnknown_08D8B180
+ ldr r0, =gIntro3Clouds1Tilemap
ldr r1, =0x0600c000
bl LZDecompressVram
- ldr r0, =gUnknown_08D8B440
+ ldr r0, =gIntro3Clouds2Tilemap
ldr r1, =0x0600d000
bl LZDecompressVram
ldr r1, =gTasks
@@ -3509,16 +3509,16 @@ task_intro_25: @ 816EAB8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gUnknown_08D8C16C
+ ldr r0, =gIntro3RayquazaTilemap
ldr r1, =0x0600e000
bl LZDecompressVram
- ldr r0, =gUnknown_08D8CCC8
+ ldr r0, =gIntro3Clouds4Tilemap
ldr r1, =0x0600c000
bl LZDecompressVram
- ldr r0, =gUnknown_08D8BA74
+ ldr r0, =gIntro3RayquazaGfx
ldr r1, =0x06004000
bl LZDecompressVram
- ldr r0, =gUnknown_08D8C838
+ ldr r0, =gIntro3Clouds2Gfx
movs r1, 0xC0
lsls r1, 19
bl LZDecompressVram
@@ -3725,7 +3725,7 @@ _0816ECA0:
_0816ECAC:
movs r1, 0x30
ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_08D85CD0
+ ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xBA
movs r2, 0x1
@@ -3757,7 +3757,7 @@ _0816ECDC:
strh r0, [r4, 0x32]
movs r1, 0x30
ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_08D85CD0
+ ldr r1, =gIntro3BgPal
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xBA
movs r2, 0x1
@@ -4007,7 +4007,7 @@ _0816EEF4:
movs r2, 0x2
ldrsh r0, [r5, r2]
lsls r0, 1
- ldr r1, =gUnknown_08D85E72
+ ldr r1, =gIntro3BgPal + 0x1A2
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xBC
movs r2, 0x1
@@ -4043,7 +4043,7 @@ _0816EF34:
movs r1, 0x2
ldrsh r0, [r5, r1]
lsls r0, 1
- ldr r1, =gUnknown_08D85E72
+ ldr r1, =gIntro3BgPal + 0x1A2
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xB0
movs r2, 0x1
@@ -4080,7 +4080,7 @@ _0816EF80:
movs r1, 0x2
ldrsh r0, [r5, r1]
lsls r0, 1
- ldr r1, =gUnknown_08D85E52
+ ldr r1, =gIntro3BgPal + 0x182
adds r0, r1
ldr r1, =gPlttBufferFaded + 0xB8
movs r2, 0x1
@@ -4148,7 +4148,7 @@ _0816F00A:
movs r0, 0x50
movs r1, 0x10
bl BlendPalette
- ldr r4, =gUnknown_08D85E7C
+ ldr r4, =gIntro3BgPal + 0x1AC
ldr r5, =gPlttBufferFaded + 0xBC
adds r0, r4, 0
adds r1, r5, 0
@@ -5617,7 +5617,7 @@ _0816FBB4:
cmp r0, 0
beq _0816FC14
lsls r0, 1
- ldr r4, =gUnknown_08D85C50
+ ldr r4, =gIntro1GameFreakTextFadePal
adds r0, r4
ldr r5, =gPlttBufferFaded + 0x23E
adds r1, r5, 0
@@ -5651,7 +5651,7 @@ _0816FC14:
movs r1, 0x30
ldrsh r0, [r6, r1]
lsls r0, 1
- ldr r4, =gUnknown_08D85C50
+ ldr r4, =gIntro1GameFreakTextFadePal
adds r0, r4
ldr r5, =gPlttBufferFaded + 0x23E
adds r1, r5, 0
@@ -5696,7 +5696,7 @@ _0816FC6C:
cmp r0, 0x9
bgt _0816FCE6
lsls r0, 1
- ldr r4, =gUnknown_08D85C50
+ ldr r4, =gIntro1GameFreakTextFadePal
adds r0, r4
ldr r5, =gPlttBufferFaded + 0x23E
adds r1, r5, 0
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
index 06c0a86ed..010e83c49 100755..100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -121,7 +121,7 @@ sub_81AAC28: @ 81AAC28
ldr r0, =gSpecialVar_0x8005
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
pop {r0}
bx r0
@@ -135,7 +135,7 @@ sub_81AAC50: @ 81AAC50
movs r0, 0x7
movs r1, 0x5
bl GoToBagMenu
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
pop {r0}
@@ -150,7 +150,7 @@ sub_81AAC70: @ 81AAC70
movs r0, 0x8
movs r1, 0x5
bl GoToBagMenu
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
pop {r0}
@@ -343,7 +343,7 @@ _081AAE34:
bl clear_scheduled_bg_copies_to_vram
b _081AB012
_081AAE3E:
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r1, =gMain
movs r2, 0x87
lsls r2, 3
@@ -463,7 +463,7 @@ _081AAF54:
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrb r2, [r4, 0x5]
lsls r2, 1
adds r1, r4, 0
@@ -568,7 +568,7 @@ _081AB046:
thumb_func_start bag_menu_init_bgs
bag_menu_init_bgs: @ 81AB050
push {r4,lr}
- bl sub_8121DA0
+ bl ResetVramOamAndBgCntRegs
ldr r4, =gUnknown_0203CE54
ldr r0, [r4]
adds r0, 0x4
@@ -586,7 +586,7 @@ bag_menu_init_bgs: @ 81AB050
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
@@ -637,7 +637,7 @@ _081AB0E8:
.4byte _081AB1A8
_081AB0FC:
bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08D9A620
+ ldr r1, =gBagScreen_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x2
@@ -670,14 +670,14 @@ _081AB13C:
ldrb r0, [r0, 0x8]
cmp r0, 0
beq _081AB164
- ldr r0, =gUnknown_08D9A5D4
+ ldr r0, =gBagScreenFemale_Pal
movs r1, 0
movs r2, 0x40
bl LoadCompressedPalette
b _081AB1AE
.pool
_081AB164:
- ldr r0, =gUnknown_08D9A588
+ ldr r0, =gBagScreenMale_Pal
movs r1, 0
movs r2, 0x40
bl LoadCompressedPalette
@@ -719,7 +719,7 @@ _081AB1B2:
b _081AB1E4
.pool
_081AB1CC:
- bl sub_8122328
+ bl LoadListMenuArrowsGfx
ldr r0, [r4]
ldr r1, =0x00000834
adds r0, r1
@@ -902,7 +902,7 @@ _081AB30C:
cmp r6, r0
bcc _081AB30C
_081AB34A:
- ldr r2, =gUnknown_03006310
+ ldr r2, =gMultiuseListMenuTemplate
adds r1, r2, 0
ldr r0, =gUnknown_08613F9C
ldm r0!, {r3-r5}
@@ -1164,7 +1164,7 @@ _081AB570:
lsrs r0, 16
cmp r0, 0x7
bhi _081AB5BE
- ldr r1, =gUnknown_08DC6378
+ ldr r1, =gBagMenuHMIcon_Gfx
subs r3, r7, 0x1
lsls r3, 16
lsrs r3, 16
@@ -1863,7 +1863,7 @@ DisplayItemMessage: @ 81ABB4C
strh r0, [r4, 0x14]
movs r1, 0x11
bl FillWindowPixelBuffer
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4, 0x14]
@@ -1924,7 +1924,7 @@ bag_menu_inits_lists_menu: @ 81ABBBC
bl sub_81ABA88
ldrb r0, [r7, 0x5]
bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
mov r2, r8
ldrh r1, [r2]
ldrh r2, [r4]
@@ -2133,7 +2133,7 @@ _081ABDCC:
ldrb r0, [r6]
adds r1, r7, 0
mov r2, r8
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
ldrh r2, [r7]
mov r3, r8
ldrh r0, [r3]
@@ -2157,12 +2157,12 @@ _081ABDCC:
.pool
_081ABE10:
ldrb r0, [r6]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r4, r0, 0
ldrb r0, [r6]
adds r1, r7, 0
mov r2, r8
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r4, r0
@@ -2181,7 +2181,7 @@ _081ABE32:
_081ABE40:
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
mov r1, r10
strh r1, [r0]
ldr r0, =gTasks + 0x8
@@ -2215,7 +2215,7 @@ _081ABE68:
lsrs r0, 24
adds r1, r4, 0
bl BagGetItemIdByPocketPosition
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
strh r0, [r1]
ldr r1, =gUnknown_08614054
ldrb r0, [r5, 0x4]
@@ -2603,7 +2603,7 @@ _081AC1DC:
subs r5, r4, 0x5
ldrb r0, [r5, 0x5]
bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrb r2, [r5, 0x5]
lsls r2, 1
adds r1, r4, 0
@@ -2847,12 +2847,12 @@ sub_81AC3C0: @ 81AC3C0
adds r1, r2, r1
adds r3, 0x8
adds r2, r3
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
b _081AC472
.pool
_081AC418:
ldrb r0, [r4]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r7, r0, 0
ldrb r0, [r4]
ldr r5, =gUnknown_0203CE58
@@ -2864,7 +2864,7 @@ _081AC418:
adds r4, r5, 0
adds r4, 0x8
adds r2, r4
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
movs r0, 0
bl sub_80D4FC8
ldrb r0, [r5, 0x5]
@@ -2989,7 +2989,7 @@ _081AC4F8:
_081AC538:
ldrb r0, [r5, 0x5]
bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
mov r2, r8
ldrh r1, [r2]
ldrh r2, [r7]
@@ -3070,7 +3070,7 @@ sub_81AC590: @ 81AC590
_081AC5F2:
ldrb r0, [r4, 0x5]
bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r6]
ldrh r2, [r5]
bl ListMenuInit
@@ -3125,7 +3125,7 @@ _081AC668:
.4byte _081AC70C
.4byte _081AC690
_081AC690:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetBattleUsage
lsls r0, 24
@@ -3170,7 +3170,7 @@ _081AC6E8:
b _081ACA10
.pool
_081AC70C:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -3205,7 +3205,7 @@ _081AC748:
b _081ACA10
.pool
_081AC76C:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -3240,7 +3240,7 @@ _081AC7A8:
b _081ACA10
.pool
_081AC7CC:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -3288,7 +3288,7 @@ _081AC840:
ldrb r0, [r0, 0x5]
cmp r0, 0x4
beq _081AC856
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl sub_8122148
lsls r0, 24
@@ -3358,9 +3358,9 @@ _081AC8D4:
ldr r1, =gUnknown_0861402C
movs r2, 0x4
bl memcpy
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3396,7 +3396,7 @@ _081AC92C:
ldr r0, [r0]
ldr r1, =0x00000496
adds r0, r1
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r2]
cmp r0, r1
@@ -3472,7 +3472,7 @@ _081ACA12:
bne _081ACA50
movs r0, 0x1
bl ClearWindowTilemap
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl PrintTMHMMoveData
movs r0, 0x3
@@ -3484,7 +3484,7 @@ _081ACA12:
b _081ACA86
.pool
_081ACA50:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -3985,7 +3985,7 @@ ItemMenu_UseOutOfBattle: @ 81ACE7C
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl ItemId_GetFieldFunc
cmp r0, 0
@@ -4015,7 +4015,7 @@ _081ACEB8:
ldrb r0, [r0, 0x5]
cmp r0, 0x3
beq _081ACEE8
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetFieldFunc
adds r1, r0, 0
@@ -4055,7 +4055,7 @@ ItemMenu_Toss: @ 81ACEF4
b _081ACF6A
.pool
_081ACF24:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4105,7 +4105,7 @@ BagMenuConfirmToss: @ 81ACF88
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4242,7 +4242,7 @@ BagMenuActuallyToss: @ 81AD0CC
lsls r4, 3
ldr r5, =gTasks + 0x8
adds r6, r4, r5
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4312,7 +4312,7 @@ Task_ActuallyToss: @ 81AD150
beq _081AD1CE
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r5, 0x10]
bl RemoveBagItem
@@ -4326,7 +4326,7 @@ Task_ActuallyToss: @ 81AD150
bl sub_81ABA88
ldrb r0, [r4, 0x5]
bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
mov r2, r8
ldrh r1, [r2]
ldrh r2, [r7]
@@ -4369,7 +4369,7 @@ ItemMenu_Register: @ 81AD1EC
ldr r0, [r0]
ldr r2, =0x00000496
adds r1, r0, r2
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r2, [r0]
ldrh r0, [r1]
cmp r0, r2
@@ -4388,7 +4388,7 @@ _081AD23A:
ldr r0, =gUnknown_0203CE58
ldrb r0, [r0, 0x5]
bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r6]
ldrh r2, [r5]
bl ListMenuInit
@@ -4412,7 +4412,7 @@ ItemMenu_Give: @ 81AD278
lsrs r4, r0, 24
adds r6, r4, 0
bl bag_menu_remove_some_window
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_80BF6D8_mail_related
lsls r0, 24
@@ -4476,7 +4476,7 @@ bag_menu_print_cant_be_held_msg: @ 81AD30C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4524,7 +4524,7 @@ ItemMenu_CheckTag: @ 81AD378
lsrs r0, 24
ldr r1, =gUnknown_0203CE54
ldr r2, [r1]
- ldr r1, =sub_8177C14
+ ldr r1, =DoBerryTagScreen
str r1, [r2]
bl unknown_ItemMenu_Confirm
pop {r0}
@@ -4567,7 +4567,7 @@ ItemMenu_UseInBattle: @ 81AD3DC
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl ItemId_GetBattleFunc
cmp r0, 0
@@ -4601,7 +4601,7 @@ item_menu_type_2: @ 81AD41C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_80BF6D8_mail_related
lsls r0, 24
@@ -4662,9 +4662,9 @@ item_menu_type_b: @ 81AD4B4
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4748,10 +4748,10 @@ _081AD550:
cmp r6, 0x1
bne _081AD5C4
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeMapObjects
bl sub_808B864
bl sub_808BCF4
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
ldr r0, [r4]
adds r0, r5
ldrh r1, [r0]
@@ -4775,7 +4775,7 @@ _081AD5C4:
adds r0, r5
strh r7, [r0]
_081AD5CA:
- ldr r0, =gUnknown_082736B3
+ ldr r0, =EventScript_2736B3
bl ScriptContext1_SetupScript
_081AD5D0:
movs r0, 0x1
@@ -4798,7 +4798,7 @@ display_sell_item_ask_str: @ 81AD5DC
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r4, r0, r1
- ldr r6, =gScriptItemId
+ ldr r6, =gSpecialVar_ItemId
ldrh r0, [r6]
bl itemid_get_market_price
lsls r0, 16
@@ -4861,7 +4861,7 @@ sub_81AD680: @ 81AD680
ldr r0, =gTasks + 0x8
adds r4, r0
ldr r6, =gStringVar1
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_get_market_price
lsls r0, 16
@@ -4944,7 +4944,7 @@ sub_81AD730: @ 81AD730
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_get_market_price
lsls r0, 16
@@ -4996,7 +4996,7 @@ sub_81AD794: @ 81AD794
ldrb r4, [r0]
movs r2, 0x10
ldrsh r5, [r6, r2]
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_get_market_price
lsls r0, 16
@@ -5061,7 +5061,7 @@ sub_81AD84C: @ 81AD84C
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
- ldr r6, =gScriptItemId
+ ldr r6, =gSpecialVar_ItemId
ldrh r0, [r6]
ldr r1, =gStringVar2
bl CopyItemName
@@ -5122,7 +5122,7 @@ sub_81AD8C8: @ 81AD8C8
adds r5, r0
movs r0, 0x5F
bl PlaySE
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
mov r8, r2
ldrh r0, [r2]
mov r3, r10
@@ -5155,7 +5155,7 @@ sub_81AD8C8: @ 81AD8C8
bl sub_81ABA88
ldrb r0, [r7, 0x5]
bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
mov r2, r9
ldrh r1, [r2]
ldrh r2, [r5]
@@ -5241,7 +5241,7 @@ display_deposit_item_ask_str: @ 81AD9EC
b _081ADA5E
.pool
_081ADA18:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -5366,7 +5366,7 @@ sub_81ADB14: @ 81ADB14
movs r0, 0x1
movs r1, 0
bl FillWindowPixelBuffer
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -5690,7 +5690,7 @@ _081ADDEC:
ldrb r0, [r4]
movs r1, 0x2
bl bag_menu_print_cursor_
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
movs r0, 0x4
strh r0, [r1]
adds r0, r5, 0
@@ -5726,10 +5726,10 @@ unknown_ItemMenu_Show: @ 81ADE38
lsls r4, 24
lsrs r4, 24
ldr r1, =gSpecialVar_0x8005
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
strh r0, [r1]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
bl bag_menu_remove_some_window
@@ -5760,11 +5760,11 @@ unknown_ItemMenu_Give2: @ 81ADE8C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
bl bag_menu_remove_some_window
@@ -5795,7 +5795,7 @@ unknown_ItemMenu_Confirm2: @ 81ADEDC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
bl bag_menu_remove_some_window
@@ -6043,7 +6043,7 @@ bag_menu_print: @ 81AE0BC
str r4, [sp, 0xC]
str r2, [sp, 0x10]
mov r2, r9
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x14
pop {r3,r4}
mov r8, r3
diff --git a/asm/item_menu_icons.s b/asm/item_menu_icons.s
index 1adc0feb7..8068e37c2 100755..100644
--- a/asm/item_menu_icons.s
+++ b/asm/item_menu_icons.s
@@ -348,7 +348,7 @@ AddBagItemIconObject: @ 80D4F38
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
@@ -527,8 +527,8 @@ _080D5082:
.pool
thumb_func_end sub_80D5070
- thumb_func_start sub_80D50D4
-sub_80D50D4: @ 80D50D4
+ thumb_func_start CreateBerryTagSprite
+CreateBerryTagSprite: @ 80D50D4
push {r4,r5,lr}
adds r4, r1, 0
adds r5, r2, 0
@@ -554,17 +554,17 @@ sub_80D50D4: @ 80D50D4
pop {r1}
bx r1
.pool
- thumb_func_end sub_80D50D4
+ thumb_func_end CreateBerryTagSprite
- thumb_func_start sub_80D510C
-sub_80D510C: @ 80D510C
+ thumb_func_start FreeBerryTagSpritePalette
+FreeBerryTagSpritePalette: @ 80D510C
push {lr}
ldr r0, =0x00007544
bl FreeSpritePaletteByTag
pop {r0}
bx r0
.pool
- thumb_func_end sub_80D510C
+ thumb_func_end FreeBerryTagSpritePalette
thumb_func_start sub_80D511C
sub_80D511C: @ 80D511C
@@ -617,8 +617,8 @@ _080D5172:
.pool
thumb_func_end sub_80D511C
- thumb_func_start sub_80D518C
-sub_80D518C: @ 80D518C
+ thumb_func_start CreateBerryFlavorCircleSprite
+CreateBerryFlavorCircleSprite: @ 80D518C
push {lr}
adds r1, r0, 0
ldr r0, =gUnknown_0857FE10
@@ -632,6 +632,6 @@ sub_80D518C: @ 80D518C
pop {r1}
bx r1
.pool
- thumb_func_end sub_80D518C
+ thumb_func_end CreateBerryFlavorCircleSprite
.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 d3c724166..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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- bl ScriptContext2_Enable
- ldr r0, =gUnknown_08274482
- 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, =gUnknown_082744C0
- 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, =gUnknown_08242CFC
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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..f42514e68 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
@@ -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 sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r5, r0
diff --git a/asm/link.s b/asm/link.s
index 6fc5a6dff..656ac40bf 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -15,7 +15,7 @@ sub_80093CC: @ 80093CC
cmp r0, r1
beq _080093F4
bl sub_800B4A4
- bl sub_80097E8
+ bl CloseLink
bl RestoreSerialTimer3IntrHandlers
movs r0, 0
b _080093FE
@@ -29,15 +29,15 @@ _080093FE:
bx r1
thumb_func_end sub_80093CC
- thumb_func_start sub_8009404
-sub_8009404: @ 8009404
+ thumb_func_start Task_DestroySelf
+Task_DestroySelf: @ 8009404
push {lr}
lsls r0, 24
lsrs r0, 24
bl DestroyTask
pop {r0}
bx r0
- thumb_func_end sub_8009404
+ thumb_func_end Task_DestroySelf
thumb_func_start sub_8009414
sub_8009414: @ 8009414
@@ -206,11 +206,11 @@ sub_8009570: @ 8009570
ldr r0, =sub_80096BC
bl SetVBlankCallback
bl sub_800A2E0
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00001111
adds r0, r2, 0
strh r0, [r1]
- bl sub_8009734
+ bl OpenLink
ldr r0, =gMain
ldrh r0, [r0, 0x24]
bl SeedRng
@@ -236,7 +236,7 @@ _080095A0:
lsls r1, 5
movs r0, 0
bl SetGpuReg
- ldr r0, =sub_8009404
+ ldr r0, =Task_DestroySelf
movs r1, 0
bl CreateTask
bl RunTasks
@@ -291,7 +291,7 @@ sub_8009638: @ 8009638
ldr r0, [r4]
ldrb r0, [r0, 0x8]
strb r0, [r5, 0x13]
- ldr r0, =gUnknown_020229C6
+ ldr r0, =gLinkType
ldrh r0, [r0]
str r0, [r5, 0x14]
ldr r0, =gGameLanguage
@@ -339,7 +339,7 @@ sub_80096BC: @ 80096BC
sub_80096D0: @ 80096D0
push {lr}
ldr r3, =gUnknown_020229C4
- ldr r1, =gUnknown_03003110
+ ldr r1, =gSendCmd
ldr r2, =0x0000efff
adds r0, r1, 0
adds r0, 0xE
@@ -384,8 +384,8 @@ _08009726:
.pool
thumb_func_end task02_080097CC
- thumb_func_start sub_8009734
-sub_8009734: @ 8009734
+ thumb_func_start OpenLink
+OpenLink: @ 8009734
push {r4-r6,lr}
ldr r0, =gLinkVSyncDisabled
ldrb r4, [r0]
@@ -443,10 +443,10 @@ _080097BE:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8009734
+ thumb_func_end OpenLink
- thumb_func_start sub_80097E8
-sub_80097E8: @ 80097E8
+ thumb_func_start CloseLink
+CloseLink: @ 80097E8
push {r4,lr}
ldr r0, =gReceivedRemoteLinkPlayers
movs r4, 0
@@ -464,7 +464,7 @@ _080097FC:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80097E8
+ thumb_func_end CloseLink
thumb_func_start sub_8009818
sub_8009818: @ 8009818
@@ -646,7 +646,7 @@ _08009976:
orrs r1, r0
_08009990:
adds r0, r2, 0
- bl sub_800A994
+ bl SetLinkDebugValues
_08009996:
add sp, 0x4
pop {r4,r5}
@@ -685,7 +685,7 @@ sub_80099E0: @ 80099E0
_080099F4:
movs r1, 0
ldr r5, =gUnknown_03003084
- ldr r3, =gUnknown_03003110
+ ldr r3, =gSendCmd
movs r2, 0
_080099FC:
lsls r0, r1, 1
@@ -698,7 +698,7 @@ _080099FC:
bls _080099FC
ldrh r0, [r4]
strh r0, [r5]
- ldr r0, =gUnknown_030030E0
+ ldr r0, =gLinkStatus
ldr r0, [r0]
movs r1, 0x40
ands r0, r1
@@ -717,7 +717,7 @@ _080099FC:
_08009A34:
bl sub_800AEB4
_08009A38:
- ldr r0, =gUnknown_030030E0
+ ldr r0, =gLinkStatus
ldrh r0, [r0]
_08009A3C:
pop {r4,r5}
@@ -745,7 +745,7 @@ _08009A70:
adds r5, r0
adds r4, 0x1
_08009A78:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -781,7 +781,7 @@ _08009AAE:
movs r0, 0
strh r0, [r3]
lsls r4, r6, 4
- ldr r5, =gUnknown_03003090
+ ldr r5, =gRecvCmds
adds r2, r4, r5
ldrh r0, [r2]
mov r12, r1
@@ -901,12 +901,12 @@ _08009BC4:
adds r1, r0
movs r2, 0
strh r2, [r1]
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
adds r0, 0x2
adds r0, r4, r0
ldrh r0, [r0]
strh r0, [r1, 0x2]
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
adds r0, 0x4
adds r0, r4, r0
ldrh r0, [r0]
@@ -930,7 +930,7 @@ _08009BF0:
mov r8, r0
movs r2, 0
adds r5, r3, 0
- ldr r7, =gUnknown_03003090
+ ldr r7, =gRecvCmds
adds r3, r4, 0
_08009C14:
ldrh r1, [r5]
@@ -955,7 +955,7 @@ _08009C40:
ldr r1, =gBlockRecvBuffer
mov r9, r1
adds r7, r3, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
mov r8, r3
lsls r5, r6, 8
adds r3, r4, 0
@@ -1069,7 +1069,7 @@ _08009D38:
b _08009D6E
_08009D3E:
ldr r3, =gUnknown_082ED1A8
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
adds r0, 0x2
adds r0, r4, r0
ldrh r2, [r0]
@@ -1084,7 +1084,7 @@ _08009D3E:
b _08009D6E
.pool
_08009D64:
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
adds r0, 0x2
adds r0, r4, r0
ldrh r0, [r0]
@@ -1183,26 +1183,26 @@ _08009E2C:
b _08009F06
.pool
_08009E38:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
strh r2, [r0]
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldrh r1, [r1]
b _08009F04
.pool
_08009E4C:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
strh r2, [r0]
ldr r1, =gMain
ldrh r1, [r1, 0x2C]
b _08009F04
.pool
_08009E60:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
movs r1, 0
b _08009F02
.pool
_08009E6C:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
strh r2, [r0]
movs r1, 0
adds r3, r0, 0
@@ -1219,7 +1219,7 @@ _08009E76:
b _08009F06
.pool
_08009E8C:
- ldr r1, =gUnknown_03003110
+ ldr r1, =gSendCmd
strh r2, [r1]
ldr r2, =gUnknown_03000D10
ldrh r0, [r2, 0x2]
@@ -1230,28 +1230,28 @@ _08009E8C:
b _08009F06
.pool
_08009EA8:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
strh r2, [r0]
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
b _08009F04
.pool
_08009EBC:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
strh r2, [r0]
ldr r1, =gUnknown_03003150
ldrb r1, [r1]
b _08009F04
.pool
_08009ED0:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
strh r2, [r0]
ldr r1, =gUnknown_030030F4
ldrh r1, [r1]
b _08009F04
.pool
_08009EE4:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
strh r2, [r0]
b _08009F06
.pool
@@ -1264,7 +1264,7 @@ _08009EF0:
ldrb r0, [r0]
cmp r0, 0
bne _08009F06
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
_08009F02:
strh r2, [r0]
_08009F04:
@@ -1378,7 +1378,7 @@ GetLinkPlayerCount: @ 8009FCC
ldrb r0, [r0]
cmp r0, 0
bne _08009FEC
- ldr r0, =gUnknown_030030E0
+ ldr r0, =gLinkStatus
ldr r0, [r0]
movs r1, 0x1C
ands r0, r1
@@ -1516,7 +1516,7 @@ sub_800A0AC: @ 800A0AC
str r1, [r0]
ldr r0, =gUnknown_020229C8
strh r1, [r0]
- bl sub_8009734
+ bl OpenLink
pop {r0}
bx r0
.pool
@@ -1534,7 +1534,7 @@ sub_800A0C8: @ 800A0C8
beq _0800A0DA
b _0800A214
_0800A0DA:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r5, r0
@@ -1554,7 +1554,7 @@ _0800A0FC:
bne _0800A10E
ldr r0, =gUnknown_0300306C
strb r4, [r0]
- bl sub_80097E8
+ bl CloseLink
_0800A10E:
movs r6, 0
ldr r4, =gLinkPlayers
@@ -1816,7 +1816,7 @@ _0800A30C:
str r7, [r4, 0x4]
b _0800A336
_0800A324:
- ldr r5, =gUnknown_020228C4
+ ldr r5, =gBlockSendBuffer
cmp r7, r5
beq _0800A334
adds r0, r5, 0
@@ -1865,7 +1865,7 @@ sub_800A388: @ 800A388
push {r4-r6,lr}
ldr r0, =gUnknown_03000D10
ldr r5, [r0, 0x4]
- ldr r2, =gUnknown_03003110
+ ldr r2, =gSendCmd
ldr r1, =0x00008888
strh r1, [r2]
movs r3, 0
@@ -2213,7 +2213,7 @@ _0800A616:
thumb_func_start sub_800A620
sub_800A620: @ 800A620
push {lr}
- ldr r0, =gUnknown_030030E0
+ ldr r0, =gLinkStatus
ldr r1, [r0]
movs r0, 0x20
ands r0, r1
@@ -2501,7 +2501,7 @@ _0800A81C:
thumb_func_start sub_800A824
sub_800A824: @ 800A824
push {lr}
- ldr r0, =gUnknown_030030E0
+ ldr r0, =gLinkStatus
ldr r0, [r0]
movs r1, 0x20
ands r0, r1
@@ -2536,7 +2536,7 @@ task00_link_test: @ 800A850
movs r2, 0x1
movs r3, 0x2
bl sub_800A6E8
- ldr r4, =gUnknown_030030E0
+ ldr r4, =gLinkStatus
ldr r0, [r4]
movs r1, 0xF
movs r2, 0x1
@@ -2608,7 +2608,7 @@ task00_link_test: @ 800A850
movs r2, 0x6
movs r3, 0x1
bl sub_800A6E8
- bl sub_800B320
+ bl IsLinkConnectionEstablished
lsls r0, 24
lsrs r0, 24
movs r1, 0x19
@@ -2646,15 +2646,15 @@ _0800A94E:
.pool
thumb_func_end task00_link_test
- thumb_func_start sub_800A994
-sub_800A994: @ 800A994
+ thumb_func_start SetLinkDebugValues
+SetLinkDebugValues: @ 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_end SetLinkDebugValues
thumb_func_start sub_800A9A8
sub_800A9A8: @ 800A9A8
@@ -2774,7 +2774,7 @@ sub_800AA60: @ 800AA60
ldr r0, =gUnknown_02022A74
ldr r2, =0x00002288
mov r8, r2
- ldr r7, =gUnknown_020229C6
+ ldr r7, =gLinkType
mov r6, r12
adds r6, 0x14
adds r5, r0, 0x4
@@ -2809,7 +2809,7 @@ _0800AAB4:
ldrb r0, [r0]
cmp r3, r0
bne _0800AAE4
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
mov r1, r9
@@ -2889,7 +2889,7 @@ _0800AB5A:
ldr r1, =gUnknown_0300306C
movs r0, 0x1
strb r0, [r1]
- bl sub_80097E8
+ bl CloseLink
ldr r0, =c2_800ACD4
bl SetMainCallback2
_0800AB6A:
@@ -2920,25 +2920,25 @@ sub_800AB98: @ 800AB98
.pool
thumb_func_end sub_800AB98
- thumb_func_start sub_800ABAC
-sub_800ABAC: @ 800ABAC
- ldr r0, =gUnknown_030030E0
+ thumb_func_start GetLinkPlayerCount_2
+GetLinkPlayerCount_2: @ 800ABAC
+ ldr r0, =gLinkStatus
ldr r0, [r0]
movs r1, 0x1C
ands r0, r1
lsrs r0, 2
bx lr
.pool
- thumb_func_end sub_800ABAC
+ thumb_func_end GetLinkPlayerCount_2
- thumb_func_start sub_800ABBC
-sub_800ABBC: @ 800ABBC
+ thumb_func_start IsLinkMaster
+IsLinkMaster: @ 800ABBC
push {lr}
ldr r0, =gLinkVSyncDisabled
ldrb r0, [r0]
cmp r0, 0
bne _0800ABDC
- ldr r0, =gUnknown_030030E0
+ ldr r0, =gLinkStatus
ldr r0, [r0]
lsrs r0, 5
movs r1, 0x1
@@ -2952,7 +2952,7 @@ _0800ABDC:
_0800ABE4:
pop {r1}
bx r1
- thumb_func_end sub_800ABBC
+ thumb_func_end IsLinkMaster
thumb_func_start sub_800ABE8
sub_800ABE8: @ 800ABE8
@@ -3076,7 +3076,7 @@ _0800ACD0:
ldr r0, =gUnknown_03002748
movs r4, 0x1
strb r4, [r0]
- bl sub_80097E8
+ bl CloseLink
ldr r1, =gUnknown_03003140
movs r0, 0
str r0, [r1]
@@ -3180,7 +3180,7 @@ _0800ADB6:
ldr r0, =gUnknown_03002748
movs r4, 0x1
strb r4, [r0]
- bl sub_80097E8
+ bl CloseLink
ldr r1, =gUnknown_03003140
movs r0, 0
str r0, [r1]
@@ -3292,7 +3292,7 @@ sub_800AEB4: @ 800AEB4
ldrb r0, [r0]
cmp r0, 0
beq _0800AEF4
- ldr r0, =gUnknown_030030E0
+ ldr r0, =gLinkStatus
ldr r2, [r0]
movs r0, 0xFE
lsls r0, 11
@@ -3317,7 +3317,7 @@ _0800AEEA:
ldr r1, =gUnknown_0300306C
movs r0, 0x1
strb r0, [r1]
- bl sub_80097E8
+ bl CloseLink
_0800AEF4:
pop {r0}
bx r0
@@ -3344,11 +3344,11 @@ c2_800ACD4: @ 800AF30
movs r0, 0
movs r1, 0
bl SetGpuReg
- ldr r0, =gMPlay_SE1
+ ldr r0, =gMPlayInfo_SE1
bl m4aMPlayStop
- ldr r0, =gMPlay_SE2
+ ldr r0, =gMPlayInfo_SE2
bl m4aMPlayStop
- ldr r0, =gMPlay_SE3
+ ldr r0, =gMPlayInfo_SE3
bl m4aMPlayStop
ldr r0, =0x02000000
movs r1, 0xE0
@@ -3362,7 +3362,7 @@ c2_800ACD4: @ 800AF30
movs r2, 0x2
bl FillPalette
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r1, =gLinkVSyncDisabled
ldrb r0, [r1]
cmp r0, 0
@@ -3428,7 +3428,7 @@ _0800AF8C:
ldr r1, =gSoftResetDisabled
movs r0, 0
strb r0, [r1]
- ldr r0, =sub_8009404
+ ldr r0, =Task_DestroySelf
movs r1, 0
bl CreateTask
bl StopMapMusic
@@ -3742,16 +3742,16 @@ _0800B314:
.pool
thumb_func_end sub_800B2F8
- thumb_func_start sub_800B320
-sub_800B320: @ 800B320
- ldr r0, =gUnknown_030030E0
+ thumb_func_start IsLinkConnectionEstablished
+IsLinkConnectionEstablished: @ 800B320
+ ldr r0, =gLinkStatus
ldr r0, [r0]
lsrs r0, 6
movs r1, 0x1
ands r0, r1
bx lr
.pool
- thumb_func_end sub_800B320
+ thumb_func_end IsLinkConnectionEstablished
thumb_func_start sub_800B330
sub_800B330: @ 800B330
@@ -3800,7 +3800,7 @@ sub_800B348: @ 800B348
strh r2, [r0]
ldrb r2, [r3, 0x2]
strb r2, [r0, 0x2]
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r2, 0x3C
bl memcpy
pop {r4-r6}
@@ -3863,10 +3863,10 @@ HandleLinkConnection: @ 800B40C
cmp r0, 0
bne _0800B45C
ldr r0, =gUnknown_03003144
- ldr r1, =gUnknown_03003110
- ldr r2, =gUnknown_03003090
+ ldr r1, =gSendCmd
+ ldr r2, =gRecvCmds
bl sub_800B638
- ldr r4, =gUnknown_030030E0
+ ldr r4, =gLinkStatus
str r0, [r4]
ldr r0, =gUnknown_030022EC
bl sub_80099E0
@@ -10249,13 +10249,13 @@ _0800E64A:
adds r0, r4, 0
bl sub_800D724
strh r5, [r7]
- ldr r1, =gUnknown_03003110
+ ldr r1, =gSendCmd
ldr r2, =0x01000008
adds r0, r7, 0
bl CpuSet
mov r0, r8
strh r5, [r0]
- ldr r1, =gUnknown_03003090
+ ldr r1, =gRecvCmds
ldr r2, =0x01000028
bl CpuSet
mov r0, r9
@@ -10308,7 +10308,7 @@ sub_800E700: @ 800E700
lsrs r1, r0, 16
cmp r1, 0
bne _0800E732
- ldr r0, =gUnknown_020229C6
+ ldr r0, =gLinkType
strh r1, [r0]
bl sub_800AAF4
movs r0, 0
@@ -11280,7 +11280,7 @@ sub_800EFB0: @ 800EFB0
push {r4-r7,lr}
sub sp, 0x4
movs r2, 0
- ldr r7, =gUnknown_03003090
+ ldr r7, =gRecvCmds
ldr r0, =gUnknown_03005000
adds r6, r7, 0
ldr r1, =0x00000c87
@@ -11325,8 +11325,8 @@ _0800EFD0:
thumb_func_start sub_800F014
sub_800F014: @ 800F014
push {lr}
- ldr r3, =gUnknown_03003110
- ldr r2, =gUnknown_03003090
+ ldr r3, =gSendCmd
+ ldr r2, =gRecvCmds
movs r1, 0x6
_0800F01C:
ldrh r0, [r3]
@@ -11336,7 +11336,7 @@ _0800F01C:
subs r1, 0x1
cmp r1, 0
bge _0800F01C
- ldr r1, =gUnknown_03003110
+ ldr r1, =gSendCmd
movs r2, 0
adds r0, r1, 0
adds r0, 0xC
@@ -11415,7 +11415,7 @@ _0800F0C4:
.pool
_0800F0CC:
movs r3, 0
- ldr r4, =gUnknown_03003090
+ ldr r4, =gRecvCmds
_0800F0D0:
movs r2, 0
lsls r0, r3, 4
@@ -11683,7 +11683,7 @@ _0800F2E0:
str r2, [sp, 0x4]
adds r5, 0x1
str r5, [sp]
- ldr r1, =gUnknown_03003090
+ ldr r1, =gRecvCmds
mov r9, r1
adds r5, r3, 0
adds r7, r4, 0
@@ -11910,7 +11910,7 @@ sub_800F4F0: @ 800F4F0
mov r1, sp
bl sub_800D934
movs r1, 0
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
mov r12, r0
_0800F506:
movs r4, 0
@@ -12014,7 +12014,7 @@ _0800F5C0:
ldrb r1, [r2]
strb r0, [r2]
bl sub_8010528
- ldr r5, =gUnknown_03003110
+ ldr r5, =gSendCmd
add r4, sp, 0x48
adds r0, r5, 0
adds r1, r4, 0
@@ -12307,8 +12307,8 @@ sub_800F820: @ 800F820
lsls r0, 24
cmp r0, 0
bne _0800F83C
- bl sub_8082D18
- ldr r1, =gUnknown_03003110
+ bl GetBlenderArrowPosition
+ ldr r1, =gSendCmd
strh r0, [r1, 0xC]
_0800F83C:
ldr r1, =gUnknown_020223C0
@@ -12347,7 +12347,7 @@ sub_800F86C: @ 800F86C
_0800F87A:
mov r1, r8
lsls r0, r1, 4
- ldr r2, =gUnknown_03003090
+ ldr r2, =gRecvCmds
adds r1, r0, r2
ldrh r7, [r1]
movs r3, 0xFF
@@ -12557,7 +12557,7 @@ _0800FA0E:
adds r2, r4, 0x1
lsls r0, r2, 1
adds r0, r3
- ldr r4, =gUnknown_03003090
+ ldr r4, =gRecvCmds
adds r0, r4
ldrh r0, [r0]
strh r0, [r1]
@@ -12688,7 +12688,7 @@ _0800FB10:
adds r0, r7, r2
strb r1, [r0]
_0800FB48:
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
adds r0, 0x6
adds r0, r5, r0
ldrh r0, [r0]
@@ -12701,7 +12701,7 @@ _0800FB78:
movs r0, 0xEE
lsls r0, 8
bl sub_800FD14
- ldr r1, =gUnknown_03003110
+ ldr r1, =gSendCmd
ldr r3, =gUnknown_03003092
adds r0, r5, r3
ldrh r0, [r0]
@@ -12710,7 +12710,7 @@ _0800FB78:
adds r0, r5, r4
ldrh r0, [r0]
strh r0, [r1, 0x4]
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
adds r0, 0x6
adds r0, r5, r0
ldrh r0, [r0]
@@ -12912,7 +12912,7 @@ sub_800FD14: @ 800FD14
push {r4,r5,lr}
lsls r0, 16
lsrs r1, r0, 16
- ldr r5, =gUnknown_03003110
+ ldr r5, =gSendCmd
strh r1, [r5]
movs r0, 0xF0
lsls r0, 7
@@ -13065,7 +13065,7 @@ _0800FE46:
sub_800FE50: @ 800FE50
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _0800FE76
@@ -13099,7 +13099,7 @@ sub_800FE84: @ 800FE84
ldr r0, [r5]
cmp r0, 0
bne _0800FEB8
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _0800FEB8
@@ -13151,7 +13151,7 @@ _0800FEC8:
str r7, [r5, 0x70]
b _0800FF1C
_0800FF0A:
- ldr r4, =gUnknown_020228C4
+ ldr r4, =gBlockSendBuffer
cmp r7, r4
beq _0800FF1A
adds r0, r4, 0
@@ -13184,7 +13184,7 @@ _0800FF32:
thumb_func_start rfufunc_80F9F44
rfufunc_80F9F44: @ 800FF4C
push {r4,r5,lr}
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _0800FFA0
@@ -13209,7 +13209,7 @@ rfufunc_80F9F44: @ 800FF4C
.pool
_0800FF84:
bl GetMultiplayerId
- ldr r1, =gUnknown_03003090
+ ldr r1, =gRecvCmds
lsls r0, 24
lsrs r0, 20
adds r0, r1
@@ -13235,7 +13235,7 @@ sub_800FFB0: @ 800FFB0
ldr r0, =gUnknown_03005000
mov r12, r0
ldr r5, [r0, 0x70]
- ldr r3, =gUnknown_03003110
+ ldr r3, =gSendCmd
mov r2, r12
adds r2, 0x6C
ldrh r1, [r2]
@@ -13304,7 +13304,7 @@ rfufunc_80FA020: @ 8010028
ldrb r0, [r5, 0xC]
cmp r0, 0
bne _080100F0
- ldr r3, =gUnknown_03003110
+ ldr r3, =gSendCmd
adds r2, r5, 0
adds r2, 0x6E
ldrh r0, [r2]
@@ -13315,7 +13315,7 @@ rfufunc_80FA020: @ 8010028
strh r0, [r3]
movs r4, 0
mov r9, r5
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
mov r12, r0
lsls r5, r6, 4
adds r7, r2, 0
@@ -13541,7 +13541,7 @@ _08010220:
thumb_func_start sub_801022C
sub_801022C: @ 801022C
push {r4,lr}
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _0801024E
@@ -13696,7 +13696,7 @@ sub_8010358: @ 8010358
ldrb r0, [r0]
cmp r0, 0
bne _0801037A
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _0801037A
@@ -13725,7 +13725,7 @@ sub_8010390: @ 8010390
ldrb r0, [r0]
cmp r0, 0
bne _0801041E
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _0801041E
@@ -13768,7 +13768,7 @@ _080103FA:
ldrb r0, [r0]
cmp r0, 0
bne _0801041E
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _0801041E
@@ -14406,7 +14406,7 @@ _080108F0:
b _080109D2
.pool
_08010904:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
bne _080109D2
@@ -14678,7 +14678,7 @@ _08010B28:
.4byte _08010C0A
.4byte _08010C94
_08010B40:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
beq _08010B4A
@@ -14692,7 +14692,7 @@ _08010B4A:
b _08010C4A
.pool
_08010B60:
- ldr r0, =gUnknown_03003110
+ ldr r0, =gSendCmd
ldrh r0, [r0]
cmp r0, 0
beq _08010B6A
@@ -14736,7 +14736,7 @@ _08010B8C:
b _08010C4A
.pool
_08010BC0:
- ldr r5, =gUnknown_020228C4
+ ldr r5, =gBlockSendBuffer
adds r1, r5, 0
ldr r0, =gUnknown_082ED7EC
ldm r0!, {r2-r4}
@@ -14774,7 +14774,7 @@ _08010BE2:
adds r0, 0x1
strh r0, [r1, 0x8]
_08010C0A:
- ldr r5, =gUnknown_020228C4
+ ldr r5, =gBlockSendBuffer
ldr r1, =gUnknown_03005000
ldrb r0, [r1, 0xD]
strb r0, [r5, 0xF]
@@ -14798,7 +14798,7 @@ _08010C20:
mov r1, r12
movs r2, 0x8C
bl memcpy
- ldr r1, =gUnknown_020228C4
+ ldr r1, =gBlockSendBuffer
movs r0, 0
movs r2, 0xA0
bl SendBlock
@@ -14923,7 +14923,7 @@ _08010D56:
cmp r0, 0
beq _08010DA6
bl sub_800B348
- ldr r1, =gUnknown_020228C4
+ ldr r1, =gBlockSendBuffer
movs r0, 0
movs r2, 0x3C
bl SendBlock
@@ -15027,7 +15027,7 @@ _08010E20:
ldrb r1, [r0]
movs r1, 0x2
strb r1, [r0]
- bl sub_80097E8
+ bl CloseLink
b _08010E8E
.pool
_08010E5C:
@@ -16577,7 +16577,7 @@ sub_8011AC8: @ 8011AC8
sub sp, 0x4
movs r0, 0
str r0, [sp]
- ldr r1, =gUnknown_03003090
+ ldr r1, =gRecvCmds
ldr r2, =0x05000014
mov r0, sp
bl CpuSet
@@ -16610,12 +16610,12 @@ sub_8011AFC: @ 8011AFC
lsls r0, 24
cmp r0, 0
beq _08011B70
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00001111
adds r0, r2, 0
strh r0, [r1]
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
ldr r0, =gMain
ldrh r0, [r0, 0x24]
bl SeedRng
@@ -16970,7 +16970,7 @@ sub_8011E2C: @ 8011E2C
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r6, =gUnknown_03003110
+ ldr r6, =gSendCmd
ldrh r0, [r6]
cmp r0, 0
bne _08011E7A
@@ -18046,7 +18046,7 @@ BerryBlenderLinkBecomeLeader: @ 801273C
movs r0, 0
strb r0, [r1, 0xC]
strb r0, [r1, 0xD]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
strh r0, [r1]
pop {r0}
bx r0
@@ -18144,7 +18144,7 @@ _08012848:
movs r2, 0
bl sub_8010F84
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
ldrb r1, [r4]
movs r0, 0xF
ands r0, r1
@@ -18244,8 +18244,8 @@ _08012938:
bl CopyWindowToVram
ldrb r0, [r6, 0xF]
movs r1, 0
- bl sub_81973FC
- ldr r0, =gUnknown_03006310
+ bl NewMenuHelpers_DrawStdWindowFrame
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F015C
ldm r1!, {r3,r5,r7}
@@ -18260,7 +18260,7 @@ _08012938:
strb r0, [r6, 0x12]
ldrb r0, [r6, 0x11]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r6, 0x11]
bl PutWindowTilemap
ldrb r0, [r6, 0x11]
@@ -18893,7 +18893,7 @@ _08012EE6:
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _08012F50
@@ -18902,7 +18902,7 @@ _08012EFC:
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x8
strh r0, [r1]
b _08012F50
@@ -19571,7 +19571,7 @@ BerryBlenderLinkJoinGroup: @ 80134A4
movs r0, 0
strb r0, [r1, 0x8]
strb r0, [r1, 0x9]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
strh r0, [r1]
pop {r0}
bx r0
@@ -19652,7 +19652,7 @@ _08013590:
movs r2, 0
bl sub_8010F84
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
bl sub_8011C5C
movs r0, 0x70
bl AllocZeroed
@@ -19725,8 +19725,8 @@ _0801360C:
bl CopyWindowToVram
ldrb r0, [r6, 0xB]
movs r1, 0
- bl sub_81973FC
- ldr r0, =gUnknown_03006310
+ bl NewMenuHelpers_DrawStdWindowFrame
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F0204
ldm r1!, {r3,r5,r7}
@@ -19741,7 +19741,7 @@ _0801360C:
strb r0, [r6, 0xE]
ldrb r0, [r6, 0xD]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r6, 0xD]
bl PutWindowTilemap
ldrb r0, [r6, 0xD]
@@ -19771,7 +19771,7 @@ _080136EA:
b _08013A72
_080136F2:
ldrb r0, [r6, 0xE]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r4, r0, 0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -20196,13 +20196,13 @@ _08013AE4:
lsls r0, 24
cmp r0, 0
beq _08013B82
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0x6
b _08013B58
.pool
_08013B14:
bl sub_800E084
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0x5
b _08013B58
.pool
@@ -20228,7 +20228,7 @@ _08013B4A:
lsls r0, 24
cmp r0, 0
beq _08013B82
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0x8
_08013B58:
strh r1, [r0]
@@ -20400,7 +20400,7 @@ _08013CD0:
movs r2, 0
bl sub_8010F84
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
bl sub_8011C5C
movs r0, 0x1
bl sub_80111B0
@@ -20834,7 +20834,7 @@ _08013FFC:
b _0801405A
.pool
_08014038:
- ldr r4, =gUnknown_020228C4
+ ldr r4, =gBlockSendBuffer
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
ldr r0, =0x00002be0
@@ -21040,7 +21040,7 @@ sub_8014210: @ 8014210
adds r6, r0, 0
lsls r6, 16
lsrs r6, 16
- bl sp000_heal_pokemon
+ bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
ldr r5, =gLinkPlayers
@@ -21405,10 +21405,10 @@ _080145D8:
.pool
_080145F4:
bl overworld_free_bg_tilemaps
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
- bl sp000_heal_pokemon
+ bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
movs r0, 0x1
@@ -21421,10 +21421,10 @@ _080145F4:
.pool
_08014620:
bl overworld_free_bg_tilemaps
- bl sp000_heal_pokemon
+ bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
movs r0, 0x2
@@ -21437,10 +21437,10 @@ _08014620:
.pool
_0801464C:
bl overworld_free_bg_tilemaps
- bl sp000_heal_pokemon
+ bl HealPlayerParty
bl copy_player_party_to_sav1
bl copy_bags_and_unk_data_from_save_blocks
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
movs r0, 0x5
@@ -21452,7 +21452,7 @@ _0801464C:
b _080146B0
.pool
_08014678:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
bl overworld_free_bg_tilemaps
@@ -21465,7 +21465,7 @@ _08014678:
b _080146B0
.pool
_08014698:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
bl overworld_free_bg_tilemaps
@@ -21505,7 +21505,7 @@ _080146F6:
bl sub_801DD98
b _08014764
_080146FC:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0
bl sub_80143E4
ldr r0, =sub_80141A4
@@ -21517,7 +21517,7 @@ _08014714:
movs r1, 0x5
movs r2, 0x1
bl sub_8014290
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
ldr r1, =c2_load_new_map
@@ -21538,7 +21538,7 @@ _0801474C:
movs r1, 0x5
movs r2, 0x1
bl sub_8014290
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
ldr r1, =c2_load_new_map
@@ -21546,7 +21546,7 @@ _0801474C:
_08014764:
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
ldr r0, =gUnknown_02022C2C
@@ -21575,7 +21575,7 @@ sub_8014790: @ 8014790
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r7, r0, r1
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
mov r9, r0
movs r1, 0
ldrsh r0, [r7, r1]
@@ -21602,7 +21602,7 @@ _080147CC:
.4byte _08014992
.4byte _0801499C
_080147F0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
ldr r0, =gUnknown_02022C2C
@@ -21686,7 +21686,7 @@ _080148CC:
bne _080149B2
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
movs r0, 0x2
strh r0, [r7]
b _080149B2
@@ -21746,7 +21746,7 @@ _0801494A:
bl sub_80B2AF4
cmp r0, 0
beq _08014980
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0xB
strh r1, [r0]
movs r0, 0x7
@@ -21837,7 +21837,7 @@ sub_8014A00: @ 8014A00
strb r2, [r1, 0xC]
strb r2, [r1, 0xD]
strb r4, [r1, 0x18]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
pop {r4}
pop {r0}
@@ -21899,7 +21899,7 @@ _08014AB0:
movs r1, 0
bl sub_8010FA0
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
movs r0, 0x2
bl sub_8011C10
movs r0, 0x1
@@ -21971,7 +21971,7 @@ _08014AEC:
strb r0, [r5, 0xF]
ldrb r0, [r5, 0xF]
bl sub_8018784
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F015C
ldm r1!, {r3,r4,r6}
@@ -22297,7 +22297,7 @@ _08014E4E:
beq _08014EF2
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _08014EF2
@@ -22386,7 +22386,7 @@ sub_8014EFC: @ 8014EFC
strb r2, [r1, 0x9]
subs r4, 0x15
strb r4, [r1, 0x12]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
pop {r4}
pop {r0}
@@ -22437,7 +22437,7 @@ _08014FA4:
movs r2, 0
bl sub_8010F84
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
bl sub_8011C5C
movs r0, 0x70
bl AllocZeroed
@@ -22503,7 +22503,7 @@ _08014FE8:
strb r0, [r7, 0xD]
ldrb r0, [r7, 0xB]
bl sub_8018784
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F0204
ldm r1!, {r3-r5}
@@ -22551,7 +22551,7 @@ _080150CE:
b _080152A0
_080150D6:
ldrb r0, [r7, 0xE]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r2, r0, 0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -22727,7 +22727,7 @@ _0801526A:
adds r0, r6, 0
bl DestroyTask
bl sub_800EDD4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _080152A0
@@ -22775,7 +22775,7 @@ sub_80152A8: @ 80152A8
strb r2, [r1, 0x9]
subs r4, 0x15
strb r4, [r1, 0x12]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
pop {r4}
pop {r0}
@@ -22825,7 +22825,7 @@ _08015358:
movs r2, 0
bl sub_8010F84
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
bl sub_8011C5C
movs r0, 0x70
bl AllocZeroed
@@ -22876,7 +22876,7 @@ _08015398:
strb r0, [r5, 0xB]
ldrb r0, [r5, 0xB]
bl sub_8018784
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, =gUnknown_082F0204
ldm r1!, {r3,r4,r6}
@@ -22922,7 +22922,7 @@ _08015446:
cmp r0, 0
beq _08015452
ldrb r0, [r5, 0xE]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
_08015452:
ldrb r0, [r5, 0x14]
cmp r0, 0x78
@@ -23099,7 +23099,7 @@ _080155C2:
adds r0, r4, 0
bl DestroyTask
bl sub_800EDD4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _08015604
@@ -23143,7 +23143,7 @@ UnionRoomSpecial: @ 801560C
strb r1, [r0, 0x16]
strh r1, [r0, 0x10]
strh r1, [r0, 0x12]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
movs r0, 0xD0
movs r1, 0x1
@@ -23375,7 +23375,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
@@ -23386,7 +23386,7 @@ _08015878:
ldr r0, [r6, 0xC]
movs r1, 0x4
bl sub_80175EC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r0, 0x3
@@ -23408,7 +23408,7 @@ _080158E0:
ldrh r0, [r4]
cmp r0, 0
beq _080159A0
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r5, r0, 24
ldrh r0, [r4]
@@ -23436,7 +23436,7 @@ _08015900:
b _0801598E
.pool
_0801592C:
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
adds r1, r4, 0
@@ -23470,7 +23470,7 @@ _0801596C:
ldr r1, =gUnknown_02022C2C
movs r0, 0x44
strb r0, [r1]
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
adds r1, r4, 0
@@ -23488,7 +23488,7 @@ _080159A0:
movs r0, 0x4
bl _08016876
_080159A6:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldrh r0, [r4]
cmp r0, 0
beq _08015A0A
@@ -23722,7 +23722,7 @@ _08015BBE:
bne _08015BCA
bl _08016878
_08015BCA:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
ldr r0, =sub_80140E0
@@ -24249,7 +24249,7 @@ _080160DA:
bne _080160E4
b _08016878
_080160E4:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
ldr r0, =sub_80140E0
@@ -25071,7 +25071,7 @@ var_800D_set_xB: @ 8016884
bl InUnionRoom
cmp r0, 0x1
bne _08016894
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xB
strh r0, [r1]
_08016894:
@@ -25084,7 +25084,7 @@ _08016894:
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
@@ -25225,7 +25225,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
@@ -26038,7 +26038,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
@@ -26083,7 +26083,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
@@ -26144,7 +26144,7 @@ _080170E0:
negs r0, r0
b _08017110
_080170F2:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
movs r2, 0x80
@@ -26175,7 +26175,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
@@ -26271,8 +26271,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}
@@ -26297,7 +26297,7 @@ _080171DC:
_08017228:
mov r3, r9
ldrb r0, [r3]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
mov r8, r0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -26384,8 +26384,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}
@@ -26413,7 +26413,7 @@ _08017314:
_0801731C:
mov r3, r10
ldrb r0, [r3]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r1, r0, 0
ldr r0, =gMain
ldrh r2, [r0, 0x2E]
@@ -28009,14 +28009,14 @@ _08017F8A:
lsls r0, r4, 24
lsrs r0, 24
adds r1, r5, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
adds r5, 0x10
adds r4, 0x1
cmp r4, 0x3
ble _08017F8A
ldr r1, =gUnknown_082EE47C
adds r0, r7, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
b _08017FB4
.pool
_08017FAC:
@@ -28047,7 +28047,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
@@ -28381,7 +28381,7 @@ sub_8018220: @ 8018220
ldr r0, =gUnknown_02039B58
adds r1, r0
mov r8, r1
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
mov r6, r9
adds r6, 0xC0
bl sub_8068BB0
@@ -28395,11 +28395,11 @@ sub_8018220: @ 8018220
bl StringCopy
movs r0, 0
adds r1, r6, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
mov r1, r8
adds r1, 0x30
movs r0, 0x1
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r4, 0xBA
lsls r4, 1
add r4, r9
@@ -28413,7 +28413,7 @@ sub_8018220: @ 8018220
bl StringCopy
movs r0, 0x2
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
mov r5, r9
adds r5, 0xDE
mov r0, r8
@@ -28424,7 +28424,7 @@ sub_8018220: @ 8018220
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r2, 0xED
add r2, r9
mov r10, r2
@@ -28444,16 +28444,16 @@ sub_8018220: @ 8018220
bl ConvertIntToDecimalStringN
movs r0, 0x4
mov r1, r10
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r0, 0x5
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r4, 0xD2
lsls r4, 1
add r4, r9
ldr r1, =gUnknown_082EFF64
adds r0, r4, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
ldr r0, =gStringVar4
adds r1, r4, 0
bl StringCopy
@@ -28470,7 +28470,7 @@ _0801830C:
bl ConvertIntToDecimalStringN
movs r0, 0
adds r1, r6, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
mov r2, r8
ldrh r1, [r2, 0x16]
cmp r1, r4
@@ -28485,7 +28485,7 @@ _08018328:
bl ConvertIntToDecimalStringN
movs r0, 0x2
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
mov r0, r8
ldrh r1, [r0, 0x20]
adds r0, r5, 0
@@ -28494,7 +28494,7 @@ _08018328:
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r7, 0
movs r6, 0x80
lsls r6, 19
@@ -28507,7 +28507,7 @@ _08018360:
bl CopyEasyChatWord
lsrs r0, r6, 24
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r2, 0x80
lsls r2, 17
adds r6, r2
@@ -28521,7 +28521,7 @@ _08018360:
add r4, r9
ldr r1, =gUnknown_082EFFA4
adds r0, r4, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
ldr r5, =gStringVar4
adds r0, r5, 0
adds r1, r4, 0
@@ -28531,7 +28531,7 @@ _08018360:
bne _080183D0
ldr r1, =gUnknown_082F0020
adds r0, r4, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend
@@ -28548,7 +28548,7 @@ _080183D0:
adds r1, r0
ldr r1, [r1]
adds r0, r4, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend
@@ -28639,7 +28639,7 @@ _08018482:
bl ResetSpriteData
bl FreeAllSpritePalettes
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_082F0598
@@ -28869,7 +28869,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
@@ -28913,7 +28913,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
@@ -28929,7 +28929,7 @@ _08018720:
movs r0, 0
movs r1, 0
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
movs r0, 0
movs r1, 0x2
bl CopyWindowToVram
@@ -29101,7 +29101,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
@@ -29454,7 +29454,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
@@ -29502,7 +29502,7 @@ _08018BD6:
b _08018C3E
.pool
_08018BE4:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r6, r0, 24
movs r1, 0x80
@@ -29600,7 +29600,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
@@ -30493,7 +30493,7 @@ _0801940C:
b _08019922
.pool
_0801942C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x5
beq _08019436
@@ -30994,7 +30994,7 @@ _080197F8:
b _08019922
.pool
_08019810:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x5
beq _0801981A
@@ -31100,7 +31100,7 @@ _080198FE:
b _08019922
.pool
_0801990C:
- bl sub_80097E8
+ bl CloseLink
ldr r0, [r5, 0x10]
bl Free
adds r0, r4, 0
@@ -31435,7 +31435,7 @@ _08019B84:
b _08019B9C
_08019B96:
adds r0, r4, 0
- bl sub_8097404
+ bl FreezeMapObject
_08019B9C:
movs r0, 0x1
_08019B9E:
@@ -32622,7 +32622,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
@@ -32661,7 +32661,7 @@ sub_801A43C: @ 801A43C
bl LoadPalette
movs r0, 0xF0
bl sub_81978B0
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
movs r0, 0x20
str r0, [sp]
str r0, [sp, 0x4]
@@ -33152,7 +33152,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}
@@ -33473,7 +33473,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
@@ -33723,7 +33723,7 @@ _0801AE48:
beq _0801AE54
b _0801AFAE
_0801AE54:
- ldr r4, =gUnknown_020228C4
+ ldr r4, =gBlockSendBuffer
adds r0, r4, 0
movs r1, 0
movs r2, 0x20
@@ -33740,7 +33740,7 @@ _0801AE78:
movs r0, 0x51
_0801AE7A:
strb r0, [r4]
- ldr r1, =gUnknown_020228C4
+ ldr r1, =gBlockSendBuffer
movs r0, 0
movs r2, 0x20
bl SendBlock
@@ -38870,7 +38870,7 @@ _0801D7D0:
ldr r1, [r4, 0x18]
movs r2, 0xBC
bl memcpy
- bl sub_81652B4
+ bl ValidateEReaderTrainer
b _0801D804
.pool
_0801D7F0:
@@ -39454,7 +39454,7 @@ _0801DC10:
thumb_func_start sub_801DC20
sub_801DC20: @ 801DC20
push {r4-r6,lr}
- ldr r6, =gScriptResult
+ ldr r6, =gSpecialVar_Result
bl sub_801B044
adds r4, r0, 0
bl IsMysteryEventEnabled
@@ -39839,7 +39839,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
@@ -41938,10 +41938,10 @@ _0801F020:
ldrb r1, [r4, 0x8]
cmp r0, r1
beq _0801F0A8
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r1, =gText_F700JoinedChat
b _0801F094
.pool
@@ -41978,14 +41978,14 @@ _0801F07A:
ldrb r5, [r5]
cmp r0, r5
beq _0801F0A8
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r1, =gText_F700LeftChat
_0801F094:
adds r0, r6, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
movs r0, 0x1
b _0801F0AA
.pool
@@ -42570,7 +42570,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}
@@ -43458,11 +43458,11 @@ sub_801FBF8: @ 801FBF8
beq _0801FC38
b _0801FC42
_0801FC08:
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
bl sub_801F1D0
adds r1, r0, 0
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r0, 0x5
movs r1, 0
bl sub_801FF18
@@ -43619,11 +43619,11 @@ sub_801FD30: @ 801FD30
beq _0801FD74
b _0801FD7E
_0801FD40:
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r0, 0x9
movs r1, 0
bl sub_801FF18
@@ -43927,7 +43927,7 @@ _0801FF98:
adds r0, r1, 0
adds r0, 0x22
ldr r1, [r4]
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
ldr r0, [r5]
adds r6, r0, 0
adds r6, 0x22
@@ -44697,11 +44697,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
@@ -44729,7 +44729,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
@@ -44877,13 +44877,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
@@ -44898,12 +44898,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
@@ -44941,7 +44941,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
@@ -45607,7 +45607,7 @@ _08020D74:
sub_8020D8C: @ 8020D8C
push {r4,lr}
sub sp, 0xC
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r0, [r1]
subs r0, 0x85
lsls r0, 16
@@ -45628,7 +45628,7 @@ _08020DB0:
ldrb r0, [r2, 0x8]
lsls r0, 5
adds r0, r2, r0
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
subs r1, 0x85
adds r0, 0xA4
@@ -46001,7 +46001,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:
@@ -46464,7 +46464,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
@@ -47206,7 +47206,7 @@ _08021A92:
lsls r4, 2
str r4, [sp, 0x24]
_08021A98:
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
ldr r0, [sp, 0x10]
cmp r0, 0x1
beq _08021B48
@@ -47465,10 +47465,10 @@ _08021CC8:
ldr r0, [sp, 0xC]
adds r1, r0, r1
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r0, =gStringVar4
adds r1, r4, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
ldr r1, [sp, 0xC]
movs r2, 0xDD
lsls r2, 1
@@ -48550,7 +48550,7 @@ _08022616:
str r4, [sp, 0x10]
movs r1, 0x2
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
b _0802269C
.pool
_08022668:
@@ -48577,7 +48577,7 @@ _08022668:
str r4, [sp, 0x10]
movs r1, 0x2
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
_0802269C:
ldr r1, =0x000001bb
adds r0, r6, r1
@@ -49425,7 +49425,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
@@ -49453,7 +49453,7 @@ _08022D42:
movs r0, 0
movs r1, 0x1
adds r2, r4, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _08022DB2
.pool
_08022D90:
@@ -49472,7 +49472,7 @@ _08022D90:
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
_08022DB2:
movs r0, 0
movs r1, 0x3
@@ -50251,7 +50251,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
@@ -50860,7 +50860,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
@@ -52023,8 +52023,8 @@ _080241A6:
beq _0802421E
movs r0, 0
movs r1, 0
- bl sub_81973C4
- ldr r2, =gUnknown_082C8959
+ bl NewMenuHelpers_DrawDialogueFrame
+ ldr r2, =gText_SavingDontTurnOffPower
movs r0, 0
str r0, [sp]
movs r0, 0x2
@@ -52036,7 +52036,7 @@ _080241A6:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -52114,7 +52114,7 @@ _0802426A:
bl sub_8197930
b _080242D0
_08024270:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r4, r0, 24
movs r0, 0x2
@@ -52380,7 +52380,7 @@ _0802445A:
_08024460:
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldrh r1, [r5, 0x14]
cmp r1, 0x3
bne _08024490
@@ -52395,7 +52395,7 @@ _08024460:
str r1, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _080244AC
.pool
_08024490:
@@ -52411,7 +52411,7 @@ _08024490:
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
_080244AC:
movs r0, 0
movs r1, 0x3
@@ -52674,8 +52674,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
@@ -52683,11 +52683,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
@@ -59192,7 +59192,7 @@ sub_8027A48: @ 8027A48
sub_8027A5C: @ 8027A5C
push {r4-r6,lr}
movs r5, 0
- ldr r6, =gScriptResult
+ ldr r6, =gSpecialVar_Result
_08027A62:
movs r0, 0x64
adds r1, r5, 0
@@ -59217,7 +59217,7 @@ _08027A94:
adds r5, 0x1
cmp r5, 0x5
ble _08027A62
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_08027AA0:
@@ -59628,7 +59628,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
@@ -60084,7 +60084,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
@@ -60297,7 +60297,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
@@ -60349,7 +60349,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
@@ -61953,7 +61953,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
@@ -61961,7 +61961,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
@@ -63516,7 +63516,7 @@ _08029DA0:
movs r1, 0x1
adds r2, r5, 0
bl PrintTextOnWindow
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
bl sub_802762C
lsls r0, 16
lsrs r0, 16
@@ -63525,11 +63525,11 @@ _08029DA0:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r7, =gStringVar4
ldr r1, =gText_FirstPlacePrize
adds r0, r7, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
ldr r0, [r4]
add r0, r10
ldrb r0, [r0]
@@ -63550,7 +63550,7 @@ _08029DA0:
beq _08029EC8
cmp r4, 0x3
beq _08029EC8
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
bl sub_802762C
lsls r0, 16
lsrs r0, 16
@@ -63558,12 +63558,12 @@ _08029DA0:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
cmp r4, 0x2
bne _08029E9C
ldr r1, =gText_CantHoldAnyMore
adds r0, r7, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
b _08029EA8
.pool
_08029E9C:
@@ -63571,7 +63571,7 @@ _08029E9C:
bne _08029EA8
ldr r1, =gText_FilledStorageSpace
adds r0, r7, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
_08029EA8:
ldr r0, =gUnknown_02022CF8
ldr r0, [r0]
@@ -64113,8 +64113,8 @@ _0802A3A4:
_0802A3AE:
movs r0, 0
movs r1, 0
- bl sub_81973C4
- ldr r2, =gUnknown_082C8959
+ bl NewMenuHelpers_DrawDialogueFrame
+ ldr r2, =gText_SavingDontTurnOffPower
str r4, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
@@ -64125,7 +64125,7 @@ _0802A3AE:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _0802A410
.pool
_0802A3D8:
@@ -68864,7 +68864,7 @@ _0802C924:
bl sub_802C908
cmp r0, 0
beq _0802C95C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _0802C966
.pool
@@ -68872,7 +68872,7 @@ _0802C95C:
adds r5, 0x1
cmp r5, 0x5
ble _0802C924
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_0802C966:
strh r0, [r1]
@@ -69006,7 +69006,7 @@ _0802CA32:
ldrh r0, [r7]
ldr r1, [r7, 0x4]
ldr r2, [r7, 0x8]
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
str r0, [sp, 0x20]
add r0, sp, 0x20
ldr r1, [r0, 0x4]
@@ -70357,7 +70357,7 @@ _0802D516:
strh r0, [r1, 0x12]
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_082C8959
+ ldr r2, =gText_SavingDontTurnOffPower
movs r1, 0x1
str r1, [sp]
movs r1, 0xFF
@@ -70731,19 +70731,19 @@ sub_802D7E8: @ 802D7E8
movs r2, 0
movs r3, 0x1
bl ConvertIntToDecimalStringN
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
ldr r1, [r5]
adds r1, 0x26
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r1, [r5]
adds r1, 0x66
movs r0, 0x1
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r0, [r5]
adds r0, 0xA6
ldr r1, =gText_AwesomeWonF701F700
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@@ -70788,15 +70788,15 @@ sub_802D884: @ 802D884
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r0, [r4]
adds r0, 0xA6
ldr r1, =gText_FilledStorageSpace2
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@@ -70841,15 +70841,15 @@ sub_802D8FC: @ 802D8FC
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r0, [r4]
adds r0, 0xA6
ldr r1, =gText_CantHoldMore
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
movs r0, 0x4
movs r1, 0x9
movs r2, 0x16
@@ -71035,7 +71035,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}
@@ -71821,7 +71821,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]
@@ -71948,7 +71948,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
@@ -72038,7 +72038,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]
@@ -72093,7 +72093,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]
@@ -73087,7 +73087,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
diff --git a/asm/list_menu.s b/asm/list_menu.s
index 5e6da159e..58719093c 100755..100644
--- a/asm/list_menu.s
+++ b/asm/list_menu.s
@@ -64,7 +64,7 @@ _081AE4B0:
ldr r1, [sp, 0x4]
bl sub_8098858
_081AE4C0:
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp]
ldm r1!, {r3-r5}
@@ -87,7 +87,7 @@ _081AE4C0:
.pool
_081AE4F4:
ldrb r0, [r5, 0x6]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
str r0, [r5]
ldr r1, =gMain
ldrh r0, [r1, 0x2E]
@@ -227,9 +227,9 @@ _081AE5F0:
bx r1
thumb_func_end Unused_ListMenuInit2
- thumb_func_start ListMenuHandleInput
-@ int ListMenuHandleInput(u8 taskId)
-ListMenuHandleInput: @ 81AE604
+ thumb_func_start ListMenuHandleInputGetItemId
+@ int ListMenuHandleInputGetItemId(u8 taskId)
+ListMenuHandleInputGetItemId: @ 81AE604
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -337,7 +337,7 @@ _081AE6BE:
_081AE6C2:
pop {r1}
bx r1
- thumb_func_end ListMenuHandleInput
+ thumb_func_end ListMenuHandleInputGetItemId
thumb_func_start sub_81AE6C8
sub_81AE6C8: @ 81AE6C8
@@ -557,8 +557,8 @@ _081AE856:
.pool
thumb_func_end sub_81AE838
- thumb_func_start get_coro_args_x18_x1A
-get_coro_args_x18_x1A: @ 81AE860
+ thumb_func_start sub_81AE860
+sub_81AE860: @ 81AE860
push {lr}
adds r3, r1, 0
lsls r0, 24
@@ -581,7 +581,7 @@ _081AE882:
pop {r0}
bx r0
.pool
- thumb_func_end get_coro_args_x18_x1A
+ thumb_func_end sub_81AE860
thumb_func_start ListMenuGetYCoordForPrintingArrowCursor
@ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId)
@@ -773,7 +773,7 @@ ListMenuPrint: @ 81AE9B4
str r6, [sp, 0x10]
adds r2, r7, 0
mov r3, r12
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
ldrb r1, [r5, 0x3]
movs r0, 0x7F
ands r0, r1
@@ -810,7 +810,7 @@ _081AEA20:
str r6, [sp, 0x10]
adds r2, r7, 0
mov r3, r12
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
_081AEA5E:
add sp, 0x18
pop {r4-r7}
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 135cfac61..7c35e059d 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -1,5 +1,6 @@
.include "asm/macros/asm.inc"
.include "asm/macros/function.inc"
+ .include "asm/macros/movement.inc"
.include "asm/macros/window.inc"
.include "asm/macros/pokemon_data.inc"
.include "asm/macros/ec.inc"
@@ -64,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
@@ -113,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..083107c08
--- /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 atk5F
+ .byte 0x5f
+ .endm
+
+ .macro incrementgamestat param0
+ .byte 0x60
+ .byte \param0
+ .endm
+
+ .macro drawpartystatussummary bank
+ .byte 0x61
+ .byte \bank
+ .endm
+
+ .macro atk62 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 snatchsetbanks
+ .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.s b/asm/macros/event.inc
index b5fefb925..f2d14b945 100644
--- a/asm/macros/event.s
+++ b/asm/macros/event.inc
@@ -1,20 +1,20 @@
@ Does nothing.
- .macro snop
+ .macro nop
.byte 0x00
.endm
@ Does nothing.
- .macro snop1
+ .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
@@ -25,27 +25,27 @@
.endm
@ Jumps to destination and continues script execution from there.
- .macro jump destination
+ .macro goto destination
.byte 0x05
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there.
- .macro jumpif condition, destination
+ .macro goto_if condition, destination
.byte 0x06
.byte \condition
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls destination.
- .macro callif condition, destination
+ .macro call_if condition, destination
.byte 0x07
.byte \condition
.4byte \destination
.endm
@ Jumps to the standard function at index function.
- .macro jumpstd function
+ .macro gotostd function
.byte 0x08
.byte \function
.endm
@@ -57,58 +57,58 @@
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function.
- .macro jumpstdif condition, function
+ .macro gotostd_if condition, function
.byte 0x0a
.byte \condition
.byte \function
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function.
- .macro callstdif condition, function
+ .macro callstd_if condition, function
.byte 0x0b
.byte \condition
.byte \function
.endm
@ Executes a script stored in a default RAM location.
- .macro jumpram
+ .macro gotoram
.byte 0x0c
.endm
@ Terminates script execution and "resets the script RAM".
- .macro die
+ .macro killscript
.byte 0x0d
.endm
- @ Pads the specified value to a dword, and then writes that dword to a predefined address (0x0203AAA8).
- .macro setbyte value
+ @ Sets some status related to Mystery Event.
+ .macro setmysteryeventstatus value
.byte 0x0e
.byte \value
.endm
@ Sets the specified script bank to value.
- .macro loadptr destination, value
+ .macro loadword destination, value
.byte 0x0f
.byte \destination
.4byte \value
.endm
@ Sets the specified script bank to value.
- .macro setbufferbyte destination, value
+ .macro loadbyte destination, value
.byte 0x10
.byte \destination
.byte \value
.endm
@ Sets the byte at offset to value.
- .macro writebytetooffset value, offset
+ .macro writebytetoaddr value, offset
.byte 0x11
.byte \value
.4byte \offset
.endm
@ Copies the byte value at source into the specified script bank.
- .macro loadbytefrompointer destination, source
+ .macro loadbytefromaddr destination, source
.byte 0x12
.byte \destination
.4byte \source
@@ -122,7 +122,7 @@
.endm
@ Copies the contents of bank source into bank destination.
- .macro copybuffers destination, source
+ .macro copylocal destination, source
.byte 0x14
.byte \destination
.byte \source
@@ -171,93 +171,112 @@
.endm
@ Compares the values of script banks a and b, after forcing the values to bytes.
- .macro comparebuffers byte1, byte2
+ .macro compare_local_to_local byte1, byte2
.byte 0x1b
.byte \byte1
.byte \byte2
.endm
@ Compares the least-significant byte of the value of script bank a to a fixed byte value (b).
- .macro comparebuffertobyte a, b
+ .macro compare_local_to_value a, b
.byte 0x1c
.byte \a
.byte \b
.endm
@ Compares the least-significant byte of the value of script bank a to the byte located at offset b.
- .macro comparebuffertoptrbyte a, b
+ .macro compare_local_to_addr a, b
.byte 0x1d
.byte \a
.4byte \b
.endm
@ Compares the byte located at offset a to the least-significant byte of the value of script bank b.
- .macro compareptrbytetobuffer a, b
+ .macro compare_addr_to_local a, b
.byte 0x1e
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to a fixed byte value (b).
- .macro compareptrbytetobyte a, b
+ .macro compare_addr_to_value a, b
.byte 0x1f
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to the byte located at offset b.
- .macro compareptrbytes a, b
+ .macro compare_addr_to_addr a, b
.byte 0x20
.4byte \a
.4byte \b
.endm
- @ Compares the value of a to a fixed word value (b).
- .macro compare a, b
+ @ Compares the value of `var` to a fixed word value (b).
+ .macro compare_var_to_value var, value
.byte 0x21
- .2byte \a
- .2byte \b
+ .2byte \var
+ .2byte \value
.endm
- @ Compares the value of a to the value of b.
- .macro comparevars a, b
+ @ Compares the value of `var1` to the value of `var2`.
+ .macro compare_var_to_var var1, var2
.byte 0x22
- .2byte \a
- .2byte \b
+ .2byte \var1
+ .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 ASM routine stored at code. Script execution is blocked until the ASM returns (bx lr, mov pc, lr, etc.). Remember to add 1 to the offset when calling THUMB code.
- .macro callasm code
+ @ Calls the native C function stored at `func`.
+ .macro callnative func
.byte 0x23
- .4byte \code
+ .4byte \func
.endm
- @ Replaces a pointer in the script engine RAM with asm_pointer.
- .macro jumpasm asm_pointer
+ @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE.
+ .macro gotonative func
.byte 0x24
- .4byte \asm_pointer
+ .4byte \func
.endm
- @ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers.
+ @ Calls a special function; that is, a function designed for use by scripts and listed in a table of pointers.
.macro special function
.byte 0x25
.2byte SPECIAL_\function
.endm
@ Calls a special function. That function's output (if any) will be written to the variable you specify.
- .macro specialval output, function
+ .macro specialvar output, function
.byte 0x26
.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
@ Blocks script execution for time (frames? milliseconds?).
- .macro pause time
+ .macro delay time
.byte 0x28
.2byte \time
.endm
@@ -280,134 +299,157 @@
.2byte \a
.endm
- @ In FireRed, this command is a nop.
- .macro compareflags
+ @ Initializes the RTC`s local time offset to the given hour and minute. In FireRed, this command is a nop.
+ .macro initclock hour, minute
.byte 0x2c
+ .2byte \hour
+ .2byte \minute
.endm
- @ In FireRed, this command is a nop.
- .macro checkdailyflags
+ @ Runs time based events. In FireRed, this command is a nop.
+ .macro dodailyevents
.byte 0x2d
.endm
- @ Resets the values of variables 0x8000, 0x8001, and 0x8002. Related to RTC in RSE?
- .macro resetvars
+ @ 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
.byte 0x2e
.endm
@ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones.
- .macro playsfx sound_number
+ .macro playse sound_number
.byte 0x2f
.2byte \sound_number
.endm
- @ Blocks script execution until the currently-playing sound (triggered by sound) finishes playing.
- .macro checksound
+ @ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
+ .macro waitse
.byte 0x30
.endm
@ Plays the specified (fanfare_number) fanfare.
- .macro fanfare fanfare_number
+ .macro playfanfare fanfare_number
.byte 0x31
.2byte \fanfare_number
.endm
@ Blocks script execution until all currently-playing fanfares finish.
- .macro waitfanfare
+ .macro waitfanfare
.byte 0x32
.endm
@ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00.
- .macro playmusic song_number, unknown
+ .macro playbgm song_number, unknown
.byte 0x33
.2byte \song_number
.byte \unknown
.endm
- @ Plays the specified (song_number) song.
- .macro playmusicbattle song_number
+ @ Saves the specified (song_number) song to be played later.
+ .macro savebgm song_number
.byte 0x34
.2byte \song_number
.endm
@ Crossfades the currently-playing song into the map's default song.
- .macro fadedefault
+ .macro fadedefaultbgm
.byte 0x35
.endm
@ Crossfades the currently-playng song into the specified (song_number) song.
- .macro fademusic song_number
+ .macro fadenewbgm song_number
.byte 0x36
.2byte \song_number
.endm
@ Fades out the currently-playing song.
- .macro fadeout speed
+ .macro fadeoutbgm speed
.byte 0x37
.byte \speed
.endm
- @ Fades the currently-playing song back in.
- .macro fadein speed
+ @ Fades the previously-playing song back in.
+ .macro fadeinbgm speed
.byte 0x38
.byte \speed
.endm
@ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map.
- .macro warp bank, map, warp, X, Y
+ .macro warp map, warp, X, Y
.byte 0x39
- .byte \bank
- .byte \map
+ map \map
.byte \warp
.2byte \X
.2byte \Y
.endm
@ Clone of warp that does not play a sound effect.
- .macro warpmuted
+ .macro warpsilent map, warp, X, Y
.byte 0x3a
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Clone of warp that uses "a walking effect".
- .macro warpwalk
+ @ Clone of warp that plays a door opening animation before stepping upwards into it.
+ .macro warpdoor map, warp, X, Y
.byte 0x3b
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
@ Warps the player to another map using a hole animation.
- .macro warphole bank, map
+ .macro warphole map
.byte 0x3c
- .byte \bank
- .byte \map
+ map \map
.endm
- @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.[source]
- .macro warpteleport
+ @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.
+ .macro warpteleport map, warp, X, Y
.byte 0x3d
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Clone of warp. Used by an (unused?) Safari Zone script to return the player to the gatehouse and end the Safari Game.
- .macro warp3
+ @ Sets the warp destination to be used later.
+ .macro setwarp map, warp, X, Y
.byte 0x3e
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Sets a default warp place. If a warp tries to send the player to Warp 127 on Map 127.127, they will instead be sent here. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
- .macro warpplace bank, map, warp, X, Y
+ @ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
+ .macro setdynamicwarp map, warp, X, Y
.byte 0x3f
- .byte \bank
- .byte \map
+ map \map
.byte \warp
.2byte \X
.2byte \Y
.endm
- @ Clone of warp3, except that this writes data to different offsets...
- .macro warp4
+ @ Sets the destination that diving or emerging from a dive will take the player to.
+ .macro setdivewarp map, warp, X, Y
.byte 0x40
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Clone of warp3, except that this writes data to different offsets...
- .macro warp5
+ @ Sets the destination that falling into a hole will take the player to.
+ .macro setholewarp map, warp, X, Y
.byte 0x41
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
@ Retrieves the player's zero-indexed X- and Y-coordinates in the map, and stores them in the specified variables.
@@ -417,20 +459,20 @@
.2byte \Y
.endm
- @ Retrieves the number of Pokmon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
- .macro countpokemon
+ @ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
+ .macro getpartysize
.byte 0x43
.endm
@ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000.
- .macro additem index, quantity
+ .macro giveitem index, quantity
.byte 0x44
.2byte \index
.2byte \quantity
.endm
@ Removes quantity of item index from the player's Bag.
- .macro removeitem index, quantity
+ .macro takeitem index, quantity
.byte 0x45
.2byte \index
.2byte \quantity
@@ -457,7 +499,7 @@
.endm
@ Adds a quantity amount of item index to the player's PC. Both arguments can be variables.
- .macro addpcitem index, quantity
+ .macro givepcitem index, quantity
.byte 0x49
.2byte \index
.2byte \quantity
@@ -470,139 +512,184 @@
.2byte \quantity
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro adddecor a
+ @ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro givedecoration decoration
.byte 0x4b
- .2byte \a
+ .2byte \decoration
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro removedecor a
+ @ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro takedecoration decoration
.byte 0x4c
- .2byte \a
+ .2byte \decoration
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro testdecor a
+ @ Checks for decoration in the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro checkdecor decoration
.byte 0x4d
- .2byte \a
+ .2byte \decoration
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro checkdecor a
+ @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro checkdecorspace decoration
.byte 0x4e
- .2byte \a
- .endm
-
- @ Applies the movement data at movements to the specified (index) Person event. Also closes any standard message boxes that are still open.
- .macro move index, movements
- .byte 0x4f
- .2byte \index
- .4byte \movements
- .endm
-
- @ Apparent clone of applymovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything.
- @ This command in fact uses variables to access the Person event ID. So, for example, if you setvar 0x8000 to 0x3, and then use applymovementpos 0x8000 @move1, Person event 3 will have the movements at @move1 applied to them. Thank you Shiny Quagsire for bringing this to my attention.
- .macro movecoords variable, movements
- .byte 0x50
- .2byte \variable
- .4byte \movements
- .endm
-
- @ Blocks script execution until the movements being applied to the specified (index) Person event finish. If the specified Person event is 0x0000, then the command will block script execution until all Person events affected by applymovement finish their movements. If the specified Person event is not currently being manipulated with applymovement, then this command does nothing.
- .macro waitmove index
- .byte 0x51
- .2byte \index
- .endm
-
- @ Apparent clone of waitmovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything.
- .macro waitmovexy index, X, Y
- .byte 0x52
- .2byte \index
- .byte \X
- .byte \Y
- .endm
-
- @ Attempts to hide the specified (local_ID, a local ID) Person event on the current map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing.
- .macro disappear local_ID
- .byte 0x53
- .2byte \local_ID
- .endm
-
- @ Clone of hidesprite that also moves the Person? Test it!
- .macro disappearxy index, X, Y
- .byte 0x54
- .2byte \index
- .byte \X
- .byte \Y
- .endm
-
- .macro reappear word
- .byte 0x55
- .2byte \word
- .endm
-
- .macro reappearxy word, byte1, byte2
- .byte 0x56
- .2byte \word
- .byte \byte1
- .byte \byte2
- .endm
-
- .macro movesprite word1, word2, word3
+ .2byte \decoration
+ .endm
+
+ @ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open.
+ @ 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.
+ @ 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.
+ @ 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.
+ @ 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.
+ .macro setobjectxy index, x, y
.byte 0x57
- .2byte \word1
- .2byte \word2
- .2byte \word3
+ .2byte \index
+ .2byte \x
+ .2byte \y
.endm
- .macro spritevisible word, byte1, byte2
+ .macro showobjectat index, map
.byte 0x58
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .2byte \index
+ map \map
.endm
- .macro spriteinvisible word, byte1, byte2
+ .macro hideobjectat index, map
.byte 0x59
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .2byte \index
+ map \map
.endm
- @ If the script was called by a Person event, then that Person will turn to face toward the tile that the player is stepping off of.
- .macro faceplayer
+ @ 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
.byte 0x5a
.endm
- .macro spriteface word, byte
+ .macro turnobject index, direction
.byte 0x5b
- .2byte \word
- .byte \byte
+ .2byte \index
+ .byte \direction
.endm
@ If the Trainer flag for Trainer index is not set, this command does absolutely nothing.
- .macro trainerbattle byte, word1, word2, pointer1, pointer2, pointer3, pointer4
+ .macro trainerbattle type, trainer, word, pointer1, pointer2, pointer3, pointer4
.byte 0x5c
- .byte \byte
- .2byte \word1
- .2byte \word2
- .4byte \pointer1
- .4byte \pointer2
- .4byte \pointer3
- .4byte \pointer4
+ .byte \type
+ .2byte \trainer
+ .2byte \word
+ .if \type == 0
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 1
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ event script
+ .elseif \type == 2
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ event script
+ .elseif \type == 3
+ .4byte \pointer1 @ text
+ .elseif \type == 4
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .elseif \type == 5
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 6
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .4byte \pointer4 @ event script
+ .elseif \type == 7
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .elseif \type == 8
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .4byte \pointer4 @ event script
+ .elseif \type == 9
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 10
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 11
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 12
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .endif
.endm
+
@ 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 reptrainerbattle
+ .macro trainerbattlebegin
.byte 0x5d
.endm
- .macro endtrainerbattle
+ @ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c)
+ .macro gotopostbattlescript
.byte 0x5e
.endm
- .macro endtrainerbattle2
+ @ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c)
+ .macro gotobeatenscript
.byte 0x5f
.endm
@@ -612,38 +699,38 @@
.2byte \trainer
.endm
- @ Sets Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.)
- .macro cleartrainerflag trainer
+ @ Sets Flag (trainer + 0x500).
+ .macro settrainerflag trainer
.byte 0x61
.2byte \trainer
.endm
- @ Clears Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.)
- .macro settrainerflag trainer
+ @ Clears Flag (trainer + 0x500).
+ .macro cleartrainerflag trainer
.byte 0x62
.2byte \trainer
.endm
- .macro movespriteperm word1, word2, word3
+ .macro setobjectxyperm index, x, y
.byte 0x63
- .2byte \word1
- .2byte \word2
- .2byte \word3
+ .2byte \index
+ .2byte \x
+ .2byte \y
.endm
- .macro moveoffscreen word
+ .macro moveobjectoffscreen index
.byte 0x64
- .2byte \word
+ .2byte \index
.endm
- .macro spritebehave word, byte
+ .macro setobjectmovementtype word, byte
.byte 0x65
.2byte \word
.byte \byte
.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 waittext
+ .macro waitmessage
.byte 0x66
.endm
@@ -653,81 +740,79 @@
.4byte \text
.endm
- @ Holds the current message box open until the player presses a key. The message box is then closed.
- .macro closebutton
+ @ Closes the current message box.
+ .macro closemessage
.byte 0x68
.endm
- @ Ceases movement for all OWs on-screen.
- .macro lockall
+ @ Ceases movement for all Objects on-screen.
+ .macro lockall
.byte 0x69
.endm
- @ If the script was called by a Person event, then that Person's movement will cease.
- .macro lock
+ @ If the script was called by an Object, then that Object's movement will cease.
+ .macro lock
.byte 0x6a
.endm
- @ Resumes normal movement for all OWs on-screen, and closes any standard message boxes that are still open.
- .macro releaseall
+ @ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open.
+ .macro releaseall
.byte 0x6b
.endm
- @ If the script was called by a Person event, then that Person's movement will resume. This command also closes any standard message boxes that are still open.
- .macro release
+ @ 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
.byte 0x6c
.endm
@ Blocks script execution until the player presses any key.
- .macro waitbutton
+ .macro waitbuttonpress
.byte 0x6d
.endm
@ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES".
- .macro yesnobox X, Y
+ .macro yesnobox x, y
.byte 0x6e
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoice X, Y, list, B
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ .macro multichoice x, y, list, b
.byte 0x6f
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.byte \list
- .byte \B
+ .byte \b
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoicedef X, Y, list, default, B
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ .macro multichoicedefault x, y, list, default, b
.byte 0x70
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.byte \list
.byte \default
- .byte \B
+ .byte \b
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box.
- .macro multichoicerow X, Y, list, per_row, B
+ .macro multichoicegrid x, y, list, per_row, B
.byte 0x71
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.byte \list
.byte \per_row
.byte \B
.endm
- .macro showbox byte1, byte2, byte3, byte4
+ @ Nopped in Emerald.
+ .macro drawbox
.byte 0x72
- .byte \byte1
- .byte \byte2
- .byte \byte3
- .byte \byte4
.endm
- .macro hidebox byte1, byte2, byte3, byte4
+ @ Nopped in Emerald, but still consumes parameters.
+ .macro erasebox byte1, byte2, byte3, byte4
.byte 0x73
.byte \byte1
.byte \byte2
@@ -735,7 +820,8 @@
.byte \byte4
.endm
- .macro clearbox byte1, byte2, byte3, byte4
+ @ Nopped in Emerald, but still consumes parameters.
+ .macro drawboxtext byte1, byte2, byte3, byte4
.byte 0x74
.byte \byte1
.byte \byte2
@@ -743,33 +829,33 @@
.byte \byte4
.endm
- @ Displays a box containing the front sprite for the specified (species) Pokmon species.
- .macro showpokepic species, X, Y
+ @ Displays a box containing the front sprite for the specified (species) Pokemon species.
+ .macro drawmonpic species, x, y
.byte 0x75
.2byte \species
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Hides all boxes displayed with showpokepic.
- .macro hidepokepic
+ @ Hides all boxes displayed with drawmonpic.
+ .macro erasemonpic
.byte 0x76
.endm
- @ In FireRed, this command is a nop. (The argument is discarded.)
- .macro showcontestwinner a
+ @ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.)
+ .macro drawcontestwinner a
.byte 0x77
.byte \a
.endm
- @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters.
- .macro braille text
+ @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the box's size and position, but in Emerald these are calculated automatically).
+ .macro braillemessage text
.byte 0x78
.4byte \text
.endm
- @ Gives the player one of the specified (species) Pokmon at level level holding item. The unknown arguments should all be zeroes.
- .macro givepokemon species, level, item, unknown1, unknown2, unknown3
+ @ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes.
+ .macro givemon species, level, item, unknown1, unknown2, unknown3
.byte 0x79
.2byte \species
.byte \level
@@ -779,81 +865,81 @@
.byte \unknown3
.endm
- .macro giveegg word
+ .macro giveegg species
.byte 0x7a
- .2byte \word
+ .2byte \species
.endm
- .macro setpokemove 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 Pokmon 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 Pokmon that knows the move. If not, LASTRESULT is set to 0x0006.
- .macro checkattack index
+ @ 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.
+ .macro checkpartymove index
.byte 0x7c
.2byte \index
.endm
- @ Writes the name of the Pokmon at index species to the specified buffer.
- .macro bufferpoke out, species
+ @ Writes the name of the Pokemon at index species to the specified buffer.
+ .macro bufferspeciesname out, species
.byte 0x7d
.byte \out
.2byte \species
.endm
- @ Writes the name of the first Pokmon in the player's party to the specified buffer.
- .macro bufferfirstpoke out
+ @ Writes the name of the species of the first Pokemon in the player's party to the specified buffer.
+ .macro bufferleadmonspeciesname out
.byte 0x7e
.byte \out
.endm
- @ Writes the name of the Pokmon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
- .macro bufferpartypoke out, slot
+ @ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
+ .macro bufferpartymonnick out, slot
.byte 0x7f
.byte \out
.2byte \slot
.endm
@ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro bufferitem out, item
+ .macro bufferitemname out, item
.byte 0x80
.byte \out
.2byte \item
.endm
- @ In FireRed, this command is a nop. (The first argument is discarded immediately. The second argument is read, but not used for anything.)
- .macro bufferdecor a, b
+ @ Writes the name of the decoration at index decoration to the specified buffer. In FireRed, this command is a nop.
+ .macro bufferdecorationname out, decoration
.byte 0x81
- .byte \a
- .2byte \b
+ .byte \out
+ .2byte \decoration
.endm
- @ Writes the name of the attack at index attack to the specified buffer.
- .macro bufferattack out, attack
+ @ Writes the name of the move at index move to the specified buffer.
+ .macro buffermovename out, move
.byte 0x82
.byte \out
- .2byte \attack
+ .2byte \move
.endm
@ Converts the value of input to a decimal string, and writes that string to the specified buffer.
- .macro buffernum out, input
+ .macro buffernumberstring out, input
.byte 0x83
.byte \out
.2byte \input
.endm
- @ Writes the standard string identified by index to the specified buffer. Specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption (I've observed destruction of the stored player name and crashes when entering/exiting certain menu screens).
- .macro bufferstd out, index
+ @ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all, so specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption.
+ .macro bufferstdstring out, index
.byte 0x84
.byte \out
.2byte \index
.endm
@ Copies the string at offset to the specified buffer.
- .macro buffertext out, offset
+ .macro bufferstring out, offset
.byte 0x85
.byte \out
.4byte \offset
@@ -865,45 +951,49 @@
.4byte \products
.endm
- @ Apparent clone of pokemart.
- .macro pokemartdecor products
+ @ Opens the Pokemart system and treats the list of items as decorations.
+ .macro pokemartdecoration products
.byte 0x87
.4byte \products
.endm
- @ Apparent clone of pokemart.
- .macro pokemartbp products
+ @ Apparent clone of pokemartdecoration.
+ .macro pokemartdecoration2 products
.byte 0x88
.4byte \products
.endm
- .macro pokecasino word
+ @ Starts up the slot machine minigame.
+ .macro playslotmachine word
.byte 0x89
.2byte \word
.endm
- @ In FireRed, this command is a nop.
- .macro event_8a
+ @ Sets a berry tree's specific berry and growth stage. In FireRed, this command is a nop.
+ .macro setberrytree tree_id, berry, growth_stage
.byte 0x8a
+ .byte \tree_id
+ .byte \berry
+ .byte \growth_stage
.endm
- @ In FireRed, this command sets the byte at 0x03000EA8 to 0x01. I do not know what that means.
- .macro choosecontestpkmn
+ @ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01.
+ .macro choosecontestmon
.byte 0x8b
.endm
- @ In FireRed, this command is a nop.
- .macro startcontest
+ @ Starts a contest. In FireRed, this command is a nop.
+ .macro startcontest
.byte 0x8c
.endm
- @ In FireRed, this command is a nop.
- .macro showcontestresults
+ @ Shows the results of a contest. In FireRed, this command is a nop.
+ .macro showcontestresults
.byte 0x8d
.endm
- @ In FireRed, this command is a nop.
- .macro contestlinktransfer
+ @ Starts a contest over a link connection. In FireRed, this command is a nop.
+ .macro contestlinktransfer
.byte 0x8e
.endm
@@ -921,7 +1011,7 @@
.endm
@ If check is 0x00, this command subtracts value from the player's money.
- .macro paymoney value, check
+ .macro takemoney value, check
.byte 0x91
.4byte \value
.byte \check
@@ -935,106 +1025,107 @@
.endm
@ Spawns a secondary box showing how much money the player has.
- .macro showmoney X, Y
+ .macro showmoneybox x, y, check
.byte 0x93
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
+ .byte \check
.endm
@ Hides the secondary box spawned by showmoney.
- .macro hidemoney X, Y
+ .macro hidemoneybox
.byte 0x94
- .byte \X
- .byte \Y
.endm
- @ Updates the secondary box spawned by showmoney. (What does it do with its arguments?)
- .macro updatemoney X, Y
+ @ Updates the secondary box spawned by showmoney. Consumes but does not use arguments.
+ .macro updatemoneybox x, y
.byte 0x95
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ In FireRed, this command is a nop.
- .macro event_96
+ @ Gets the price reduction for the index given. In FireRed, this command is a nop.
+ .macro getpricereduction index
.byte 0x96
+ .2byte \index
.endm
- @ Fades the screen to black or back, using the specified effect. Effect 0x00 fades in, and effect 0x01 fades out. I don't know if other effects exist.
+ @ 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.
.macro fadescreen effect
.byte 0x97
.byte \effect
.endm
- .macro fadescreendelay byte1, byte2
+ @ 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. Other modes may exist.
+ .macro fadescreenspeed effect, speed
.byte 0x98
- .byte \byte1
- .byte \byte2
+ .byte \effect
+ .byte \speed
.endm
- .macro darken word
+ .macro setflashradius word
.byte 0x99
.2byte \word
.endm
- .macro lighten byte
+ .macro animateflash byte
.byte 0x9a
.byte \byte
.endm
- .macro message2 pointer
+ .macro messageautoscroll pointer
.byte 0x9b
.4byte \pointer
.endm
@ Executes the specified field move animation.
- .macro doanimation animation
+ .macro dofieldeffect animation
.byte 0x9c
.2byte \animation
.endm
- @ Tells the game which party Pokmon to use for the next field move animation.
- .macro setanimation animation, slot
+ @ Sets up the field effect argument argument with the value value.
+ .macro setfieldeffectargument argument, param
.byte 0x9d
- .byte \animation
- .2byte \slot
+ .byte \argument
+ .2byte \param
.endm
@ Blocks script execution until all playing field move animations complete.
- .macro checkanimation animation
+ .macro waitfieldeffect animation
.byte 0x9e
.2byte \animation
.endm
- @ Sets which healing place the player will return to if all of the Pokmon in their party faint. A list of available healing places can be found on PokeCommunity.
- .macro sethealplace flightspot
+ @ Sets which healing place the player will return to if all of the Pokemon in their party faint.
+ .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 checkgender
+ .macro checkplayergender
.byte 0xa0
.endm
- @ Plays the specified (species) Pokmon's cry. You can use waitcry to block script execution until the sound finishes.
- .macro pokecry species, effect
+ @ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes.
+ .macro playmoncry species, effect
.byte 0xa1
.2byte \species
.2byte \effect
.endm
- @ Changes the tile at (X, Y) on the current map.
- .macro setmaptile X, Y, tile_number, tile_attrib
+ @ Changes the metatile at (x, y) on the current map.
+ .macro setmetatile x, y, metatile_number, tile_attrib
.byte 0xa2
- .2byte \X
- .2byte \Y
- .2byte \tile_number
+ .2byte \x
+ .2byte \y
+ .2byte \metatile_number
.2byte \tile_attrib
.endm
@ Queues a weather change to the default weather for the map.
- .macro resetweather
+ .macro resetweather
.byte 0xa3
.endm
@@ -1045,108 +1136,110 @@
.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
@ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors).
- .macro tileeffect subroutine
+ .macro setstepcallback subroutine
.byte 0xa6
.byte \subroutine
.endm
- .macro setmapfooter word
+ .macro setmaplayoutindex index
.byte 0xa7
- .2byte \word
+ .2byte \index
.endm
- .macro spritelevelup word, byte1, byte2, byte3
+ .macro setobjectpriority index, map, priority
.byte 0xa8
- .2byte \word
- .byte \byte1
- .byte \byte2
- .byte \byte3
+ .2byte \index
+ map \map
+ .byte \priority
.endm
- .macro restorespritelevel word, byte1, byte2
+ .macro resetobjectpriority index, map
.byte 0xa9
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .2byte \index
+ map \map
.endm
- .macro createvsprite byte1, byte2, word1, word2, byte3, byte4
+ .macro createvobject sprite, byte2, x, y, elevation, direction
.byte 0xaa
- .byte \byte1
+ .byte \sprite
.byte \byte2
- .2byte \word1
- .2byte \word2
- .byte \byte3
- .byte \byte4
+ .2byte \x
+ .2byte \y
+ .byte \elevation
+ .byte \direction
.endm
- .macro vspriteface byte1, byte2
+ .macro turnvobject index, direction
.byte 0xab
- .byte \byte1
- .byte \byte2
+ .byte \index
+ .byte \direction
.endm
- @ Queues the opening of the door tile at (X, Y) with an animation.
- .macro setdooropened X, Y
+ @ Opens the door metatile at (X, Y) with an animation.
+ .macro opendoor x, y
.byte 0xac
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ Queues the closing of the door tile at (X, Y) with an animation.
- .macro setdoorclosed X, Y
+ @ Closes the door metatile at (X, Y) with an animation.
+ .macro closedoor x, y
.byte 0xad
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ Executes the state changes queued with setdooropened, setdoorclosed, setdooropened2, and setdoorclosed2.
- .macro doorchange
+ @ Waits for the door animation started with opendoor or closedoor to finish.
+ .macro waitdooranim
.byte 0xae
.endm
- @ Queues the opening of the door tile at (X, Y) without an animation.
- .macro setdooropened2 X, Y
+ @ Sets the door tile at (x, y) to be open without an animation.
+ .macro setdooropen x, y
.byte 0xaf
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ Queues the closing of the door tile at (X, Y) without an animation.
- .macro setdoorclosed2 X, Y
+ @ Sets the door tile at (x, y) to be closed without an animation.
+ .macro setdoorclosed x, y
.byte 0xb0
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ In FireRed, this command is a nop.
- .macro event_b1
+ @ In Emerald, this command consumes its parameters and does nothing. In FireRed, this command is a nop.
+ .macro addelevmenuitem a, b, c, d
.byte 0xb1
+ .byte \a
+ .2byte \b
+ .2byte \c
+ .2byte \d
.endm
- @ In FireRed, this command is a nop.
- .macro event_b2
+ @ In FireRed and Emerald, this command is a nop.
+ .macro showelevmenu
.byte 0xb2
.endm
- .macro checkcoins word
+ .macro checkcoins out
.byte 0xb3
- .2byte \word
+ .2byte \out
.endm
- .macro givecoins word
+ .macro givecoins count
.byte 0xb4
- .2byte \word
+ .2byte \count
.endm
- .macro removecoins 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.
@@ -1157,18 +1250,17 @@
.2byte \item
.endm
- @ Starts a wild battle against the Pokmon generated by setwildbattle. Blocks script execution until the battle finishes.
- .macro dowildbattle
+ @ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
+ .macro dowildbattle
.byte 0xb7
.endm
- .macro setvaddress long, word
+ .macro setvaddress pointer
.byte 0xb8
- .4byte \long
- .2byte \word
+ .4byte \pointer
.endm
- .macro vjump pointer
+ .macro vgoto pointer
.byte 0xb9
.4byte \pointer
.endm
@@ -1178,19 +1270,19 @@
.4byte \pointer
.endm
- .macro if5 byte, pointer
+ .macro vgoto_if byte, pointer
.byte 0xbb
.byte \byte
.4byte \pointer
.endm
- .macro if6 byte, pointer
+ .macro vcall_if byte, pointer
.byte 0xbc
.byte \byte
.4byte \pointer
.endm
- .macro vtext pointer
+ .macro vmessage pointer
.byte 0xbd
.4byte \pointer
.endm
@@ -1200,46 +1292,50 @@
.4byte \pointer
.endm
- .macro vbuffer byte, pointer
+ .macro vbufferstring byte, pointer
.byte 0xbf
.byte \byte
.4byte \pointer
.endm
@ Spawns a secondary box showing how many Coins the player has.
- .macro showcoins X, Y
+ .macro showcoinsbox x, y
.byte 0xc0
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Hides the secondary box spawned by showcoins. It doesn't appear to use its arguments, but they are still required.
- .macro hidecoins X, Y
+ @ Hides the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
+ .macro hidecoinsbox x, y
.byte 0xc1
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Updates the secondary box spawned by showcoins. (What does it do with its arguments?)
- .macro updatecoins X, Y
+ @ Updates the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
+ .macro updatecoinsbox x, y
.byte 0xc2
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Increases the value of the specified hidden variable by 1. The hidden variable's value will not be allowed to exceed 0x00FFFFFF.
- .macro inccounter a
+ @ Increases the value of the specified game stat by 1. The stat's value will not be allowed to exceed 0x00FFFFFF.
+ .macro incrementgamestat stat
.byte 0xc3
- .byte \a
+ .byte \stat
.endm
- @ Clone of warp... Except that it doesn't appear to have any effect when used in some of FireRed's default level scripts. (If it did, Berry Forest would be impossible to enter...)
- .macro warp6
+ @ Sets the destination that using an Escape Rope or Dig will take the player to.
+ .macro setescapewarp map, warp, x, y
.byte 0xc4
+ map \map
+ .byte \warp
+ .2byte \x
+ .2byte \y
.endm
@ Blocks script execution until cry finishes.
- .macro waitpokecry
+ .macro waitmoncry
.byte 0xc5
.endm
@@ -1263,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
@@ -1284,82 +1380,81 @@
.4byte \value
.endm
- @ Makes the Pokmon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
- .macro setobedience slot
+ @ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
+ .macro setmonobedient slot
.byte 0xcd
.2byte \slot
.endm
- @ Checks if the Pokmon in the specified slot of the player's party is obedient. If the Pokmon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokmon is obedient (or if the specified slot is empty or invalid), 0x0000 is written.
- .macro checkobedience slot
+ @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written.
+ .macro checkmonobedience slot
.byte 0xce
.2byte \slot
.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 0x020370A4.
- .macro execram
+ @ 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
.byte 0xcf
.endm
@ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot.
- .macro setworldflag worldmapflag
+ .macro setworldmapflag worldmapflag
.byte 0xd0
.2byte \worldmapflag
.endm
@ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source]
- .macro warpteleport2
+ .macro warpteleport2 map, warp, x, y
.byte 0xd1
+ map \map
+ .byte \warp
+ .2byte \x
+ .2byte \y
.endm
- @ Changes the location where the player caught the Pokmon in the specified slot of their party. A list of valid catch locations can be found on PokeCommunity.
- .macro setcatchlocale slot, location
+ @ Changes the location where the player caught the Pokemon in the specified slot of their party.
+ .macro setmonmetlocation slot, location
.byte 0xd2
.2byte \slot
.byte \location
.endm
- @ Sets variable 0x8004 to a value based on the width of the braille string at text.
- .macro braille2 text
+ .macro mossdeepgym1 unknown
.byte 0xd3
- .4byte \text
+ .2byte \unknown
.endm
- @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro storeitems out, item, quantity
+ .macro mossdeepgym2
.byte 0xd4
- .byte \out
- .2byte \item
- .2byte \quantity
.endm
@ In FireRed, this command is a nop.
- .macro event_d5
+ .macro mossdeepgym3 var
.byte 0xd5
+ .2byte \var
.endm
- .macro event_d6
+ .macro mossdeepgym4
.byte 0xd6
.endm
- .macro warp7 byte1, byte2, byte3, word1, word2
+ .macro warp7 map, byte, word1, word2
.byte 0xd7
- .byte \byte1
- .byte \byte2
- .byte \byte3
+ map \map
+ .byte \byte
.2byte \word1
.2byte \word2
.endm
- .macro event_d8
+ .macro cmdD8
.byte 0xd8
.endm
- .macro event_d9
+ .macro cmdD9
.byte 0xd9
.endm
- .macro hidebox2
+ .macro hidebox2
.byte 0xda
.endm
@@ -1368,21 +1463,21 @@
.4byte \pointer
.endm
- .macro fadescreen3 byte
+ .macro fadescreenswapbuffers byte
.byte 0xdc
.byte \byte
.endm
- .macro buffertrainerclass byte, word
+ .macro buffertrainerclassname out, class
.byte 0xdd
- .byte \byte
- .2byte \word
+ .byte \out
+ .2byte \class
.endm
- .macro buffertrainername byte, word
+ .macro buffertrainername out, trainer
.byte 0xde
- .byte \byte
- .2byte \word
+ .byte \out
+ .2byte \trainer
.endm
.macro pokenavcall pointer
@@ -1390,24 +1485,62 @@
.4byte \pointer
.endm
- .macro warp8 byte1, byte2, byte3, word1, word2
+ .macro warp8 map, byte, word1, word2
.byte 0xe0
- .byte \byte1
- .byte \byte2
- .byte \byte3
+ map \map
+ .byte \byte
.2byte \word1
.2byte \word2
.endm
- .macro buffercontesttype byte, word
+ .macro buffercontesttypestring out, word
.byte 0xe1
- .byte \byte
+ .byte \out
.2byte \word
.endm
- .macro storeitems2 byte, word1, word2
+ @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
+ .macro bufferitemnameplural out, item, quantity
.byte 0xe2
- .byte \byte
- .2byte \word1
- .2byte \word2
+ .byte \out
+ .2byte \item
+ .2byte \quantity
+ .endm
+
+
+@ Supplementary
+
+ .macro goto_eq dest
+ goto_if 1, \dest
+ .endm
+
+ .macro switch var
+ copyvar 0x8000, \var
+ .endm
+
+ .macro case condition, dest
+ compare_var_to_value 0x8000, \condition
+ goto_eq \dest
+ .endm
+
+ .macro msgbox text, type=4
+ loadword 0, \text
+ callstd \type
+ .endm
+
+ @ Message box types
+ MSGBOX_YESNO = 5
+
+ YES = 1
+ NO = 0
+
+ .macro giveitem_std item, amount=1, function=0
+ setorcopyvar 0x8000, \item
+ setorcopyvar 0x8001, \amount
+ callstd \function
+ .endm
+
+ .macro givedecoration_std decoration
+ setorcopyvar 0x8000, \decoration
+ callstd 7
.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 452f9b714..5367ad712 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -1,15 +1,115 @@
.macro new_map_group
- .set cur_map_group, cur_map_group + 1
+ inc cur_map_group
.set cur_map_num, 0
.endm
.macro map_group map_name
.set GROUP_\map_name, cur_map_group
.set MAP_\map_name, cur_map_num
- .set cur_map_num, cur_map_num + 1
+ 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
+ .endm
+
+ .macro map_script_2 word1, word2, address
+ .2byte \word1
+ .2byte \word2
+ .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
+ .2byte \x
+ .2byte \y
+ .byte \elevation, \movement_type, \radius, \filler2
+ .2byte \trainer_type, \sight_radius_tree_etc
+ .4byte \script
+ .2byte \event_flag
+ .byte \filler3, \filler4
+ inc _num_npcs
+ .endm
+
+ .macro warp_def x, y, byte, warp, map
+ .2byte \x, \y
+ .byte \byte, \warp
+ warp_map \map
+ inc _num_warps
+ .endm
+
+ .macro coord_event x, y, byte1, byte2, word1, word2, word3, script
+ .2byte \x, \y
+ .byte \byte1, \byte2
+ .2byte \word1, \word2, \word3
+ .4byte \script
+ inc _num_traps
+ .endm
+
+ .macro bg_event x, y, byte, kind, word, arg6, arg7, arg8
+ .2byte \x, \y
+ .byte \byte, \kind
+ .2byte \word
+ .if \kind < 5
+ .4byte \arg6
+ .else
+ .2byte \arg6
+ .byte \arg7, \arg8
+ .endif
+ inc _num_signs
+ .endm
+
+ .macro map_events npcs, warps, traps, signs
+ .byte _num_npcs, _num_warps, _num_traps, _num_signs
+ .4byte \npcs, \warps, \traps, \signs
+ reset_map_events
+ .endm
+
+ .macro reset_map_events
+ .set _num_npcs, 0
+ .set _num_warps, 0
+ .set _num_traps, 0
+ .set _num_signs, 0
+ .endm
+
+ reset_map_events
+
+
+ .equiv connection_down, 1
+ .equiv connection_up, 2
+ .equiv connection_left, 3
+ .equiv connection_right, 4
+ .equiv connection_dive, 5
+ .equiv connection_emerge, 6
+
+ .macro connection direction, offset, map, filler
+ .4byte connection_\direction
+ .4byte \offset
+ map \map
+ .space 2
+ .endm
diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc
new file mode 100644
index 000000000..5a810c497
--- /dev/null
+++ b/asm/macros/movement.inc
@@ -0,0 +1,123 @@
+ .macro create_movement name
+ enum _\name
+ .macro \name
+ .byte _\name
+ .endm
+ .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
+
+ 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 0xfe
+ create_movement 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 94cb3e9e6..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 sub_80D439C
- 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 sub_80D439C
-sub_80D439C: @ 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 sub_80D439C
-
- thumb_func_start sub_80D43F0
-sub_80D43F0: @ 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 sub_80D43F0
-
- 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 sub_80D460C
-sub_80D460C: @ 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 sub_80D460C
-
- thumb_func_start sub_80D467C
-sub_80D467C: @ 80D467C
- movs r0, 0
- bx lr
- thumb_func_end sub_80D467C
-
- thumb_func_start sub_80D4680
-sub_80D4680: @ 80D4680
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_80D43F0
- 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 sub_80D4680
-
- 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
index 6194f0487..9c6cd1253 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -127,7 +127,7 @@ InitMainMenu: @ 802F6F4
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
@@ -1487,7 +1487,7 @@ _08030460:
ldr r0, =gMain
ldr r1, =CB2_ReinitMainMenu
str r1, [r0, 0x8]
- ldr r0, =CB2_OptionsMenu
+ ldr r0, =CB2_InitOptionMenu
b _0803048A
.pool
_08030478:
@@ -1495,7 +1495,7 @@ _08030478:
b _0803048A
.pool
_08030480:
- ldr r0, =sub_8178974
+ ldr r0, =CB2_InitMysteryEventMenu
b _0803048A
.pool
_08030488:
@@ -1608,7 +1608,7 @@ _08030578:
ldr r0, =gUnknown_02022D06
strh r4, [r0]
bl FreeAllWindowBuffers
- ldr r0, =c2_title_screen_1
+ ldr r0, =CB2_InitTitleScreen
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -1929,7 +1929,7 @@ task_new_game_prof_birch_speech_1: @ 80307B0
movs r1, 0x1
movs r2, 0x10
bl LoadPalette
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetSpriteData
bl FreeAllSpritePalettes
bl dp13_810BB8C
@@ -2215,7 +2215,7 @@ sub_8030A70: @ 8030A70
str r2, [sp, 0x10]
movs r2, 0x70
movs r3, 0x3A
- bl sub_8076438
+ bl CreatePokeballSpriteToReleaseMon
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
@@ -3025,7 +3025,7 @@ task_new_game_prof_birch_speech_part2_4: @ 8031188
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3708,7 +3708,7 @@ new_game_prof_birch_speech_part2_start: @ 8031678
strh r0, [r4, 0x16]
ldr r0, =0x0000ffc4
strh r0, [r4, 0x10]
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetSpriteData
bl FreeAllSpritePalettes
bl dp13_810BB8C
@@ -3948,7 +3948,7 @@ AddBirchSpeechObjects: @ 803192C
movs r1, 0x78
movs r2, 0x3C
movs r3, 0
- bl sub_80B5E6C
+ bl CreateTrainerSprite
lsls r0, 24
lsrs r0, 24
lsls r2, r0, 4
@@ -3981,7 +3981,7 @@ AddBirchSpeechObjects: @ 803192C
movs r1, 0x78
movs r2, 0x3C
movs r3, 0
- bl sub_80B5E6C
+ bl CreateTrainerSprite
lsls r0, 24
lsrs r0, 24
lsls r2, r0, 4
@@ -4783,7 +4783,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4
ldr r0, [r6]
ldrb r0, [r0, 0x14]
lsrs r0, 3
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r1, [r0]
movs r2, 0x90
lsls r2, 1
@@ -4793,7 +4793,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4
ldr r0, [r6]
ldrb r0, [r0, 0x14]
lsrs r0, 3
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r0, [r0, 0x4]
movs r1, 0x20
movs r2, 0x20
diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s
index f10dff946..9802c3151 100755..100644
--- a/asm/map_name_popup.s
+++ b/asm/map_name_popup.s
@@ -518,7 +518,7 @@ _080D4C0A:
lsls r1, r4, 4
subs r1, r4
lsls r1, 6
- ldr r2, =gUnknown_0857DD04
+ ldr r2, =gMapPopUp_Outline_Table
adds r1, r2
movs r2, 0x80
lsls r2, 3
@@ -541,7 +541,7 @@ _080D4C0A:
.pool
_080D4C6C:
lsls r0, r4, 5
- ldr r1, =gUnknown_0857F384
+ ldr r1, =gMapPopUp_Palette_Table
adds r0, r1
movs r1, 0xE0
movs r2, 0x20
@@ -550,7 +550,7 @@ _080D4C7A:
lsls r1, r4, 4
subs r1, r4
lsls r1, 6
- ldr r0, =gUnknown_0857C684
+ ldr r0, =gMapPopUp_Table
adds r1, r0
movs r0, 0x50
str r0, [sp]
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
index ee60814f5..97abc7fec 100644
--- a/asm/map_obj_lock.s
+++ b/asm/map_obj_lock.s
@@ -62,7 +62,7 @@ _080983E2:
thumb_func_start ScriptFreezeMapObjects
ScriptFreezeMapObjects: @ 80983E8
push {lr}
- bl player_bitmagic
+ bl FreezeMapObjects
ldr r0, =sub_80983A4
movs r1, 0x50
bl CreateTask
@@ -109,7 +109,7 @@ _0809842A:
cmp r0, 0
blt _08098452
adds r0, r1, 0
- bl sub_8097404
+ bl FreezeMapObject
movs r0, 0x1
strh r0, [r5, 0xA]
_08098452:
@@ -154,7 +154,7 @@ LockSelectedMapObject: @ 80984A0
push {r4,r5,lr}
ldr r4, =gSelectedMapObject
ldrb r0, [r4]
- bl sub_80974D0
+ bl FreezeMapObjectsExceptOne
ldr r0, =sub_8098400
movs r1, 0x50
bl CreateTask
@@ -171,7 +171,7 @@ LockSelectedMapObject: @ 80984A0
cmp r0, 0
blt _080984DE
adds r0, r1, 0
- bl sub_8097404
+ bl FreezeMapObject
ldr r0, =gTasks
lsls r1, r5, 2
adds r1, r5
@@ -256,7 +256,7 @@ sub_8098574: @ 8098574
lsls r0, 2
ldr r1, =gMapObjects
adds r0, r1
- ldr r1, =gScriptFacing
+ ldr r1, =gSpecialVar_Facing
ldrb r1, [r1]
bl FieldObjectFaceOppositeDirection
pop {r0}
@@ -317,7 +317,7 @@ _080985E8:
cmp r0, 0
blt _0809860C
adds r0, r1, 0
- bl sub_8097404
+ bl FreezeMapObject
movs r0, 0x1
strh r0, [r5, 0xA]
_0809860C:
@@ -345,15 +345,15 @@ sub_8098630: @ 8098630
mov r6, r8
push {r6,r7}
movs r0, 0
- bl sub_80B47E0
+ bl GetChosenApproachingTrainerMapObjectId
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_030060A8
+ ldr r0, =gNoOfApproachingTrainers
ldrb r0, [r0]
cmp r0, 0x2
bne _080986E0
movs r0, 0x1
- bl sub_80B47E0
+ bl GetChosenApproachingTrainerMapObjectId
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
@@ -385,7 +385,7 @@ sub_8098630: @ 8098630
cmp r0, 0
blt _0809869A
adds r0, r1, 0
- bl sub_8097404
+ bl FreezeMapObject
movs r0, 0x1
strh r0, [r6, 0xA]
_0809869A:
@@ -410,14 +410,14 @@ _0809869A:
cmp r0, 0
blt _0809871A
adds r0, r1, 0
- bl sub_8097404
+ bl FreezeMapObject
movs r0, 0x1
strh r0, [r4, 0xA]
b _0809871A
.pool
_080986E0:
adds r0, r4, 0
- bl sub_80974D0
+ bl FreezeMapObjectsExceptOne
ldr r0, =sub_80985BC
movs r1, 0x50
bl CreateTask
@@ -439,7 +439,7 @@ _080986E0:
cmp r0, 0
blt _0809871A
adds r0, r1, 0
- bl sub_8097404
+ bl FreezeMapObject
movs r0, 0x1
strh r0, [r5, 0xA]
_0809871A:
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
index bfcf8742a..af4764d76 100644
--- a/asm/mauville_old_man.s
+++ b/asm/mauville_old_man.s
@@ -157,7 +157,7 @@ sub_81201C8: @ 81201C8
thumb_func_start sub_81201DC
sub_81201DC: @ 81201DC
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_81201C8
lsls r0, 24
lsrs r0, 24
@@ -170,7 +170,7 @@ sub_81201DC: @ 81201DC
thumb_func_start sub_81201F4
sub_81201F4: @ 81201F4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r2, =0x00002e51
@@ -347,7 +347,7 @@ sub_8120340: @ 8120340
thumb_func_start sub_8120358
sub_8120358: @ 8120358
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r2, =0x00002e28
@@ -379,14 +379,14 @@ sub_812038C: @ 812038C
ldr r0, =0x0000ffff
cmp r1, r0
bne _081203AC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081203B6
.pool
_081203AC:
ldr r0, =gStringVar1
bl CopyEasyChatWord
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_081203B6:
strh r0, [r1]
@@ -405,14 +405,14 @@ sub_81203C4: @ 81203C4
ldrb r0, [r2, 0x1]
cmp r0, 0xA
bne _081203EC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
strb r0, [r2, 0x1]
b _081203F2
.pool
_081203EC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081203F2:
@@ -503,7 +503,7 @@ _081204C4:
adds r0, 0x1
_081204C8:
strb r0, [r5, 0x1]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
pop {r4-r6}
@@ -800,7 +800,7 @@ sub_8120708: @ 8120708
adds r5, r0, 0
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
@@ -965,7 +965,7 @@ _08120850:
lsls r1, 1
adds r0, r1
strh r0, [r6, 0x6]
- ldr r4, =gMPlay_SE2
+ ldr r4, =gMPlayInfo_SE2
ldr r5, =0x0000ffff
ldrh r2, [r6, 0x6]
adds r0, r4, 0
@@ -1008,7 +1008,7 @@ _081208BC:
subs r0, 0x40
_081208C0:
strh r0, [r6, 0x8]
- ldr r4, =gMPlay_SE2
+ ldr r4, =gMPlayInfo_SE2
ldr r5, =0x0000ffff
ldrh r2, [r6, 0x6]
adds r0, r4, 0
@@ -1059,7 +1059,7 @@ _08120922:
lsls r0, 24
cmp r0, 0
bne _08120938
- ldr r0, =gMPlay_SE2
+ ldr r0, =gMPlayInfo_SE2
bl m4aMPlayStop
movs r0, 0x4
_08120936:
@@ -1228,7 +1228,7 @@ _08120A7E:
bne _08120AB0
movs r0, 0x6
bl FadeInBGM
- ldr r0, =gMPlay_SE2
+ ldr r0, =gMPlayInfo_SE2
movs r1, 0x2
bl m4aMPlayFadeOutTemporarily
bl EnableBothScriptContexts
@@ -2382,13 +2382,13 @@ _0812132C:
cmp r4, r0
bne _0812135C
_0812134E:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _08121364
.pool
_0812135C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
ldr r0, =gUnknown_03001178
strb r4, [r0]
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
index 423f653d9..90e846b97 100644
--- a/asm/menu_helpers.s
+++ b/asm/menu_helpers.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_8121DA0
-sub_8121DA0: @ 8121DA0
+ thumb_func_start ResetVramOamAndBgCntRegs
+ResetVramOamAndBgCntRegs: @ 8121DA0
push {r4,lr}
sub sp, 0xC
movs r0, 0
@@ -50,10 +50,10 @@ sub_8121DA0: @ 8121DA0
pop {r0}
bx r0
.pool
- thumb_func_end sub_8121DA0
+ thumb_func_end ResetVramOamAndBgCntRegs
- thumb_func_start sub_8121E10
-sub_8121E10: @ 8121E10
+ thumb_func_start ResetAllBgsCoordinates
+ResetAllBgsCoordinates: @ 8121E10
push {lr}
movs r0, 0
movs r1, 0
@@ -89,7 +89,7 @@ sub_8121E10: @ 8121E10
bl ChangeBgY
pop {r0}
bx r0
- thumb_func_end sub_8121E10
+ thumb_func_end ResetAllBgsCoordinates
thumb_func_start SetVBlankHBlankCallbacksToNull
@ void SetVBlankHBlankCallbacksToNull()
@@ -156,7 +156,7 @@ _08121EC0:
adds r1, r7, 0
adds r2, r4, 0
adds r3, r5, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
ldr r1, =gUnknown_0300117C
ldr r0, [sp, 0x34]
str r0, [r1]
@@ -177,8 +177,8 @@ _08121EC0:
.pool
thumb_func_end DisplayMessageAndContinueTask
- thumb_func_start sub_8121F20
-sub_8121F20: @ 8121F20
+ thumb_func_start RunTextPrintersRetIsActive
+RunTextPrintersRetIsActive: @ 8121F20
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -191,7 +191,7 @@ sub_8121F20: @ 8121F20
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8121F20
+ thumb_func_end RunTextPrintersRetIsActive
thumb_func_start Task_ContinueTaskAfterMessagePrints
@ void Task_ContinueTaskAfterMessagePrints(u8 taskId)
@@ -201,7 +201,7 @@ Task_ContinueTaskAfterMessagePrints: @ 8121F3C
lsrs r4, r0, 24
ldr r0, =gUnknown_0203A140
ldrb r0, [r0]
- bl sub_8121F20
+ bl RunTextPrintersRetIsActive
lsls r0, 16
cmp r0, 0
bne _08121F5A
@@ -277,7 +277,7 @@ Task_CallYesOrNoCallback: @ 8121FDC
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
@@ -512,7 +512,7 @@ itemid_80BF6D8_mail_related: @ 812217C
bne _081221A4
_08122192:
adds r0, r4, 0
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -752,8 +752,8 @@ _08122322:
bx r0
thumb_func_end sub_8122298
- thumb_func_start sub_8122328
-sub_8122328: @ 8122328
+ thumb_func_start LoadListMenuArrowsGfx
+LoadListMenuArrowsGfx: @ 8122328
push {lr}
ldr r0, =gUnknown_0859F514
bl LoadCompressedObjectPic
@@ -762,7 +762,7 @@ sub_8122328: @ 8122328
pop {r0}
bx r0
.pool
- thumb_func_end sub_8122328
+ thumb_func_end LoadListMenuArrowsGfx
thumb_func_start sub_8122344
sub_8122344: @ 8122344
diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s
index b923b53d0..b923b53d0 100755..100644
--- a/asm/menu_indicators.s
+++ b/asm/menu_indicators.s
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
index 7c927399f..dfc375fdf 100644
--- a/asm/mon_markings.s
+++ b/asm/mon_markings.s
@@ -21,7 +21,7 @@ sub_811F918: @ 811F918
ldr r0, [r0]
ldrb r0, [r0, 0x14]
lsrs r0, 3
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r3, =gUnknown_0203A124
ldr r2, [r3]
ldr r1, [r0]
@@ -480,7 +480,7 @@ sub_811FC80: @ 811FC80
adds r0, 0x1E
strh r5, [r0]
add r1, sp, 0x20
- ldr r0, =gUnknown_08DC9628
+ ldr r0, =gPokenavConditionMarker_Gfx
str r0, [sp, 0x20]
movs r0, 0xC8
lsls r0, 2
@@ -503,7 +503,7 @@ sub_811FC80: @ 811FC80
add r0, sp, 0x34
strh r6, [r0]
add r1, sp, 0x38
- ldr r0, =gUnknown_08DC9608
+ ldr r0, =gPokenavConditionMarker_Pal
str r0, [sp, 0x38]
adds r0, r6, 0x1
strh r0, [r1, 0x4]
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 ce8591981..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 sub_80D460C
-_08153DA4:
- bl party_compaction
- 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/rom4.s b/asm/overworld.s
index bf682fc51..492fcd2cb 100644
--- a/asm/rom4.s
+++ b/asm/overworld.s
@@ -8,7 +8,7 @@
thumb_func_start sub_8084620
sub_8084620: @ 8084620
push {r4,lr}
- ldr r0, =gUnknown_08271857
+ ldr r0, =EverGrandeCity_HallOfFame_EventScript_271857
bl ScriptContext2_RunNewScript
ldr r0, =gSaveBlock1Ptr
ldr r4, [r0]
@@ -21,7 +21,7 @@ sub_8084620: @ 8084620
lsrs r1, 1
adds r0, r4, 0
bl SetMoney
- bl sp000_heal_pokemon
+ bl HealPlayerParty
bl sub_8084720
bl copy_saved_warp3_bank_and_enter_x_to_warp1
bl warp_in
@@ -50,8 +50,8 @@ flag_var_implications_of_teleport_: @ 8084660
.pool
thumb_func_end flag_var_implications_of_teleport_
- thumb_func_start sub_808469C
-sub_808469C: @ 808469C
+ thumb_func_start Overworld_ResetStateAfterTeleport
+Overworld_ResetStateAfterTeleport: @ 808469C
push {lr}
bl player_avatar_init_params_reset
ldr r0, =0x0000088b
@@ -64,12 +64,12 @@ sub_808469C: @ 808469C
bl FlagClear
ldr r0, =0x00000888
bl FlagClear
- ldr r0, =gUnknown_08271862
+ ldr r0, =EverGrandeCity_HallOfFame_EventScript_271862
bl ScriptContext2_RunNewScript
pop {r0}
bx r0
.pool
- thumb_func_end sub_808469C
+ thumb_func_end Overworld_ResetStateAfterTeleport
thumb_func_start flagmods_08054D70
flagmods_08054D70: @ 80846E4
@@ -130,7 +130,7 @@ sub_8084788: @ 8084788
ldr r0, =0x0000088c
bl FlagClear
bl sub_8085B2C
- bl wild_pokemon_reroll
+ bl ResetCyclingRoadChallengeData
bl UpdateLocationHistoryForRoamer
bl RoamerMoveToOtherLocationSet
pop {r0}
@@ -238,8 +238,8 @@ _08084854:
.pool
thumb_func_end sav12_xor_set
- thumb_func_start ApplyNewEncyprtionKeyToGameStats
-ApplyNewEncyprtionKeyToGameStats: @ 8084864
+ thumb_func_start ApplyNewEncryptionKeyToGameStats
+ApplyNewEncryptionKeyToGameStats: @ 8084864
push {r4-r6,lr}
adds r5, r0, 0
movs r4, 0
@@ -251,7 +251,7 @@ _0808486C:
ldr r0, [r6]
adds r0, r1
adds r1, r5, 0
- bl ApplyNewEncyprtionKeyToWord
+ bl ApplyNewEncryptionKeyToWord
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
@@ -261,7 +261,7 @@ _0808486C:
pop {r0}
bx r0
.pool
- thumb_func_end ApplyNewEncyprtionKeyToGameStats
+ thumb_func_end ApplyNewEncryptionKeyToGameStats
thumb_func_start CopyFieldObjectTemplatesToSav1
@ void CopyFieldObjectTemplatesToSav1()
@@ -419,7 +419,7 @@ get_mapdata_header: @ 80849A8
b _080849C6
.pool
_080849BC:
- ldr r0, =gUnknown_08481DD4
+ ldr r0, =gMapAttributes
subs r1, 0x1
lsls r1, 2
adds r1, r0
@@ -535,7 +535,7 @@ _08084A8A:
get_mapheader_by_bank_and_number: @ 8084A90
lsls r0, 16
lsls r1, 16
- ldr r2, =gUnknown_08486578
+ ldr r2, =gMapGroups
lsrs r0, 14
adds r0, r2
ldr r0, [r0]
@@ -841,7 +841,7 @@ sub_8084CCC: @ 8084CCC
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
- bl sub_8122CBC
+ bl GetHealLocationPointer
adds r4, r0, 0
cmp r4, 0
beq _08084CFA
@@ -885,7 +885,7 @@ Overworld_SetHealLocationWarp: @ 8084D1C
sub sp, 0x8
lsls r0, 24
lsrs r0, 24
- bl sub_8122CBC
+ bl GetHealLocationPointer
adds r5, r0, 0
cmp r5, 0
beq _08084D50
@@ -1187,7 +1187,7 @@ sub_8084F6C: @ 8084F6C
sub sp, 0x8
lsls r0, 24
lsrs r0, 24
- bl sub_8122CBC
+ bl GetHealLocationPointer
adds r5, r0, 0
cmp r5, 0
beq _08084FA0
@@ -1377,16 +1377,16 @@ _080850C8:
bl CopyFieldObjectTemplatesToSav1
bl TrySetMapSaveWarpStatus
bl ClearTempFieldEventData
- bl wild_pokemon_reroll
+ bl ResetCyclingRoadChallengeData
bl prev_quest_postbuffer_cursor_backup_reset
adds r0, r6, 0
adds r1, r5, 0
- bl sub_80B21B4
+ bl TryUpdateRandomTrainerRematches
bl DoTimeBasedEvents
- bl sub_80AEDBC
+ bl SetSav1WeatherFromCurrMapHeader
bl sub_8085B2C
bl update_sav1_flash_used_on_map
- bl sav1_reset_battle_music_maybe
+ bl Overworld_ClearSavedMusic
bl mapheader_run_script_with_tag_x3
bl not_trainer_hill_battle_pyramid
ldr r0, [r4]
@@ -1465,7 +1465,7 @@ _080851A2:
bl sub_80EB218
bl TrySetMapSaveWarpStatus
bl ClearTempFieldEventData
- bl wild_pokemon_reroll
+ bl ResetCyclingRoadChallengeData
bl prev_quest_postbuffer_cursor_backup_reset
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
@@ -1478,12 +1478,12 @@ _080851A2:
asrs r1, 24
lsls r1, 16
lsrs r1, 16
- bl sub_80B21B4
+ bl TryUpdateRandomTrainerRematches
cmp r7, 0x1
beq _080851EE
bl DoTimeBasedEvents
_080851EE:
- bl sub_80AEDBC
+ bl SetSav1WeatherFromCurrMapHeader
bl sub_8085B2C
cmp r5, 0
beq _08085200
@@ -1491,7 +1491,7 @@ _080851EE:
bl FlagClear
_08085200:
bl update_sav1_flash_used_on_map
- bl sav1_reset_battle_music_maybe
+ bl Overworld_ClearSavedMusic
bl mapheader_run_script_with_tag_x3
bl UpdateLocationHistoryForRoamer
bl RoamerMoveToOtherLocationSet
@@ -1880,15 +1880,15 @@ _080854FE:
.pool
thumb_func_end Overworld_SetFlashLevel
- thumb_func_start sav1_get_flash_used_on_map
-sav1_get_flash_used_on_map: @ 8085514
+ thumb_func_start Overworld_GetFlashLevel
+Overworld_GetFlashLevel: @ 8085514
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
adds r0, 0x30
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end sav1_get_flash_used_on_map
+ thumb_func_end Overworld_GetFlashLevel
thumb_func_start sub_8085524
sub_8085524: @ 8085524
@@ -2133,7 +2133,7 @@ sav1_map_get_music: @ 80856D4
lsls r0, 5
cmp r1, r0
bne _080856FC
- bl sav1_get_weather_probably
+ bl GetSav1Weather
lsls r0, 24
lsrs r0, 24
cmp r0, 0x8
@@ -2212,8 +2212,8 @@ call_ResetMapMusic: @ 8085778
bx r0
thumb_func_end call_ResetMapMusic
- thumb_func_start sub_8085784
-sub_8085784: @ 8085784
+ thumb_func_start Overworld_PlaySpecialMapMusic
+Overworld_PlaySpecialMapMusic: @ 8085784
push {r4,lr}
bl sav1_map_get_music
lsls r0, 16
@@ -2261,7 +2261,7 @@ _080857E8:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8085784
+ thumb_func_end Overworld_PlaySpecialMapMusic
thumb_func_start Overworld_SetSavedMusic
Overworld_SetSavedMusic: @ 80857F4
@@ -2272,15 +2272,15 @@ Overworld_SetSavedMusic: @ 80857F4
.pool
thumb_func_end Overworld_SetSavedMusic
- thumb_func_start sav1_reset_battle_music_maybe
-sav1_reset_battle_music_maybe: @ 8085800
+ thumb_func_start Overworld_ClearSavedMusic
+Overworld_ClearSavedMusic: @ 8085800
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
movs r0, 0
strh r0, [r1, 0x2C]
bx lr
.pool
- thumb_func_end sav1_reset_battle_music_maybe
+ thumb_func_end Overworld_ClearSavedMusic
thumb_func_start sub_8085810
sub_8085810: @ 8085810
@@ -2668,19 +2668,19 @@ sub_8085B2C: @ 8085B2C
lsls r0, 6
cmp r1, r0
bne _08085B5C
- bl sub_813793C
+ bl IsMirageIslandPresent
lsls r0, 24
cmp r0, 0
bne _08085B5C
ldr r1, =gUnknown_02032306
movs r0, 0x1
strb r0, [r1]
- bl sub_80B582C
+ bl GetLocalWaterMon
b _08085B62
.pool
_08085B5C:
ldr r0, =gUnknown_02032306
- bl wild_pokemon_rand_for_map
+ bl GetLocalWildMon
_08085B62:
ldr r1, =gUnknown_02032304
strh r0, [r1]
@@ -2772,8 +2772,8 @@ _08085BF0:
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
+ thumb_func_start Overworld_MapTypeAllowsTeleportAndFly
+Overworld_MapTypeAllowsTeleportAndFly: @ 8085BF4
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2793,7 +2793,7 @@ _08085C0E:
_08085C10:
pop {r1}
bx r1
- thumb_func_end is_light_level_1_2_3_or_6
+ thumb_func_end Overworld_MapTypeAllowsTeleportAndFly
thumb_func_start is_light_level_8_or_9
is_light_level_8_or_9: @ 8085C14
@@ -2856,8 +2856,8 @@ sav1_map_get_name: @ 8085C58
.pool
thumb_func_end sav1_map_get_name
- thumb_func_start sav1_map_get_battletype
-sav1_map_get_battletype: @ 8085C80
+ thumb_func_start GetCurrentMapBattleScene
+GetCurrentMapBattleScene: @ 8085C80
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
@@ -2875,7 +2875,7 @@ sav1_map_get_battletype: @ 8085C80
pop {r1}
bx r1
.pool
- thumb_func_end sav1_map_get_battletype
+ thumb_func_end GetCurrentMapBattleScene
thumb_func_start overworld_bg_setup
@ void overworld_bg_setup()
@@ -3055,9 +3055,9 @@ _08085E18:
.pool
thumb_func_end c1_overworld
- thumb_func_start c2_overworld_basic
-@ void c2_overworld_basic()
-c2_overworld_basic: @ 8085E24
+ thumb_func_start OverworldBasic
+@ void OverworldBasic()
+OverworldBasic: @ 8085E24
push {lr}
bl ScriptContext2_RunScript
bl RunTasks
@@ -3070,15 +3070,15 @@ c2_overworld_basic: @ 8085E24
bl do_scheduled_bg_tilemap_copies_to_vram
pop {r0}
bx r0
- thumb_func_end c2_overworld_basic
+ thumb_func_end OverworldBasic
- thumb_func_start sub_8085E50
-sub_8085E50: @ 8085E50
+ thumb_func_start CB2_OverworldBasic
+CB2_OverworldBasic: @ 8085E50
push {lr}
- bl c2_overworld_basic
+ bl OverworldBasic
pop {r0}
bx r0
- thumb_func_end sub_8085E50
+ thumb_func_end CB2_OverworldBasic
thumb_func_start c2_overworld
c2_overworld: @ 8085E5C
@@ -3092,7 +3092,7 @@ c2_overworld: @ 8085E5C
movs r0, 0
bl SetVBlankCallback
_08085E70:
- bl c2_overworld_basic
+ bl OverworldBasic
cmp r4, 0
beq _08085E7C
bl SetFieldVBlankCallback
@@ -3192,8 +3192,8 @@ CB2_NewGame: @ 8085EF8
.pool
thumb_func_end CB2_NewGame
- thumb_func_start c2_whiteout
-c2_whiteout: @ 8085F58
+ thumb_func_start CB2_WhiteOut
+CB2_WhiteOut: @ 8085F58
push {lr}
sub sp, 0x4
ldr r1, =gMain
@@ -3232,7 +3232,7 @@ _08085FB0:
pop {r0}
bx r0
.pool
- thumb_func_end c2_whiteout
+ thumb_func_end CB2_WhiteOut
thumb_func_start c2_load_new_map
c2_load_new_map: @ 8085FCC
@@ -3584,7 +3584,7 @@ sub_808631C: @ 808631C
lsrs r0, 24
cmp r0, 0x1
bne _0808632E
- bl sub_80097E8
+ bl CloseLink
_0808632E:
ldr r0, =gLinkVSyncDisabled
ldrb r0, [r0]
@@ -3637,7 +3637,7 @@ VBlankCB_Field: @ 8086390
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
bl FieldUpdateBgTilemapScroll
bl TransferPlttBuffer
bl TransferTilesetAnimsBuffer
@@ -3657,11 +3657,11 @@ sub_80863B0: @ 80863B0
ldr r0, [r2]
ldr r1, [r2, 0x4]
ldr r2, [r2, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
b _080863F0
.pool
_080863D4:
- bl sav1_get_flash_used_on_map
+ bl Overworld_GetFlashLevel
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -3671,7 +3671,7 @@ _080863D4:
ldr r0, [r2]
ldr r1, [r2, 0x4]
ldr r2, [r2, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
_080863F0:
pop {r0}
bx r0
@@ -4122,7 +4122,7 @@ sub_80867D8: @ 80867D8
movs r0, 0
movs r1, 0
bl SetGpuReg
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r2, =0x05000002
mov r1, sp
movs r0, 0
@@ -4294,7 +4294,7 @@ sub_8086988: @ 8086988
bl ResetTasks
bl ResetSpriteData
bl ResetPaletteFade
- bl dp12_8087EA4
+ bl ScanlineEffect_Clear
bl dp13_810BB8C
bl ResetCameraUpdateInfo
bl InstallCameraPanAheadCallback
@@ -6698,7 +6698,7 @@ _08087C38:
lsls r1, 30
lsrs r1, 31
movs r0, 0
- bl sub_808BD3C
+ bl GetRivalAvatarGraphicsIdByStateIdAndGender
_08087C44:
lsls r0, 24
lsrs r0, 24
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 3d2af7e7d..991ad3623 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
@@ -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
@@ -1213,13 +1399,13 @@ sub_81B0BFC: @ 81B0BFC
muls r1, r0
ldr r0, =gPlayerParty
adds r6, r1, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
ldr r0, =gUnknown_0203CEC8
ldrb r0, [r0, 0xB]
cmp r0, 0xC
bne _081B0C40
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =gSpecialVar_0x8005
@@ -2111,13 +2297,13 @@ _081B134C:
bx r0
thumb_func_end c3_0811FAB4
- thumb_func_start brm_get_pokemon_selection
-brm_get_pokemon_selection: @ 81B1354
+ thumb_func_start GetCursorSelectionMonId
+GetCursorSelectionMonId: @ 81B1354
ldr r0, =gUnknown_0203CEC8
ldrb r0, [r0, 0x9]
bx lr
.pool
- thumb_func_end brm_get_pokemon_selection
+ thumb_func_end GetCursorSelectionMonId
thumb_func_start sub_81B1360
sub_81B1360: @ 81B1360
@@ -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
@@ -4211,7 +4397,7 @@ _081B23E8:
movs r1, 0x4F
movs r2, 0xD0
bl sub_809882C
- bl sub_8098C64
+ bl GetOverworldTextboxPalettePtr
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
@@ -4249,7 +4435,7 @@ _081B243E:
adds r0, r4, 0
movs r1, 0
bl FillWindowPixelBuffer
- ldr r5, =gText_Confirm
+ ldr r5, =gMenuText_Confirm
movs r0, 0
adds r1, r5, 0
movs r2, 0x30
@@ -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
@@ -7739,7 +7925,7 @@ c2_8123744: @ 81B41F0
mov r7, r8
push {r7}
sub sp, 0xC
- ldr r6, =gScriptItemId
+ ldr r6, =gSpecialVar_ItemId
ldrh r0, [r6]
cmp r0, 0
bne _081B4224
@@ -7791,7 +7977,7 @@ _081B425A:
.pool
_081B4278:
ldrh r0, [r6]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B42A4
@@ -7845,7 +8031,7 @@ sub_81B42D0: @ 81B42D0
ands r0, r1
cmp r0, 0
bne _081B432C
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
ldr r0, =gUnknown_0203CEC8
mov r8, r0
@@ -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
@@ -7969,7 +8155,7 @@ _081B43FC:
beq _081B44DE
b _081B44EC
_081B4402:
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
movs r1, 0x1
bl RemoveBagItem
@@ -7999,7 +8185,7 @@ _081B4402:
.pool
_081B4458:
ldrh r0, [r5]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B4498
@@ -8135,12 +8321,12 @@ sub_81B4578: @ 81B4578
lsls r0, 16
lsrs r0, 16
mov r8, r0
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r7, [r0]
cmp r7, 0
bne _081B45F8
adds r0, r5, 0
- bl sub_80D4680
+ bl TakeMailFromMon
ldr r4, =gUnknown_0203CEFC
adds r0, r5, 0
movs r1, 0xC
@@ -8212,7 +8398,7 @@ sub_81B4624: @ 81B4624
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
movs r2, 0
movs r3, 0
@@ -8220,7 +8406,7 @@ sub_81B4624: @ 81B4624
b _081B467C
.pool
_081B4670:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r1]
movs r2, 0
@@ -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
@@ -8925,7 +9111,7 @@ _081B4CBE:
ldrsb r0, [r1, r0]
muls r0, r7
adds r0, r6
- bl sub_80D4680
+ bl TakeMailFromMon
ldr r0, =gText_MailTakenFromPkmn
movs r1, 0
bl sub_81B1B5C
@@ -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
@@ -9892,7 +10078,7 @@ _081B55E8:
.pool
_081B5614:
ldr r1, =gUnknown_0203CEC8
- ldr r0, =sub_8124690
+ ldr r0, =MCB2_FlyMap
b _081B5628
.pool
_081B5624:
@@ -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
@@ -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_Teleport
+FieldCallback_Teleport: @ 81B5738
push {lr}
bl pal_fill_black
ldr r0, =task_launch_hm_phase_2
@@ -10038,7 +10224,7 @@ 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_Teleport
thumb_func_start task_launch_hm_phase_2
task_launch_hm_phase_2: @ 81B5750
@@ -10134,7 +10320,7 @@ _081B57FE:
thumb_func_start hm_surf_run_dp02scr
hm_surf_run_dp02scr: @ 81B5804
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
@@ -10160,7 +10346,7 @@ sub_81B5820: @ 81B5820
cmp r0, 0x1
bne _081B585C
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm_surf_run_dp02scr
@@ -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
@@ -10238,7 +10424,7 @@ sub_81B58A8: @ 81B58A8
thumb_func_start hm2_waterfall
hm2_waterfall: @ 81B58D4
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
@@ -10278,7 +10464,7 @@ hm_prepare_waterfall: @ 81B58F0
cmp r0, 0x1
bne _081B594C
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_waterfall
@@ -10298,7 +10484,7 @@ _081B594E:
thumb_func_start sub_81B5958
sub_81B5958: @ 81B5958
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
@@ -10325,7 +10511,7 @@ sub_81B5974: @ 81B5974
.pool
_081B5990:
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_81B5958
@@ -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]
@@ -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]
@@ -11359,7 +11545,7 @@ _081B61BC:
movs r7, 0
movs r6, 0
_081B61C0:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl GetItemEffectType
lsls r0, 24
@@ -11787,7 +11973,7 @@ ItemUseCB_Medicine: @ 81B6588
muls r1, r0
ldr r0, =gPlayerParty
adds r5, r1, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r6, [r0]
adds r0, r5, 0
adds r1, r6, 0
@@ -12032,7 +12218,7 @@ sub_81B67C8: @ 81B67C8
muls r1, r0
ldr r0, =gPlayerParty
adds r5, r1, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r6, [r0]
adds r0, r6, 0
bl GetItemEffectType
@@ -12391,7 +12577,7 @@ dp05_ether: @ 81B6AFC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
cmp r0, 0xAF
bne _081B6B20
@@ -12500,7 +12686,7 @@ ether_effect_related: @ 81B6BEC
lsrs r6, r0, 24
movs r4, 0
ldr r7, =gUnknown_0203CED6
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r5, [r0]
movs r0, 0xE
negs r0, r0
@@ -12729,7 +12915,7 @@ sub_81B6DC4: @ 81B6DC4
movs r0, 0xE
adds r0, r7
mov r8, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
ldr r1, =gStringVar1
adds r0, r5, 0
@@ -12818,7 +13004,7 @@ sub_81B6EB4: @ 81B6EB4
adds r5, r1, r0
adds r6, r2, 0
adds r6, 0xE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
movs r1, 0x2
ldrsh r0, [r6, r1]
@@ -12928,7 +13114,7 @@ _081B6FC0:
_081B6FDC:
cmp r0, 0x2
bne _081B6FE4
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
_081B6FE4:
adds r0, r5, 0
@@ -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
@@ -13324,7 +13510,7 @@ _081B7306:
_081B7368:
cmp r0, 0x2
bne _081B7370
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
_081B7370:
ldr r0, =gTasks
@@ -13409,7 +13595,7 @@ dp05_rare_candy: @ 81B7404
movs r1, 0x86
lsls r1, 2
adds r4, r6, r1
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
mov r8, r2
adds r0, r5, 0
movs r1, 0x38
@@ -13467,7 +13653,7 @@ _081B74B4:
ldrb r0, [r0, 0x9]
adds r1, r5, 0
bl sub_81B754C
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
@@ -14084,7 +14270,7 @@ sub_81B7A28: @ 81B7A28
lsls r0, 16
lsrs r7, r0, 16
ldrb r0, [r6, 0x9]
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
movs r2, 0
bl ExecuteTableBasedItemEffect__
@@ -14236,7 +14422,7 @@ _081B7BC8:
ldr r1, =gUnknown_0203CEE8
movs r0, 0x1
strb r0, [r1]
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
@@ -14312,7 +14498,7 @@ sub_81B7C74: @ 81B7C74
ldr r0, [r1]
str r0, [r2]
ldrb r0, [r1, 0x9]
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r1, [r4]
movs r2, 0
bl ExecuteTableBasedItemEffect__
@@ -14685,7 +14871,7 @@ _081B7F72:
movs r3, 0
bl sub_81B0038
ldr r1, =gUnknown_0203CEC8
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
strh r0, [r1, 0xC]
add sp, 0xC
@@ -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
@@ -14933,12 +15119,12 @@ sub_81B81A8: @ 81B81A8
bl GetMonData
lsls r0, 16
lsrs r7, r0, 16
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
bne _081B8208
adds r0, r5, 0
- bl sub_80D4680
+ bl TakeMailFromMon
ldr r4, =gUnknown_0203CEFC
adds r0, r5, 0
movs r1, 0xC
@@ -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
@@ -15281,9 +15467,9 @@ sub_81B8474: @ 81B8474
_081B84DC:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_80D460C
+ bl GiveMailToMon2
adds r0, r4, 0
- bl sub_80D439C
+ bl ClearMailStruct
ldr r0, =gText_MailTransferredFromMailbox
movs r1, 0x1
bl sub_81B1B5C
@@ -15994,7 +16180,7 @@ sub_81B8A7C: @ 81B8A7C
push {r4-r7,lr}
mov r7, r8
push {r7}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r5, r0, 24
bl sub_81B1250
@@ -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
@@ -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]
@@ -17113,7 +17299,7 @@ sub_81B9354: @ 81B9354
sub_81B9390: @ 81B9390
push {r4,lr}
ldr r4, =gSpecialVar_0x8004
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
@@ -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
@@ -17218,7 +17404,7 @@ _081B945C:
thumb_func_start sub_81B9470
sub_81B9470: @ 81B9470
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r2, =gUnknown_02039F24
strb r0, [r2]
lsls r0, 24
@@ -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
@@ -17345,7 +17531,7 @@ _081B9574:
sub_81B9588: @ 81B9588
push {r4,r5,lr}
ldr r5, =gSpecialVar_0x8004
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
strh r0, [r5]
@@ -17381,7 +17567,7 @@ _081B95BA:
thumb_func_start sub_81B95E0
sub_81B95E0: @ 81B95E0
push {r4,r5,lr}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r4, 0
@@ -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
@@ -17490,7 +17676,7 @@ sub_81B968C: @ 81B968C
thumb_func_start sub_81B96D0
sub_81B96D0: @ 81B96D0
push {r4,r5,lr}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r4, 0
@@ -17741,13 +17927,13 @@ sub_81B98DC: @ 81B98DC
adds r1, r0, 0
cmp r1, 0
beq _081B990C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _081B9910
.pool
_081B990C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_081B9910:
pop {r0}
@@ -17760,7 +17946,7 @@ sub_81B9918: @ 81B9918
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =gSpecialVar_0x8004
@@ -17813,7 +17999,7 @@ _081B9980:
bl sub_80D23A8
cmp r0, 0x1
beq _081B999C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081B999C:
diff --git a/asm/player_pc.s b/asm/player_pc.s
index cd91ed3e1..1ae5b4d14 100644
--- a/asm/player_pc.s
+++ b/asm/player_pc.s
@@ -379,12 +379,12 @@ sub_816B148: @ 816B148
ldrb r0, [r0, 0x8]
cmp r0, 0
bne _0816B174
- ldr r0, =gUnknown_081F863F
+ ldr r0, =LittlerootTown_BrendansHouse_2F_EventScript_1F863F
bl ScriptContext1_SetupScript
b _0816B184
.pool
_0816B174:
- ldr r0, =gUnknown_081F958F
+ ldr r0, =LittlerootTown_MaysHouse_2F_EventScript_1F958F
bl ScriptContext1_SetupScript
b _0816B184
.pool
@@ -463,7 +463,7 @@ sub_816B21C: @ 816B21C
adds r4, r0, 0
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -552,7 +552,7 @@ sub_816B2C8: @ 816B2C8
str r0, [r1]
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
pop {r0}
bx r0
.pool
@@ -599,7 +599,7 @@ mapldr_080EBC0C: @ 816B33C
bl sub_81973A4
movs r0, 0
movs r1, 0x1
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r0, =sub_816B368
movs r1, 0
bl CreateTask
@@ -733,7 +733,7 @@ sub_816B430: @ 816B430
bl sub_816B4C0
bl sub_816BC14
bl gpu_pal_allocator_reset__manage_upper_four
- bl sub_8122328
+ bl LoadListMenuArrowsGfx
ldr r0, =gUnknown_0203BCC4
ldr r0, [r0]
movs r1, 0xCD
@@ -1013,7 +1013,7 @@ sub_816B674: @ 816B674
cmp r0, 0
bne _0816B71E
ldrb r0, [r4, 0xA]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r4, 0xA]
ldr r7, =gUnknown_0203BCBA
@@ -1021,7 +1021,7 @@ sub_816B674: @ 816B674
mov r8, r1
adds r1, r7, 0
mov r2, r8
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r6, r0
@@ -1221,7 +1221,7 @@ sub_816B878: @ 816B878
lsrs r4, 24
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
@@ -1263,7 +1263,7 @@ sub_816B8A4: @ 816B8A4
adds r0, r1
ldr r1, =sub_816B900
movs r2, 0x1
- bl sub_8121478
+ bl ReadMail
adds r0, r4, 0
bl DestroyTask
_0816B8E6:
@@ -1378,7 +1378,7 @@ sub_816B9D8: @ 816B9D8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r0, 24
movs r1, 0x1
@@ -1444,7 +1444,7 @@ _0816BA68:
adds r0, r6, 0
bl DisplayItemMessageOnField
adds r0, r5, 0
- bl sub_80D439C
+ bl ClearMailStruct
bl sub_816B54C
ldrb r0, [r4, 0x5]
subs r0, 0x1
@@ -1494,7 +1494,7 @@ sub_816BABC: @ 816BABC
_0816BAD4:
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
ldr r0, =gTasks
lsls r1, r4, 2
adds r1, r4
@@ -1820,7 +1820,7 @@ _0816BD58:
movs r1, 0x2
negs r1, r1
str r1, [r0]
- ldr r4, =gUnknown_03006310
+ ldr r4, =gMultiuseListMenuTemplate
adds r1, r4, 0
ldr r0, =gUnknown_085DFF44
ldm r0!, {r2,r3,r6}
@@ -2150,7 +2150,7 @@ _0816C030:
movs r1, 0x1
movs r2, 0
adds r3, r6, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
_0816C050:
add sp, 0x14
pop {r4-r6}
@@ -2179,7 +2179,7 @@ sub_816C060: @ 816C060
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
@@ -2327,7 +2327,7 @@ _0816C186:
bl sub_816C110
bl sub_816C140
bl sub_816BD04
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldr r2, =gUnknown_0203BCB8
ldrh r1, [r2, 0x2]
ldrh r2, [r2]
@@ -2476,7 +2476,7 @@ sub_816C30C: @ 816C30C
ldr r1, =gUnknown_0203BCBA
subs r4, r1, 0x2
adds r2, r4, 0
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
ldrh r1, [r4, 0x2]
ldrh r0, [r4]
adds r1, r0
@@ -2492,12 +2492,12 @@ sub_816C30C: @ 816C30C
.pool
_0816C35C:
ldrb r0, [r4, 0xA]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r4, 0xA]
ldr r1, =gUnknown_0203BCBA
subs r2, r1, 0x2
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r6, r0
@@ -2540,7 +2540,7 @@ bx_battle_menu_t3: @ 816C3A4
bne _0816C3F2
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
movs r1, 0x6
ldrsh r0, [r5, r1]
cmp r0, 0
@@ -2691,18 +2691,18 @@ sub_816C4FC: @ 816C4FC
ldrb r0, [r4, 0xA]
ldr r1, =gUnknown_0203BCBA
subs r2, r1, 0x2
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
b _0816C57E
.pool
_0816C530:
ldrb r0, [r4, 0xA]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
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
+ bl sub_81AE860
ldr r0, =gUnknown_0203BCC4
ldr r0, [r0]
movs r1, 0xCD
@@ -2825,7 +2825,7 @@ _0816C622:
adds r0, r2
movs r1, 0xFF
strb r1, [r0]
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldr r2, =gUnknown_0203BCB8
ldrh r1, [r2, 0x2]
ldrh r2, [r2]
@@ -3363,7 +3363,7 @@ sub_816CB04: @ 816CB04
bl sub_816C110
bl sub_816C140
bl sub_816BD04
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r4, 0x2]
ldrh r2, [r4]
bl ListMenuInit
diff --git a/asm/pokeball.s b/asm/pokeball.s
deleted file mode 100755
index 0afd27932..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 sub_805F110
- 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 sub_805F110
- 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 sub_805F110
- 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 a3047e225..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, =gScriptItemId
- 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, =gScriptItemId
- 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 sub_8136FE4
- 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
index 3d69281c2..cb40f0eda 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -379,7 +379,7 @@ _080BB582:
b _080BB74C
.pool
_080BB5FC:
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl ResetPaletteFade
@@ -497,7 +497,7 @@ _080BB71C:
adds r1, r2
ldrb r1, [r1]
bl sub_80BC8D4
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
ldr r1, =0x0000ffff
movs r2, 0x80
bl m4aMPlayVolumeControl
@@ -1246,7 +1246,7 @@ _080BBE18:
bl DestroyTask
ldr r0, =sub_8086194
bl SetMainCallback2
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
ldr r1, =0x0000ffff
movs r2, 0x80
lsls r2, 1
@@ -2028,7 +2028,7 @@ _080BC56E:
bl SetGpuReg
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0855D298
+ ldr r1, =gBgTemplates_0855D298
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
@@ -2054,7 +2054,7 @@ _080BC56E:
adds r1, r0, 0
movs r0, 0
bl SetBgTilemapBuffer
- ldr r1, =gUnknown_08DC1934
+ ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
str r6, [sp]
@@ -2119,7 +2119,7 @@ _080BC682:
lsls r0, 31
lsrs r0, 31
bl sub_80BC844
- ldr r0, =gUnknown_0855D2A8
+ ldr r0, =sWindowTemplates_0855D2A8
bl InitWindows
bl DeactivateAllTextPrinters
movs r0, 0
@@ -2141,9 +2141,9 @@ _080BC6CC:
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x8
strb r0, [r1]
- ldr r0, =gUnknown_0855D26C
+ ldr r0, =gSpriteSheets_0855D26C
bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0855D27C
+ ldr r0, =gSpritePalettes_0855D26C
bl LoadSpritePalettes
adds r0, r5, 0
bl sub_80BDB7C
@@ -2291,14 +2291,14 @@ sub_80BC844: @ 80BC844
lsrs r0, 24
cmp r0, 0x1
bne _080BC858
- ldr r0, =gUnknown_08DC17B6
+ ldr r0, =gPokedexHoennBg_Pal + 0x2
b _080BC862
.pool
_080BC858:
bl IsNationalPokedexEnabled
cmp r0, 0
bne _080BC870
- ldr r0, =gUnknown_08DC16F6
+ ldr r0, =gPokedexText_Pal + 2
_080BC862:
movs r1, 0x1
movs r2, 0xBE
@@ -2306,12 +2306,12 @@ _080BC862:
b _080BC87A
.pool
_080BC870:
- ldr r0, =gUnknown_08DC1876
+ ldr r0, =gPokedexNationalBg_Pal + 0x2
movs r1, 0x1
movs r2, 0xBE
bl LoadPalette
_080BC87A:
- bl sub_8098C64
+ bl GetOverworldTextboxPalettePtr
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
@@ -2609,7 +2609,7 @@ _080BCACC:
movs r7, 0x1
mov r9, r7
_080BCADA:
- ldr r1, =gUnknown_0855C6A4
+ ldr r1, =gPokedexOrder_Alphabetical
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@@ -2687,7 +2687,7 @@ _080BCB78:
ldr r7, =gUnknown_02039B4C
ldr r6, =0x0000060c
_080BCB82:
- ldr r1, =gUnknown_0855C9DA
+ ldr r1, =gPokedexOrder_Weight
asrs r0, 15
adds r0, r1
ldrh r0, [r0]
@@ -2752,7 +2752,7 @@ _080BCC08:
ldr r0, =0x00000181
mov r9, r0
_080BCC16:
- ldr r1, =gUnknown_0855C9DA
+ ldr r1, =gPokedexOrder_Weight
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@@ -2819,7 +2819,7 @@ _080BCCA0:
ldr r7, =gUnknown_02039B4C
ldr r6, =0x0000060c
_080BCCAA:
- ldr r1, =gUnknown_0855CCDE
+ ldr r1, =gPokedexOrder_Height
asrs r0, 15
adds r0, r1
ldrh r0, [r0]
@@ -2884,7 +2884,7 @@ _080BCD30:
ldr r0, =0x00000181
mov r9, r0
_080BCD3E:
- ldr r1, =gUnknown_0855CCDE
+ ldr r1, =gPokedexOrder_Height
lsls r4, 16
asrs r0, r4, 15
adds r0, r1
@@ -3035,7 +3035,7 @@ sub_80BCE2C: @ 80BCE2C
str r4, [sp, 0xC]
str r2, [sp, 0x10]
mov r2, r8
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x18
pop {r3}
mov r8, r3
@@ -3517,7 +3517,7 @@ sub_80BD23C: @ 80BD23C
b _080BD266
.pool
_080BD264:
- ldr r4, =gUnknown_0855D2FE
+ ldr r4, =sText_TenDashes
_080BD266:
str r5, [sp]
movs r0, 0
@@ -6163,7 +6163,7 @@ sub_80BE8DC: @ 80BE8DC
movs r0, 0
movs r1, 0x1
adds r2, r5, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x18
pop {r4,r5}
pop {r0}
@@ -6369,7 +6369,7 @@ _080BEACA:
b _080BEDA0
.pool
_080BEAF0:
- ldr r1, =gUnknown_08DC1934
+ ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@@ -7228,7 +7228,7 @@ _080BF2A8:
beq _080BF2B6
b _080BF5B2
_080BF2B6:
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
bl m4aMPlayStop
ldr r5, =gUnknown_02039B4C
ldr r0, [r5]
@@ -7257,7 +7257,7 @@ _080BF2B6:
b _080BF5B2
.pool
_080BF310:
- ldr r1, =gUnknown_08DC1934
+ ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@@ -7592,7 +7592,7 @@ _080BF636:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
bl m4aMPlayContinue
ldr r0, =gUnknown_02039B4C
ldr r0, [r0]
@@ -7634,7 +7634,7 @@ _080BF6B0:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
bl m4aMPlayContinue
ldr r0, =gUnknown_02039B4C
ldr r0, [r0]
@@ -7689,7 +7689,7 @@ _080BF73C:
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
bl m4aMPlayContinue
ldr r0, =gUnknown_02039B4C
ldr r0, [r0]
@@ -7856,7 +7856,7 @@ _080BF88E:
b _080BFB94
.pool
_080BF8D8:
- ldr r1, =gUnknown_08DC1934
+ ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@@ -8543,7 +8543,7 @@ _080BFE92:
b _080C0074
.pool
_080BFF0C:
- ldr r1, =gUnknown_08DC1934
+ ldr r1, =gPokedexMenu_Gfx
movs r2, 0x80
lsls r2, 6
movs r0, 0
@@ -8751,14 +8751,14 @@ _080C00E8:
ands r1, r0
cmp r1, 0
beq _080C0114
- ldr r0, =gUnknown_08DC16F6
+ ldr r0, =gPokedexText_Pal + 2
movs r1, 0x31
movs r2, 0xE
bl LoadPalette
b _080C011E
.pool
_080C0114:
- ldr r0, =gUnknown_08DC1756
+ ldr r0, =gPokedexCaughtScreenFade_Pal + 0x2
movs r1, 0x31
movs r2, 0xE
bl LoadPalette
@@ -8824,7 +8824,7 @@ _080C0168:
adds r3, r5
ldrb r4, [r3, 0x5]
lsrs r4, 4
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
lsls r4, 4
movs r2, 0x80
lsls r2, 1
@@ -8940,7 +8940,7 @@ _080C0250:
b _080C028E
.pool
_080C028C:
- ldr r0, =gUnknown_0856E688
+ ldr r0, =sText_TenDashes2
_080C028E:
movs r1, 0x84
movs r2, 0x19
@@ -8950,7 +8950,7 @@ _080C028E:
add r4, sp, 0x10
adds r0, r6, 0
adds r1, r4, 0
- bl sub_81DB468
+ bl CopyMonCategoryText
adds r0, r4, 0
b _080C02AE
.pool
@@ -9974,7 +9974,7 @@ sub_80C0A88: @ 80C0A88
str r4, [sp, 0xC]
str r1, [sp, 0x10]
movs r1, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x18
pop {r4-r6}
pop {r0}
@@ -11022,7 +11022,7 @@ sub_80C1270: @ 80C1270
movs r0, 0
movs r1, 0x1
adds r2, r5, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x18
pop {r4,r5}
pop {r0}
@@ -11135,7 +11135,7 @@ _080C1332:
bl DeactivateAllTextPrinters
movs r0, 0
bl PutWindowTilemap
- ldr r1, =gUnknown_08DC3304
+ ldr r1, =gPokedexSearchMenu_Gfx
movs r2, 0x80
lsls r2, 6
str r5, [sp]
@@ -11145,7 +11145,7 @@ _080C1332:
bl IsNationalPokedexEnabled
cmp r0, 0
bne _080C13E4
- ldr r1, =gUnknown_08DC3A0C
+ ldr r1, =gPokedexSearch2_Tilemap
movs r0, 0x3
movs r2, 0
movs r3, 0
@@ -11153,13 +11153,13 @@ _080C1332:
b _080C13F0
.pool
_080C13E4:
- ldr r1, =gUnknown_08DC3870
+ ldr r1, =gPokedexSearch1_Tilemap
movs r0, 0x3
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
_080C13F0:
- ldr r0, =gUnknown_08DC3286
+ ldr r0, =gPokedexSearchMenu_Pal + 0x2
movs r1, 0x1
movs r2, 0x7E
bl LoadPalette
@@ -11172,9 +11172,9 @@ _080C13F0:
b _080C1516
.pool
_080C1414:
- ldr r0, =gUnknown_0855D26C
+ ldr r0, =gSpriteSheets_0855D26C
bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0855D27C
+ ldr r0, =gSpritePalettes_0855D26C
bl LoadSpritePalettes
adds r0, r4, 0
bl sub_80C2594
diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s
index b599b365c..5f9e01974 100644
--- a/asm/pokedex_area_screen.s
+++ b/asm/pokedex_area_screen.s
@@ -362,7 +362,7 @@ sub_813CD04: @ 813CD04
adds r1, r3, 0
bl get_mapheader_by_bank_and_number
ldrb r0, [r0, 0x14]
- bl sub_8123F9C
+ bl CorrectSpecialMapSecId
ldr r2, [r4]
movs r1, 0x88
lsls r1, 1
@@ -653,7 +653,7 @@ _0813CF5A:
adds r0, r4, 0
adds r1, r6, 0
str r3, [sp]
- bl sub_8123E9C
+ bl GetRegionMapSectionIdAt
ldr r3, [sp]
ldr r2, [r3]
mov r7, r9
@@ -1338,11 +1338,11 @@ _0813D4F8:
bl sub_8122D88
movs r0, 0x1
movs r1, 0x1
- bl sub_8124288
+ bl CreateRegionMapPlayerIcon
movs r1, 0x8
negs r1, r1
movs r0, 0
- bl sub_8123824
+ bl PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs
b _0813D584
.pool
_0813D520:
@@ -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
index ed97cd672..5dbfb2ee3 100644
--- a/asm/pokemon_1.s
+++ b/asm/pokemon_1.s
@@ -581,7 +581,7 @@ _080689E4:
beq _080689CE
_080689F4:
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080689CE
@@ -827,7 +827,7 @@ _08068BE0:
ldrb r0, [r1, 0x13]
lsls r0, 3
orrs r2, r0
- ldr r1, =gTrainerClassToNameIndex
+ ldr r1, =gFacilityClassToTrainerClass
ldr r0, =gUnknown_08329D54
lsls r2, 1
adds r2, r0
@@ -1310,8 +1310,8 @@ _08068FF4:
bx r0
thumb_func_end CalculateMonStats
- thumb_func_start sub_8069004
-sub_8069004: @ 8069004
+ thumb_func_start BoxMonToMon
+BoxMonToMon: @ 8069004
push {r4,lr}
sub sp, 0x4
adds r2, r0, 0
@@ -1346,7 +1346,7 @@ sub_8069004: @ 8069004
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_8069004
+ thumb_func_end BoxMonToMon
thumb_func_start GetLevelFromMonExp
GetLevelFromMonExp: @ 8069054
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
index 6009bd3f3..40291bee4 100755..100644
--- a/asm/pokemon_icon.s
+++ b/asm/pokemon_icon.s
@@ -5,9 +5,9 @@
.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
+ thumb_func_start CreateMonIcon
+@ int CreateMonIcon(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7)
+CreateMonIcon: @ 80D2CC4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -28,15 +28,15 @@ sub_80D2CC4: @ 80D2CC4
lsls r0, 24
lsrs r0, 24
mov r9, r0
- ldr r0, =gUnknown_0857C570
+ ldr r0, =sMonIconOamData
str r0, [sp, 0x18]
adds r0, r4, 0
adds r2, r5, 0
bl GetMonIconPtr
str r0, [sp, 0x1C]
- ldr r0, =gUnknown_0857C5B4
+ ldr r0, =sMonIconAnims
str r0, [sp, 0x20]
- ldr r0, =gUnknown_0857C5E8
+ ldr r0, =sMonIconAffineAnims
str r0, [sp, 0x24]
str r6, [sp, 0x28]
ldr r0, =gMonIconPaletteIndices
@@ -84,7 +84,7 @@ _080D2D2A:
pop {r1}
bx r1
.pool
- thumb_func_end sub_80D2CC4
+ thumb_func_end CreateMonIcon
thumb_func_start sub_80D2D78
sub_80D2D78: @ 80D2D78
@@ -102,13 +102,13 @@ sub_80D2D78: @ 80D2D78
lsls r6, 24
lsrs r6, 24
mov r3, sp
- ldr r2, =gUnknown_0857C570
+ ldr r2, =sMonIconOamData
str r2, [sp]
movs r2, 0
str r2, [sp, 0x4]
- ldr r2, =gUnknown_0857C5B4
+ ldr r2, =sMonIconAnims
str r2, [sp, 0x8]
- ldr r2, =gUnknown_0857C5E8
+ ldr r2, =sMonIconAffineAnims
str r2, [sp, 0xC]
str r1, [sp, 0x10]
ldr r2, =gMonIconPaletteIndices
@@ -156,7 +156,7 @@ mon_icon_convert_unown_species_id: @ 80D2E08
cmp r2, 0xC9
bne _080D2E32
adds r0, r1, 0
- bl mon_icon_personality_to_unown_id
+ bl GetUnownLetterByPersonality
lsls r0, 16
lsrs r0, 16
cmp r0, 0
@@ -186,8 +186,8 @@ _080D2E40:
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
+ thumb_func_start GetUnownLetterByPersonality
+GetUnownLetterByPersonality: @ 80D2E48
push {lr}
adds r2, r0, 0
cmp r2, 0
@@ -219,7 +219,7 @@ _080D2E7E:
_080D2E80:
pop {r1}
bx r1
- thumb_func_end mon_icon_personality_to_unown_id
+ thumb_func_end GetUnownLetterByPersonality
thumb_func_start sub_80D2E84
sub_80D2E84: @ 80D2E84
@@ -229,7 +229,7 @@ sub_80D2E84: @ 80D2E84
lsrs r4, r0, 16
adds r0, r4, 0
mov r1, sp
- bl sub_80D45E8
+ bl MailSpeciesToSpecies
lsls r0, 16
lsrs r0, 16
cmp r0, 0xC9
@@ -601,7 +601,7 @@ _080D3126:
strb r7, [r5]
b _080D31A4
_080D312A:
- ldr r2, =gUnknown_0857C5F0
+ ldr r2, =sSpriteImageSizes
ldrb r1, [r4, 0x3]
lsrs r1, 6
lsls r1, 1
@@ -689,7 +689,7 @@ sub_80D31B4: @ 80D31B4
mov r8, r0
movs r0, 0
str r0, [sp, 0x30]
- ldr r2, =gUnknown_0857C5F0
+ ldr r2, =sSpriteImageSizes
mov r0, r9
ldr r6, [r0]
ldrb r1, [r6, 0x3]
@@ -776,7 +776,7 @@ sub_80D328C: @ 80D328C
sub sp, 0x8
movs r1, 0
str r1, [sp]
- ldr r3, =gUnknown_0857C5F0
+ ldr r3, =sSpriteImageSizes
ldrb r2, [r0, 0x3]
lsrs r2, 6
lsls r2, 1
diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s
index 49b205967..2184b22b2 100644
--- a/asm/pokemon_item_effect.s
+++ b/asm/pokemon_item_effect.s
@@ -77,7 +77,7 @@ ExecuteTableBasedItemEffect: @ 806BD28
cmp r0, 0
beq _0806BDA8
ldr r2, =gEnigmaBerries
- ldr r0, =gBankInMenu
+ ldr r0, =gBattlerInMenuId
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
@@ -100,8 +100,8 @@ _0806BDBC:
lsrs r0, 24
_0806BDC4:
str r0, [sp, 0x34]
- ldr r1, =gStringBank
- ldr r0, =gBankInMenu
+ ldr r1, =gPotentialItemEffectBattler
+ ldr r0, =gBattlerInMenuId
ldrb r2, [r0]
strb r2, [r1]
ldr r0, =gMain
@@ -114,23 +114,23 @@ _0806BDC4:
lsrs r1, r0, 24
cmp r1, 0
beq _0806BE64
- ldr r0, =gActiveBank
+ ldr r0, =gActiveBattler
strb r2, [r0]
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
negs r1, r0
orrs r1, r0
lsrs r1, 31
str r1, [sp, 0x1C]
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldr r4, [sp, 0xC]
subs r4, 0xD
ldrb r0, [r0]
cmp r1, r0
bge _0806BE70
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
lsls r0, r1, 1
adds r0, r2
ldrh r3, [r0]
@@ -148,7 +148,7 @@ _0806BE3C:
ldr r1, [sp, 0x1C]
adds r1, 0x2
str r1, [sp, 0x1C]
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r0, [r0]
cmp r1, r0
bge _0806BE70
@@ -165,7 +165,7 @@ _0806BE3C:
b _0806BE70
.pool
_0806BE64:
- ldr r0, =gActiveBank
+ ldr r0, =gActiveBattler
strb r1, [r0]
movs r3, 0x4
str r3, [sp, 0x38]
@@ -200,7 +200,7 @@ _0806BE9A:
ands r0, r1
cmp r0, 0
beq _0806BECC
- ldr r0, =gActiveBank
+ ldr r0, =gActiveBattler
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
@@ -297,7 +297,7 @@ _0806BF76:
cmp r0, 0
beq _0806BFA4
ldr r1, =gBattleMons
- ldr r0, =gActiveBank
+ ldr r0, =gActiveBattler
ldrb r2, [r0]
movs r0, 0x58
muls r0, r2
@@ -323,7 +323,7 @@ _0806BFA4:
bl _0806CD4C
_0806BFB2:
ldr r6, =gBattleMons
- ldr r5, =gActiveBank
+ ldr r5, =gActiveBattler
ldrb r0, [r5]
movs r4, 0x58
muls r0, r4
@@ -362,7 +362,7 @@ _0806BFFC:
cmp r3, 0
beq _0806C042
ldr r7, =gBattleMons
- ldr r5, =gActiveBank
+ ldr r5, =gActiveBattler
ldrb r0, [r5]
movs r4, 0x58
muls r0, r4
@@ -396,7 +396,7 @@ _0806C042:
bl _0806CD4C
_0806C050:
ldr r6, =gBattleMons
- ldr r5, =gActiveBank
+ ldr r5, =gActiveBattler
ldrb r0, [r5]
movs r4, 0x58
muls r0, r4
@@ -433,7 +433,7 @@ _0806C08C:
cmp r3, 0
beq _0806C0D2
ldr r7, =gBattleMons
- ldr r5, =gActiveBank
+ ldr r5, =gActiveBattler
ldrb r0, [r5]
movs r4, 0x58
muls r0, r4
@@ -467,7 +467,7 @@ _0806C0D2:
bl _0806CD4C
_0806C0E0:
ldr r6, =gBattleMons
- ldr r5, =gActiveBank
+ ldr r5, =gActiveBattler
ldrb r0, [r5]
movs r4, 0x58
muls r0, r4
@@ -506,9 +506,9 @@ _0806C120:
cmp r0, 0
beq _0806C168
ldr r5, =gSideTimers
- ldr r4, =gActiveBank
+ ldr r4, =gActiveBattler
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 1
@@ -519,7 +519,7 @@ _0806C120:
cmp r0, 0
bne _0806C168
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 1
@@ -965,7 +965,7 @@ _0806C4FC:
ldr r3, [sp, 0x38]
cmp r3, 0x4
beq _0806C55C
- ldr r2, =gAbsentBankFlags
+ ldr r2, =gAbsentBattlerFlags
ldr r1, =gBitTable
lsls r0, r3, 2
adds r0, r1
@@ -973,7 +973,7 @@ _0806C4FC:
ldrb r0, [r2]
bics r0, r1
strb r0, [r2]
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r3, 1
adds r0, r1
ldrb r0, [r0]
@@ -983,14 +983,14 @@ _0806C4FC:
lsrs r1, 24
ldr r0, [sp, 0x38]
bl CopyPlayerPartyMonToBattleData
- ldr r0, =gActiveBank
+ ldr r0, =gActiveBattler
ldrb r0, [r0]
b _0806C574
.pool
_0806C55C:
- ldr r3, =gAbsentBankFlags
+ ldr r3, =gAbsentBattlerFlags
ldr r1, =gBitTable
- ldr r2, =gActiveBank
+ ldr r2, =gActiveBattler
ldrb r0, [r2]
eors r0, r4
lsls r0, 2
@@ -1001,7 +1001,7 @@ _0806C55C:
strb r0, [r3]
ldrb r0, [r2]
_0806C574:
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0806C5B2
@@ -1135,9 +1135,9 @@ _0806C65E:
ands r0, r3
cmp r0, 0
bne _0806C6EC
- ldr r4, =gActiveBank
+ ldr r4, =gActiveBattler
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0806C6EC
@@ -1155,9 +1155,9 @@ _0806C6AE:
movs r0, 0
movs r1, 0
movs r2, 0
- bl EmitGetMonData
+ bl BtlController_EmitGetMonData
ldrb r0, [r4]
- bl MarkBufferBankForExecution
+ bl MarkBattlerForControllerExec
strb r5, [r4]
b _0806C6EC
.pool
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index d1f7bd161..2ff444f56 100755..100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -5,224 +5,8 @@
.text
- thumb_func_start CountMonsInBox
-CountMonsInBox: @ 80C6FA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r5, 0
-_080C6FAA:
- lsls r1, r4, 24
- lsrs r1, 24
- adds r0, r6, 0
- movs r2, 0xB
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- beq _080C6FC0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C6FC0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _080C6FAA
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CountMonsInBox
-
- thumb_func_start sub_80C6FD4
-sub_80C6FD4: @ 80C6FD4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_080C6FDC:
- lsls r1, r4, 24
- lsrs r1, 24
- adds r0, r5, 0
- movs r2, 0xB
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _080C6FF2
- lsls r0, r4, 16
- asrs r0, 16
- b _080C7000
-_080C6FF2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _080C6FDC
- movs r0, 0x1
- negs r0, r0
-_080C7000:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C6FD4
-
- thumb_func_start sub_80C7008
-sub_80C7008: @ 80C7008
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0
-_080C700E:
- 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 _080C7036
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080C7036
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C7036:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080C700E
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C7008
-
- thumb_func_start sub_80C7050
-sub_80C7050: @ 80C7050
- push {r4-r7,lr}
- lsls r0, 24
- movs r5, 0
- movs r6, 0
- lsrs r7, r0, 24
-_080C705A:
- cmp r5, r7
- beq _080C7092
- 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 _080C7092
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080C7092
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080C7092
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C7092:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080C705A
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C7050
-
- thumb_func_start sub_80C70AC
-sub_80C70AC: @ 80C70AC
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_80C7050
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C70AC
-
- thumb_func_start sub_80C70C4
-sub_80C70C4: @ 80C70C4
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_080C70CA:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080C70E2
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C70E2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x5
- bls _080C70CA
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C70C4
-
- thumb_func_start sub_80C70FC
-sub_80C70FC: @ 80C70FC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r2, 16
- lsrs r4, 16
- bl StringCopy
- adds r1, r0, 0
- adds r5, r4
- cmp r1, r5
- bcs _080C711A
- movs r0, 0
-_080C7112:
- strb r0, [r1]
- adds r1, 0x1
- cmp r1, r5
- bcc _080C7112
-_080C711A:
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C70FC
- thumb_func_start sub_80C7128
+ thumb_func_start sub_80C7128
sub_80C7128: @ 80C7128
push {r4-r7,lr}
mov r7, r9
@@ -427,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
@@ -449,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
@@ -555,7 +339,7 @@ _080C7392:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _080C756A
.pool
_080C73D0:
@@ -578,7 +362,7 @@ _080C73F6:
ldrsh r4, [r5, r3]
cmp r4, 0
bne _080C7428
- bl sub_80C70C4
+ bl CountPartyMons
lsls r0, 24
lsrs r0, 24
cmp r0, 0x6
@@ -601,7 +385,7 @@ _080C7428:
ldrsh r0, [r5, r1]
cmp r0, 0x1
bne _080C745C
- bl sub_80C70C4
+ bl CountPartyMons
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x1
@@ -622,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
@@ -725,7 +509,7 @@ _080C7532:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
strh r4, [r5, 0x8]
b _080C756A
.pool
@@ -843,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
@@ -1322,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:
@@ -2252,7 +2036,7 @@ _080C8230:
ldrb r0, [r0]
cmp r0, 0x2
bne _080C825C
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
cmp r0, 0
beq _080C825C
@@ -2417,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
@@ -2520,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
@@ -3090,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
@@ -3129,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
@@ -3539,7 +3323,7 @@ _080C8E38:
b _080C8EA0
.pool
_080C8E4C:
- bl party_compaction
+ bl CompactPartySlots
bl sub_80CB950
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
@@ -3625,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
@@ -3699,7 +3483,7 @@ _080C8FA4:
ldrb r0, [r0]
cmp r0, 0
beq _080C8FD0
- bl party_compaction
+ bl CompactPartySlots
bl sub_80CB950
b _080C905C
.pool
@@ -3877,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
@@ -4159,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
@@ -4349,7 +4133,7 @@ _080C9584:
b _080C9664
.pool
_080C95A4:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -4453,7 +4237,7 @@ sub_80C9670: @ 80C9670
b _080C96AE
.pool
_080C9688:
- bl party_compaction
+ bl CompactPartySlots
bl sub_80CB950
ldr r1, [r4]
ldrb r0, [r1]
@@ -5143,7 +4927,7 @@ _080C9C78:
b _080C9CAA
.pool
_080C9C8C:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -5274,7 +5058,7 @@ _080C9DAC:
b _080C9DE0
.pool
_080C9DC0:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -5458,7 +5242,7 @@ _080C9F56:
sub_80C9F6C: @ 80C9F6C
push {lr}
sub sp, 0x4
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r1, [r0]
mov r0, sp
strh r1, [r0]
@@ -5559,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
@@ -5609,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
@@ -5714,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]
@@ -6320,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
@@ -6567,7 +6351,7 @@ _080CA94C:
movs r1, 0
strb r1, [r0]
bl sub_80CBB9C
- bl party_compaction
+ bl CompactPartySlots
movs r0, 0x2
str r0, [sp]
movs r1, 0
@@ -6953,7 +6737,7 @@ sub_80CAC58: @ 80CAC58
sub sp, 0xC
lsls r0, 24
lsrs r6, r0, 24
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
ldr r1, =gUnknown_0857276C
lsls r0, r6, 3
adds r0, r1
@@ -6990,7 +6774,7 @@ _080CACB8:
adds r1, r2
_080CACC0:
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
b _080CAD30
.pool
_080CACD0:
@@ -7033,7 +6817,7 @@ _080CAD16:
ldr r0, =0x000021eb
adds r1, r0
movs r0, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
_080CAD30:
ldr r5, =gUnknown_02039D08
ldr r0, [r5]
@@ -7043,7 +6827,7 @@ _080CAD30:
lsls r1, r6, 3
adds r1, r2
ldr r1, [r1]
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
movs r0, 0x1
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -9340,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]
@@ -10351,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]
@@ -10862,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
@@ -10936,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}
@@ -13381,7 +13165,7 @@ sub_80CE19C: @ 80CE19C
lsls r0, 24
lsrs r6, r0, 24
adds r0, r6, 0
- bl sub_80C6FD4
+ bl GetFirstFreeBoxSpot
lsls r0, 16
lsrs r4, r0, 16
asrs r0, 16
@@ -14127,7 +13911,7 @@ _080CE838:
ldr r2, =0x00002187
adds r1, r2
strb r0, [r1]
- bl sub_80C70C4
+ bl CountPartyMons
ldr r1, [r4]
subs r0, 0x1
ldr r2, =0x00002186
@@ -14193,8 +13977,8 @@ _080CE900:
.pool
thumb_func_end sub_80CE8E4
- thumb_func_start party_compaction
-party_compaction: @ 80CE90C
+ thumb_func_start CompactPartySlots
+CompactPartySlots: @ 80CE90C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -14271,7 +14055,7 @@ _080CE992:
pop {r1}
bx r1
.pool
- thumb_func_end party_compaction
+ thumb_func_end CompactPartySlots
thumb_func_start sub_80CE9A8
sub_80CE9A8: @ 80CE9A8
@@ -14347,7 +14131,7 @@ sub_80CEA30: @ 80CEA30
bne _080CEA64
ldr r0, =gUnknown_02039D79
ldrb r0, [r0]
- bl sub_80C7050
+ bl CountPartyAliveNonEggMonsExcept
lsls r0, 24
cmp r0, 0
bne _080CEA64
@@ -14376,7 +14160,7 @@ sub_80CEA6C: @ 80CEA6C
bne _080CEAAC
ldr r0, =gUnknown_02039D79
ldrb r0, [r0]
- bl sub_80C7050
+ bl CountPartyAliveNonEggMonsExcept
lsls r0, 24
cmp r0, 0
bne _080CEAAC
@@ -14656,7 +14440,7 @@ _080CEC86:
adds r1, r3
str r0, [r1]
adds r0, r6, 0
- bl pokemon_get_pal
+ bl GetMonFrontSpritePal
ldr r1, [r4]
ldr r2, =0x00000cdc
adds r1, r2
@@ -14759,7 +14543,7 @@ _080CED7E:
adds r1, r4
ldrh r0, [r1]
mov r1, r9
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
ldr r1, [r5]
ldr r3, =0x00000cdc
adds r2, r1, r3
@@ -16384,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
@@ -16413,7 +16197,7 @@ _080CFBAC:
.pool
_080CFBCC:
ldrh r0, [r1]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -16456,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]
@@ -16495,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
@@ -16569,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
@@ -18540,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}
@@ -21042,7 +20826,7 @@ sub_80D2054: @ 80D2054
lsls r1, 4
adds r0, r1
adds r1, r5, 0
- bl sub_8069004
+ bl BoxMonToMon
_080D2088:
pop {r4,r5}
pop {r0}
@@ -21264,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}
@@ -21311,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
@@ -21876,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 a89c54304..a94d69b96 100755..100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -212,17 +212,17 @@ _081C3FEC:
movs r2, 0x1
movs r3, 0x2
bl ConvertIntToDecimalStringN
- bl sub_81AFBF0
+ bl UnkTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r0, 0x1
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r4, =gStringVar4
ldr r1, =gUnknown_0861CE97
adds r0, r4, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x2C
@@ -1116,7 +1116,7 @@ sub_81C4778: @ 81C4778
bne _081C47AE
adds r0, r1, 0
adds r0, 0xC
- bl sub_805F110
+ bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _081C47A4
ldrh r0, [r4, 0x2]
@@ -1424,16 +1424,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
@@ -2049,7 +2049,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
@@ -2239,7 +2239,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 +2351,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 +2363,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 +2411,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 +2460,7 @@ _081C52DC:
b _081C5308
.pool
_081C52F0:
- bl sub_8122328
+ bl LoadListMenuArrowsGfx
ldr r0, [r4]
ldr r1, =0x00000984
adds r0, r1
@@ -2559,7 +2559,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}
@@ -2918,7 +2918,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]
@@ -3545,7 +3545,7 @@ _081C5C12:
adds r1, r4, 0
adds r1, 0x8
adds r2, r4, 0x6
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
ldrh r1, [r4, 0x8]
ldrh r0, [r4, 0x6]
adds r1, r0
@@ -3565,14 +3565,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 sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r6, r0
@@ -3585,7 +3585,7 @@ _081C5C5C:
_081C5C88:
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
strh r4, [r0]
adds r0, r5, 0
bl sub_81C5B14
@@ -3594,7 +3594,7 @@ _081C5C88:
_081C5CA0:
movs r0, 0x5
bl PlaySE
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
mov r12, r2
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
@@ -3681,7 +3681,7 @@ sub_81C5D20: @ 81C5D20
b _081C5DD8
.pool
_081C5D74:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetBattleUsage
lsls r0, 24
@@ -3722,7 +3722,7 @@ _081C5DCE:
_081C5DD8:
strb r0, [r1]
_081C5DDA:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4195,7 +4195,7 @@ sub_81C61E0: @ 81C61E0
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl ItemId_GetPocket
lsls r0, 24
@@ -4207,7 +4207,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
@@ -4315,7 +4315,7 @@ sub_81C62C4: @ 81C62C4
b _081C6334
.pool
_081C62F4:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4362,7 +4362,7 @@ sub_81C6350: @ 81C6350
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4577,7 +4577,7 @@ sub_81C654C: @ 81C654C
lsls r4, 3
ldr r5, =gTasks + 0x8
adds r6, r4, r5
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4635,7 +4635,7 @@ sub_81C65CC: @ 81C65CC
beq _081C662E
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r4, 0x10]
bl RemovePyramidBagItem
@@ -4646,7 +4646,7 @@ sub_81C65CC: @ 81C65CC
bl sub_81C5924
bl sub_81C59BC
bl sub_81C5314
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r6]
ldrh r2, [r7]
bl ListMenuInit
@@ -4671,9 +4671,9 @@ sub_81C6648: @ 81C6648
lsrs r4, r0, 24
adds r6, r4, 0
bl sub_81C61A8
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4713,7 +4713,7 @@ sub_81C66AC: @ 81C66AC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4785,7 +4785,7 @@ sub_81C674C: @ 81C674C
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_80BF6D8_mail_related
lsls r0, 24
@@ -4820,7 +4820,7 @@ sub_81C679C: @ 81C679C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl ItemId_GetBattleFunc
cmp r0, 0
@@ -4953,18 +4953,18 @@ sub_81C68B0: @ 81C68B0
ldrb r0, [r4]
ldr r1, =gUnknown_0203CF38
subs r2, r1, 0x2
- bl get_coro_args_x18_x1A
+ bl sub_81AE860
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 sub_81AE860
movs r0, 0
bl sub_81C7028
subs r4, 0x8
@@ -5066,7 +5066,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]
@@ -5124,7 +5124,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
@@ -5238,7 +5238,7 @@ _081C6AF8:
bl Free
adds r0, r5, 0
bl Free
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _081C6BC6
@@ -5266,7 +5266,7 @@ _081C6B9C:
lsrs r6, r0, 24
cmp r6, 0x2
bls _081C6B9C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
adds r0, r7, 0
@@ -5362,7 +5362,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 +5408,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 +5547,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 +5756,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 0c7a80742..89516e65a 100755..100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -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
@@ -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
@@ -1571,7 +1571,7 @@ sub_81C7E58: @ 81C7E58
bl sub_8034974
adds r5, r0, 0
lsls r4, 5
- ldr r0, =gUnknown_08DC7F00
+ ldr r0, =gPokenavLeftHeader_Pal
adds r4, r0
movs r0, 0x1
bl IndexOfSpritePaletteTag
@@ -1653,7 +1653,7 @@ sub_81C7F24: @ 81C7F24
bl sub_8034974
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
@@ -7890,7 +7890,7 @@ _081CAF34:
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
@@ -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
@@ -8089,7 +8089,7 @@ _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]
@@ -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]
@@ -10864,7 +10864,7 @@ sub_81CC670: @ 81CC670
movs r0, 0x4
bl sub_81C763C
adds r4, r0, 0
- bl sub_812305C
+ bl FreeRegionMapIconResources
bl sub_81CC9EC
ldrb r0, [r4, 0x8]
bl RemoveWindow
@@ -10886,7 +10886,7 @@ sub_81CC6A4: @ 81CC6A4
bl TransferPlttBuffer
bl LoadOam
bl ProcessSpriteCopyRequests
- bl sub_81237B4
+ bl UpdateRegionMapVideoRegs
pop {r0}
bx r0
thumb_func_end sub_81CC6A4
@@ -10991,10 +10991,10 @@ _081CC784:
bne _081CC7AC
movs r0, 0x4
movs r1, 0x9
- bl sub_8124288
+ bl CreateRegionMapPlayerIcon
movs r0, 0x5
movs r1, 0xA
- bl sub_81240D4
+ bl CreateRegionMapCursor
bl sub_812454C
b _081CC77C
_081CC7AC:
@@ -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
@@ -13532,7 +13532,7 @@ _081CDBD0:
adds r0, r4, 0
mov r1, r8
adds r2, r5, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
mov r2, r9
lsls r1, r2, 7
adds r1, r7, r1
@@ -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 UnkTextUtil_Reset
ldr r4, =gStringVar1
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
movs r0, 0xFF
strb r0, [r4]
ldr r5, =gStringVar2
ldr r1, =gText_NumberF700
adds r0, r5, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
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 UnkTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl UnkTextUtil_SetPtrI
ldr r4, =gStringVar4
ldr r1, =gText_RibbonsF700
adds r0, r4, 0
- bl sub_81AFC28
+ bl UnkTextUtil_StringExpandPlaceholders
ldrb r0, [r5, 0xA]
movs r1, 0x44
bl FillWindowPixelBuffer
@@ -20738,7 +20738,7 @@ _081D15B6:
thumb_func_start sub_81D15BC
sub_81D15BC: @ 81D15BC
- ldr r1, =gUnknown_085500A4
+ ldr r1, =gRematchTable
lsls r0, 4
adds r0, r1
ldrh r0, [r0]
@@ -20751,7 +20751,7 @@ sub_81D15CC: @ 81D15CC
push {lr}
adds r3, r0, 0
movs r1, 0
- ldr r2, =gUnknown_085500A4
+ ldr r2, =gRematchTable
_081D15D4:
ldrh r0, [r2]
cmp r0, r3
@@ -21440,7 +21440,7 @@ _081D1A24:
cmp r0, 0
bne _081D1A1C
adds r0, r7, 0
- bl sub_80B2318
+ bl CountBattledRematchTeams
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
@@ -21900,7 +21900,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 +21921,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
@@ -22318,7 +22318,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 +22332,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 +22366,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
@@ -23376,7 +23376,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 +23751,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 +23765,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}
@@ -24408,7 +24408,7 @@ _081D30C4:
adds r0, r4, 0
adds r1, r6, 0
adds r2, r5, 0
- bl species_and_otid_get_pal
+ bl GetFrontSpritePalFromSpeciesAndPersonality
mov r1, r9
bl LZ77UnCompWram
_081D311A:
@@ -25722,7 +25722,7 @@ sub_81D3AD8: @ 81D3AD8
adds r5, r0, 0
adds r4, r1, 0
movs r0, 0x1E
- bl sub_81535DC
+ bl TryCopySpecialSaveSection
cmp r0, 0x1
bne _081D3B04
ldr r2, =0x00000ee8
@@ -26754,7 +26754,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,7 +26887,7 @@ _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]
@@ -27683,7 +27683,7 @@ _081D4AF8:
movs r2, 0x80
orrs r1, r2
strb r1, [r0]
- ldr r0, =gScriptFacing
+ ldr r0, =gSpecialVar_Facing
ldrh r0, [r0]
cmp r0, 0x2
beq _081D4B3A
@@ -28068,11 +28068,11 @@ 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
pop {r0}
@@ -28128,11 +28128,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
@@ -28186,11 +28186,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 +28212,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 +28248,7 @@ _081D4FA0:
movs r0, 0x5
b _081D500E
_081D4FB6:
- bl sub_800B320
+ bl IsLinkConnectionEstablished
lsls r0, 24
cmp r0, 0
beq _081D500C
@@ -28447,7 +28447,7 @@ _081D515C:
beq _081D5166
b _081D52FC
_081D5166:
- bl sub_80097E8
+ bl CloseLink
b _081D525C
_081D516C:
adds r0, r4, 0
@@ -28500,20 +28500,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 +28523,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 +28537,7 @@ _081D522E:
bne _081D523C
b _081D548A
_081D523C:
- bl sub_80097E8
+ bl CloseLink
bl sub_81D4E30
adds r0, r4, 0
bl sub_81D505C
@@ -28654,13 +28654,13 @@ _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
@@ -28670,7 +28670,7 @@ _081D536A:
cmp r0, 0
beq _081D537A
_081D5374:
- bl sub_80097E8
+ bl CloseLink
b _081D53C0
_081D537A:
bl GetBlockReceivedStatus
@@ -28880,7 +28880,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 +28947,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}
@@ -29323,7 +29323,7 @@ _081D5854:
sub_81D58D8: @ 81D58D8
push {lr}
bl sub_80008E8
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
movs r0, 0
strh r0, [r3]
ldr r0, =gSaveBlock1Ptr
@@ -29381,7 +29381,7 @@ sub_81D5924: @ 81D5924
cmp r4, 0
beq _081D596C
_081D5952:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
strh r0, [r1]
b _081D59C0
@@ -29413,12 +29413,12 @@ _081D596C:
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
b _081D59C0
.pool
_081D59BC:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r6, [r0]
_081D59C0:
pop {r3}
@@ -29444,7 +29444,7 @@ sub_81D59D0: @ 81D59D0
lsrs r5, r0, 24
cmp r5, 0
beq _081D59FC
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r3, [r0]
b _081D5A4E
.pool
@@ -29473,12 +29473,12 @@ _081D59FC:
adds r2, r0
ldr r0, [r2]
str r0, [r1]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081D5A4E
.pool
_081D5A48:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081D5A4E:
@@ -29556,7 +29556,7 @@ sub_81D5AD0: @ 81D5AD0
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081D5B20
.pool
@@ -29569,12 +29569,12 @@ _081D5B00:
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081D5B20
.pool
_081D5B1C:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
_081D5B20:
strh r0, [r1]
@@ -29653,12 +29653,12 @@ sub_81D5BBC: @ 81D5BBC
movs r2, 0
movs r3, 0x1
bl ConvertIntToDecimalStringN
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081D5BF0
.pool
_081D5BEC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_081D5BF0:
strh r0, [r1]
@@ -29672,7 +29672,7 @@ _081D5BF0:
sub_81D5C00: @ 81D5C00
push {lr}
bl sub_81D56B0
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
bl sub_81D5710
@@ -29721,12 +29721,12 @@ sub_81D5C5C: @ 81D5C5C
lsrs r1, r0, 24
cmp r1, 0
bne _081D5C74
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _081D5C7A
.pool
_081D5C74:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081D5C7A:
@@ -30022,7 +30022,7 @@ _081D5E64:
movs r1, 0xF
ands r0, r1
strh r0, [r5, 0xE]
- ldr r0, =gUnknown_082C83F0
+ ldr r0, =EventScript_2C83F0
str r0, [r5, 0x10]
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -30343,8 +30343,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,7 +30355,7 @@ 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)
@@ -30487,7 +30487,7 @@ _081D62A2:
thumb_func_start sub_81D62AC
sub_81D62AC: @ 81D62AC
- ldr r0, =gUnknown_082C83F0
+ ldr r0, =EventScript_2C83F0
bx lr
.pool
thumb_func_end sub_81D62AC
@@ -30495,7 +30495,7 @@ sub_81D62AC: @ 81D62AC
thumb_func_start sub_81D62B4
sub_81D62B4: @ 81D62B4
push {lr}
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrh r1, [r0]
movs r0, 0x5
bl sub_81D572C
@@ -30656,7 +30656,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
@@ -30772,7 +30772,7 @@ _081D64D4:
thumb_func_start sub_81D64DC
sub_81D64DC: @ 81D64DC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ef9
@@ -30825,7 +30825,7 @@ sub_81D6534: @ 81D6534
cmp r0, 0x6
beq _081D6560
bl sub_81D5C00
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
beq _081D6560
@@ -30851,12 +30851,12 @@ sub_81D6568: @ 81D6568
ands r0, r1
cmp r0, 0
beq _081D6590
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081D6594
.pool
_081D6590:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_081D6594:
strh r0, [r1]
diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s
new file mode 100644
index 000000000..da84a6565
--- /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 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 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
index 474eff46f..9ff2624d8 100644
--- a/asm/record_mixing.s
+++ b/asm/record_mixing.s
@@ -1185,7 +1185,7 @@ sub_80E89F8: @ 80E89F8
ldr r1, =0x00003030
adds r0, r1
adds r1, r5, 0
- bl sub_806FA9C
+ bl InitDaycareMailRecordMixing
ldr r0, =gUnknown_03001148
ldr r1, [r0]
adds r0, r6, 0
@@ -1228,7 +1228,7 @@ _080E8A78:
beq _080E8A90
mov r0, r8
movs r1, 0xFC
- bl sub_81DB4DC
+ bl PadNameString
_080E8A90:
ldrb r1, [r7]
lsrs r1, 4
diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s
deleted file mode 100644
index 55cfdf6ef..000000000
--- a/asm/recorded_battle.s
+++ /dev/null
@@ -1,2749 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8184DA4
-sub_8184DA4: @ 8184DA4
- 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
- ldr r0, =gUnknown_0203C7AC
- mov r1, r12
- strb r1, [r0]
- ldr r1, =gUnknown_0203CCD0
- movs r0, 0
- strb r0, [r1]
- movs r2, 0
- movs r7, 0
- ldr r3, =gUnknown_0203C7BC
- mov r10, r3
- ldr r6, =gUnknown_0203C794
- mov r9, r6
- ldr r0, =gUnknown_0203BD34
- mov r8, r0
-_08184DD0:
- lsls r0, r2, 1
- mov r3, r9
- adds r1, r0, r3
- strh r7, [r1]
- ldr r6, =gUnknown_0203C79C
- adds r1, r0, r6
- strh r7, [r1]
- ldr r1, =gUnknown_0203C7A4
- adds r0, r1
- strh r7, [r0]
- adds r4, r2, 0x1
- mov r3, r12
- cmp r3, 0x1
- bne _08184E1C
- ldr r5, =gBattleTypeFlags
- movs r3, 0xFF
- movs r1, 0xA6
- lsls r1, 2
- adds r0, r2, 0
- muls r0, r1
- mov r6, r8
- adds r2, r0, r6
-_08184DFC:
- ldrb r0, [r2]
- orrs r0, r3
- strb r0, [r2]
- adds r2, 0x1
- subs r1, 0x1
- cmp r1, 0
- bne _08184DFC
- ldr r0, [r5]
- ldr r1, =gUnknown_0203C7B8
- str r0, [r1]
- ldr r3, =gBattleResources
- ldr r0, [r3]
- ldr r0, [r0, 0x14]
- ldr r0, [r0, 0xC]
- mov r6, r10
- str r0, [r6]
-_08184E1C:
- adds r2, r4, 0
- cmp r2, 0x3
- ble _08184DD0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8184DA4
-
- thumb_func_start sub_8184E58
-sub_8184E58: @ 8184E58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r0, =gUnknown_0203C7AC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08184EA0
- ldr r1, =gRecordedBattleRngSeed
- ldr r0, =gRngValue
- ldr r0, [r0]
- str r0, [r1]
- ldr r4, =gUnknown_0203C7AE
- ldr r0, =0x000040cf
- bl VarGet
- strb r0, [r4]
- ldr r4, =gUnknown_0203C7AF
- bl sub_81A513C
- strb r0, [r4]
- b _08184EAC
- .pool
-_08184EA0:
- cmp r0, 0x2
- bne _08184EAC
- ldr r0, =gRngValue
- ldr r1, =gRecordedBattleRngSeed
- ldr r1, [r1]
- str r1, [r0]
-_08184EAC:
- ldr r0, =gBattleTypeFlags
- ldr r5, [r0]
- movs r0, 0x2
- ands r5, r0
- cmp r5, 0
- beq _08184F64
- bl GetMultiplayerId
- ldr r1, =gUnknown_0203C7B4
- strb r0, [r1]
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r5, 0
- ldr r0, =gUnknown_0203CC80
- mov r9, r0
- ldr r6, =gLinkPlayers
- movs r0, 0x8
- adds r0, r6
- mov r8, r0
- mov r7, r9
- adds r7, 0x4
-_08184EDC:
- lsls r0, r5, 2
- adds r0, r5
- lsls r4, r0, 2
- mov r0, r9
- adds r2, r4, r0
- lsls r0, r5, 3
- subs r0, r5
- lsls r3, r0, 2
- adds r0, r6, 0x4
- adds r0, r3, r0
- ldr r0, [r0]
- str r0, [r2]
- adds r1, r3, r6
- ldrb r0, [r1, 0x13]
- strb r0, [r2, 0xC]
- ldrh r0, [r1, 0x18]
- strh r0, [r2, 0xE]
- ldrh r0, [r1, 0x1A]
- strh r0, [r2, 0x10]
- cmp r5, r10
- bge _08184F3C
- mov r0, r8
- adds r1, r3, r0
- mov r0, sp
- bl StringCopy
- mov r0, sp
- bl StripExtCtrlCodes
- adds r0, r4, r7
- mov r1, sp
- bl StringCopy
- adds r5, 0x1
- b _08184F56
- .pool
-_08184F3C:
- adds r5, 0x1
- ldr r0, =gLinkPlayers + 8
- adds r1, r3, r0
- ldr r0, =gUnknown_0203CC84
- adds r2, r4, r0
- movs r3, 0x7
-_08184F48:
- ldrb r0, [r1]
- strb r0, [r2]
- adds r1, 0x1
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _08184F48
-_08184F56:
- cmp r5, 0x3
- ble _08184EDC
- b _08184FA0
- .pool
-_08184F64:
- ldr r3, =gUnknown_0203CC80
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- ldrb r1, [r2, 0xA]
- ldrb r0, [r2, 0xB]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0xC]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0xD]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- ldrb r0, [r2, 0x8]
- strb r0, [r3, 0xC]
- strh r5, [r3, 0xE]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strh r0, [r3, 0x10]
- movs r5, 0
- adds r3, 0x4
-_08184F90:
- adds r0, r5, r3
- ldr r1, [r4]
- adds r1, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r5, 0x1
- cmp r5, 0x7
- ble _08184F90
-_08184FA0:
- 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_8184E58
-
- thumb_func_start RecordedBattle_SetBankAction
-RecordedBattle_SetBankAction: @ 8184FBC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, =gUnknown_0203C794
- lsls r0, r5, 1
- adds r4, r0, r1
- ldrh r2, [r4]
- adds r3, r2, 0
- ldr r0, =0x00000297
- cmp r3, r0
- bhi _08184FF0
- ldr r0, =gUnknown_0203C7AC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08184FF0
- ldr r1, =gUnknown_0203BD34
- adds r0, r2, 0x1
- strh r0, [r4]
- movs r0, 0xA6
- lsls r0, 2
- muls r0, r5
- adds r0, r3, r0
- adds r0, r1
- strb r6, [r0]
-_08184FF0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RecordedBattle_SetBankAction
-
- thumb_func_start RecordedBattle_ClearBankAction
-RecordedBattle_ClearBankAction: @ 8185008
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r3, 0
- cmp r3, r4
- bge _08185046
- ldr r0, =gUnknown_0203C794
- lsls r1, r5, 1
- adds r2, r1, r0
- ldr r7, =gUnknown_0203BD34
- movs r0, 0xA6
- lsls r0, 2
- muls r5, r0
- movs r6, 0xFF
-_08185028:
- ldrh r0, [r2]
- subs r0, 0x1
- strh r0, [r2]
- ldrh r1, [r2]
- adds r1, r5
- adds r1, r7
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldrh r0, [r2]
- cmp r0, 0
- beq _08185046
- adds r3, 0x1
- cmp r3, r4
- blt _08185028
-_08185046:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RecordedBattle_ClearBankAction
-
- thumb_func_start RecordedBattle_ReadBankAction
-RecordedBattle_ReadBankAction: @ 8185054
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, =gUnknown_0203C794
- lsls r0, r3, 1
- adds r2, r0, r1
- ldrh r1, [r2]
- ldr r0, =0x00000297
- cmp r1, r0
- bhi _0818507A
- ldr r4, =gUnknown_0203BD34
- adds r0, 0x1
- muls r3, r0
- adds r0, r1, r3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081850BC
-_0818507A:
- ldr r2, =gScriptResult
- ldr r1, =gBattleOutcome
- movs r0, 0x5
- strb r0, [r1]
- movs r0, 0x5
- strh r0, [r2]
- bl ResetPaletteFadeControl
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =CB2_QuitRecordedBattle
- bl SetMainCallback2
- movs r0, 0xFF
- b _081850C6
- .pool
-_081850BC:
- adds r0, r1, 0x1
- strh r0, [r2]
- adds r0, r1, r3
- adds r0, r4
- ldrb r0, [r0]
-_081850C6:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end RecordedBattle_ReadBankAction
-
- thumb_func_start sub_81850D0
-sub_81850D0: @ 81850D0
- ldr r0, =gUnknown_0203C7AC
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81850D0
-
- thumb_func_start sub_81850DC
-sub_81850DC: @ 81850DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- movs r7, 0
- movs r0, 0
- mov r12, r0
-_081850F0:
- mov r1, r12
- lsls r3, r1, 1
- ldr r0, =gUnknown_0203C794
- adds r5, r3, r0
- ldr r1, =gUnknown_0203C79C
- adds r6, r3, r1
- ldrh r0, [r5]
- mov r9, r3
- mov r1, r12
- adds r1, 0x1
- str r1, [sp]
- ldrh r1, [r6]
- cmp r0, r1
- beq _0818517E
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- add r1, r8
- mov r0, r12
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- add r2, r8
- ldrb r0, [r5]
- ldrb r1, [r6]
- subs r0, r1
- strb r0, [r2]
- movs r4, 0
- ldrh r0, [r5]
- ldrh r1, [r6]
- subs r0, r1
- cmp r4, r0
- bge _08185172
- ldr r1, =gUnknown_0203BD34
- mov r10, r1
- ldr r6, =gUnknown_0203C79C
- movs r0, 0xA6
- lsls r0, 2
- mov r5, r12
- muls r5, r0
-_08185146:
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- add r1, r8
- adds r2, r3, r6
- ldrh r0, [r2]
- adds r0, r4
- adds r0, r5
- add r0, r10
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0203C794
- adds r0, r3, r1
- ldrh r1, [r0]
- ldrh r0, [r2]
- subs r1, r0
- cmp r4, r1
- blt _08185146
-_08185172:
- ldr r0, =gUnknown_0203C79C
- add r0, r9
- ldr r1, =gUnknown_0203C794
- add r1, r9
- ldrh r1, [r1]
- strh r1, [r0]
-_0818517E:
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r12, r0
- cmp r0, 0x3
- bls _081850F0
- adds r0, r7, 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_81850DC
-
- thumb_func_start sub_81851A8
-sub_81851A8: @ 81851A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- movs r1, 0x2
- mov r0, sp
- strb r1, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _0818525E
- movs r5, 0
- ldr r4, =gLinkPlayers
- b _081851DA
- .pool
-_081851D0:
- ldrb r0, [r4]
- cmp r0, 0x3
- bne _0818525E
- adds r4, 0x1C
- adds r5, 0x1
-_081851DA:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _081851D0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0818525E
- ldrb r0, [r7]
- mov r4, sp
- adds r4, 0x1
- strb r0, [r4]
- ldrb r0, [r4]
- mov r8, r4
- cmp r0, 0
- beq _0818525E
-_08185202:
- adds r0, r7, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_8185278
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_8185278
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08185256
- ldr r3, =gUnknown_0203BD34
- ldr r0, =gUnknown_0203C7A4
- lsls r1, r6, 1
- adds r4, r1, r0
- adds r5, r2, 0
- movs r0, 0xA6
- lsls r0, 2
- muls r6, r0
-_08185232:
- adds r0, r7, 0
- mov r1, sp
- mov r2, r8
- str r3, [sp, 0x4]
- bl sub_8185278
- ldrh r1, [r4]
- adds r2, r1, 0x1
- strh r2, [r4]
- lsls r1, 16
- lsrs r1, 16
- adds r1, r6
- ldr r3, [sp, 0x4]
- adds r1, r3
- strb r0, [r1]
- subs r5, 0x1
- cmp r5, 0
- bne _08185232
-_08185256:
- mov r4, r8
- ldrb r0, [r4]
- cmp r0, 0
- bne _08185202
-_0818525E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81851A8
-
- thumb_func_start sub_8185278
-sub_8185278: @ 8185278
- ldrb r3, [r2]
- subs r3, 0x1
- strb r3, [r2]
- ldrb r2, [r1]
- adds r3, r2, 0x1
- strb r3, [r1]
- lsls r2, 24
- lsrs r2, 24
- adds r0, r2
- ldrb r0, [r0]
- bx lr
- thumb_func_end sub_8185278
-
- thumb_func_start sub_8185290
-sub_8185290: @ 8185290
- push {r4,r5,lr}
- movs r0, 0xF8
- lsls r0, 4
- bl AllocZeroed
- adds r4, r0, 0
- bl start_ov_to_battle_anim
- adds r5, r0, 0
- adds r0, r4, 0
- bl Free
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8185290
-
- thumb_func_start sub_81852B0
-sub_81852B0: @ 81852B0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, =0x000004ec
- adds r0, r5, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _081852E8
- ldr r0, =0x7d007e92
- ands r1, r0
- cmp r1, 0
- bne _081852E8
- ldr r4, =0x00000f7c
- adds r0, r5, 0
- adds r1, r4, 0
- bl CalcByteArraySum
- adds r4, r5, r4
- ldr r1, [r4]
- cmp r0, r1
- bne _081852E8
- movs r0, 0x1
- b _081852EA
- .pool
-_081852E8:
- movs r0, 0
-_081852EA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81852B0
-
- thumb_func_start sub_81852F0
-sub_81852F0: @ 81852F0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x80
- lsls r2, 5
- adds r0, r5, 0
- movs r1, 0
- bl memset
- movs r2, 0xF8
- lsls r2, 4
- adds r0, r5, 0
- adds r1, r4, 0
- bl memcpy
- ldr r4, =0x00000f7c
- adds r0, r5, 0
- adds r1, r4, 0
- bl CalcByteArraySum
- adds r4, r5, r4
- str r0, [r4]
- movs r0, 0x1F
- adds r1, r5, 0
- bl sub_8153634
- cmp r0, 0x1
- bne _08185330
- movs r0, 0x1
- b _08185332
- .pool
-_08185330:
- movs r0, 0
-_08185332:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81852F0
-
- thumb_func_start MoveRecordedBattleToSaveData
-MoveRecordedBattleToSaveData: @ 8185338
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0xF8
- lsls r0, 4
- bl AllocZeroed
- adds r7, r0, 0
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- str r0, [sp]
- movs r6, 0
-_0818535E:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- adds r5, r7, r4
- ldr r1, =gUnknown_0203C7C0
- adds r1, r4, r1
- adds r0, r5, 0
- movs r2, 0x64
- bl memcpy
- movs r1, 0x96
- lsls r1, 2
- adds r5, r1
- ldr r0, =gUnknown_0203CA18
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r6, 0x1
- cmp r6, 0x5
- ble _0818535E
- movs r6, 0
- ldr r2, =gSaveBlock2Ptr
- mov r9, r2
- movs r3, 0x9A
- lsls r3, 3
- adds r3, r7, r3
- str r3, [sp, 0x8]
- ldr r5, =gUnknown_0203CC80
- mov r8, r6
- mov r12, r6
- movs r4, 0x96
- lsls r4, 3
- adds r4, r7
- mov r10, r4
- ldr r0, =0x000004e4
- adds r4, r7, r0
-_081853AC:
- lsls r1, r6, 3
- ldr r0, =gUnknown_0203CC80
- adds r0, 0x4
- mov r3, r8
- adds r2, r3, r0
- add r1, r10
- movs r3, 0x7
-_081853BA:
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _081853BA
- ldr r0, [sp, 0x8]
- adds r1, r0, r6
- ldrb r0, [r5, 0xC]
- strb r0, [r1]
- ldrh r0, [r5, 0x10]
- strb r0, [r4]
- ldrh r0, [r5, 0xE]
- strb r0, [r4, 0xC]
- ldr r1, =0x000004d4
- adds r0, r7, r1
- add r0, r12
- ldr r1, [r5]
- str r1, [r0]
- adds r5, 0x14
- movs r2, 0x14
- add r8, r2
- movs r3, 0x4
- add r12, r3
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, 0x3
- ble _081853AC
- movs r4, 0x9D
- lsls r4, 3
- adds r1, r7, r4
- ldr r5, =gRecordedBattleRngSeed
- ldr r0, [r5]
- str r0, [r1]
- ldr r0, =gUnknown_0203C7B8
- ldr r2, [r0]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _081854DC
- ldr r1, =0x000004ec
- adds r3, r7, r1
- movs r1, 0x23
- negs r1, r1
- ands r1, r2
- movs r0, 0x80
- lsls r0, 18
- orrs r1, r0
- str r1, [r3]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _08185454
- movs r0, 0x80
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081854E2
- .pool
-_08185454:
- movs r0, 0x40
- ands r2, r0
- cmp r2, 0
- beq _081854E2
- ldr r2, =gUnknown_0203CC80
- ldrh r0, [r2, 0xE]
- cmp r0, 0x1
- beq _081854A8
- cmp r0, 0x1
- bgt _08185474
- cmp r0, 0
- beq _0818547E
- b _081854E2
- .pool
-_08185474:
- cmp r0, 0x2
- beq _0818547E
- cmp r0, 0x3
- beq _081854A8
- b _081854E2
-_0818547E:
- ldr r3, =gUnknown_0203C7B4
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r4, =gUnknown_0203CC80
- adds r0, r4
- ldrh r1, [r0, 0xE]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081854E2
- ldr r5, =0x000004ec
- adds r0, r7, r5
- b _081854C4
- .pool
-_081854A8:
- ldr r0, =gUnknown_0203C7B4
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, =gUnknown_0203CC80
- adds r0, r1
- ldrh r1, [r0, 0xE]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081854E2
- ldr r2, =0x000004ec
- adds r0, r7, r2
-_081854C4:
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0]
- b _081854E2
- .pool
-_081854DC:
- ldr r3, =0x000004ec
- adds r0, r7, r3
- str r2, [r0]
-_081854E2:
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r1, [r4]
- ldr r5, =0x000004f4
- adds r0, r7, r5
- strh r1, [r0]
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r1, [r0]
- ldr r2, =0x000004f6
- adds r0, r7, r2
- strh r1, [r0]
- ldr r3, =gPartnerTrainerId
- ldrh r1, [r3]
- movs r4, 0x9F
- lsls r4, 3
- adds r0, r7, r4
- strh r1, [r0]
- ldr r5, =gUnknown_0203C7B4
- ldrb r1, [r5]
- adds r2, 0x4
- adds r0, r7, r2
- strh r1, [r0]
- mov r3, r9
- ldr r0, [r3]
- ldr r4, =0x00000ca9
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- ldr r5, =0x000004fc
- adds r1, r7, r5
- strb r0, [r1]
- ldr r0, =gUnknown_0203C7AE
- ldrb r1, [r0]
- adds r2, 0x3
- adds r0, r7, r2
- strb r1, [r0]
- ldr r3, =gUnknown_0203C7AF
- ldrb r1, [r3]
- ldr r4, =0x000004fe
- adds r0, r7, r4
- strb r1, [r0]
- mov r5, r9
- ldr r0, [r5]
- ldrb r1, [r0, 0x15]
- lsls r1, 29
- ldr r0, =0x000004ff
- adds r3, r7, r0
- lsrs r1, 31
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldr r1, [r5]
- ldrb r1, [r1, 0x14]
- lsls r1, 29
- lsrs r1, 28
- movs r2, 0xF
- negs r2, r2
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r2, 0xA0
- lsls r2, 3
- adds r1, r7, r2
- ldr r3, =gUnknown_0203C7BC
- ldr r0, [r3]
- str r0, [r1]
- ldr r4, =0xfffffed4
- adds r1, r4, 0
- ldr r5, =gTrainerBattleOpponent_A
- ldrh r5, [r5]
- adds r0, r1, r5
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x63
- bls _08185580
- b _081856C4
-_08185580:
- movs r6, 0
- ldr r0, =0x00000504
- adds r3, r7, r0
- mov r10, r9
- ldr r1, =gTrainerBattleOpponent_A
- mov r12, r1
- adds r2, r4, 0
- mov r8, r2
- ldr r4, =0x0000073c
-_08185592:
- adds r2, r3, r6
- mov r5, r10
- ldr r1, [r5]
- mov r5, r12
- ldrh r0, [r5]
- add r0, r8
- movs r5, 0xEC
- muls r0, r5
- adds r0, r6, r0
- adds r1, r4
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x7
- ble _08185592
- mov r0, r9
- ldr r2, [r0]
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r0, [r1]
- ldr r3, =0xfffffed4
- adds r0, r3
- movs r1, 0xEC
- muls r0, r1
- adds r2, r0
- ldr r4, =0x00000739
- adds r2, r4
- ldrb r1, [r2]
- ldr r5, =0x0000050c
- adds r0, r7, r5
- strb r1, [r0]
- ldr r1, =gUnknown_0203CCE8
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08185664
- movs r6, 0
- ldr r2, =0x0000050e
- adds r4, r7, r2
- mov r10, r9
- ldr r5, =gTrainerBattleOpponent_A
- mov r8, r5
- adds r5, r3, 0
-_081855E6:
- lsls r3, r6, 1
- mov r0, r10
- ldr r2, [r0]
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r5
- movs r1, 0xEC
- muls r0, r1
- adds r3, r0
- movs r0, 0xEC
- lsls r0, 3
- adds r2, r0
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _081855E6
- b _08185696
- .pool
-_08185664:
- movs r6, 0
- ldr r1, =0x0000050e
- adds r4, r7, r1
- mov r10, r9
- ldr r2, =gTrainerBattleOpponent_A
- mov r8, r2
- adds r5, r3, 0
-_08185672:
- lsls r3, r6, 1
- mov r0, r10
- ldr r2, [r0]
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r5
- movs r1, 0xEC
- muls r0, r1
- adds r3, r0
- ldr r0, =0x00000754
- adds r2, r0
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _08185672
-_08185696:
- mov r1, r9
- ldr r2, [r1]
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r0, [r3]
- ldr r4, =0xfffffed4
- adds r0, r4
- movs r1, 0xEC
- muls r0, r1
- adds r2, r0
- ldr r5, =0x0000081c
- adds r2, r5
- ldrb r1, [r2]
- b _08185856
- .pool
-_081856C4:
- ldr r3, =gTrainerBattleOpponent_B
- ldrh r3, [r3]
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x63
- bls _081856D4
- b _081857E4
-_081856D4:
- movs r6, 0
- ldr r4, =0x00000504
- adds r3, r7, r4
- mov r10, r9
- ldr r5, =gTrainerBattleOpponent_B
- mov r12, r5
- ldr r0, =0xfffffed4
- mov r8, r0
- ldr r4, =0x0000073c
-_081856E6:
- adds r2, r3, r6
- mov r5, r10
- ldr r1, [r5]
- mov r5, r12
- ldrh r0, [r5]
- add r0, r8
- movs r5, 0xEC
- muls r0, r5
- adds r0, r6, r0
- adds r1, r4
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x7
- ble _081856E6
- mov r0, r9
- ldr r2, [r0]
- ldr r1, =gTrainerBattleOpponent_B
- ldrh r0, [r1]
- ldr r3, =0xfffffed4
- adds r0, r3
- movs r1, 0xEC
- muls r0, r1
- adds r2, r0
- ldr r4, =0x00000739
- adds r2, r4
- ldrb r1, [r2]
- ldr r5, =0x0000050c
- adds r0, r7, r5
- strb r1, [r0]
- ldr r1, =gUnknown_0203CCE8
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08185784
- movs r6, 0
- ldr r2, =0x0000050e
- adds r4, r7, r2
- mov r10, r9
- ldr r5, =gTrainerBattleOpponent_B
- mov r8, r5
- adds r5, r3, 0
-_0818573A:
- lsls r3, r6, 1
- mov r0, r10
- ldr r2, [r0]
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r5
- movs r1, 0xEC
- muls r0, r1
- adds r3, r0
- movs r0, 0xEC
- lsls r0, 3
- adds r2, r0
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _0818573A
- b _081857B6
- .pool
-_08185784:
- movs r6, 0
- ldr r1, =0x0000050e
- adds r4, r7, r1
- mov r10, r9
- ldr r2, =gTrainerBattleOpponent_B
- mov r8, r2
- adds r5, r3, 0
-_08185792:
- lsls r3, r6, 1
- mov r0, r10
- ldr r2, [r0]
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r5
- movs r1, 0xEC
- muls r0, r1
- adds r3, r0
- ldr r0, =0x00000754
- adds r2, r0
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _08185792
-_081857B6:
- mov r1, r9
- ldr r2, [r1]
- ldr r3, =gTrainerBattleOpponent_B
- ldrh r0, [r3]
- ldr r4, =0xfffffed4
- adds r0, r4
- movs r1, 0xEC
- muls r0, r1
- adds r2, r0
- ldr r5, =0x0000081c
- adds r2, r5
- ldrb r1, [r2]
- b _08185856
- .pool
-_081857E4:
- ldr r3, =gPartnerTrainerId
- ldrh r3, [r3]
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x63
- bhi _0818585C
- movs r6, 0
- ldr r4, =0x00000504
- adds r3, r7, r4
- mov r10, r9
- ldr r5, =gPartnerTrainerId
- mov r12, r5
- ldr r0, =0xfffffed4
- mov r8, r0
- ldr r4, =0x0000073c
-_08185804:
- adds r2, r3, r6
- mov r5, r10
- ldr r1, [r5]
- mov r5, r12
- ldrh r0, [r5]
- add r0, r8
- movs r5, 0xEC
- muls r0, r5
- adds r0, r6, r0
- adds r1, r4
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x7
- ble _08185804
- mov r0, r9
- ldr r1, [r0]
- ldr r2, =gPartnerTrainerId
- ldrh r0, [r2]
- ldr r3, =0xfffffed4
- adds r0, r3
- movs r2, 0xEC
- muls r0, r2
- adds r1, r0
- ldr r4, =0x00000739
- adds r1, r4
- ldrb r1, [r1]
- ldr r5, =0x0000050c
- adds r0, r7, r5
- strb r1, [r0]
- mov r0, r9
- ldr r1, [r0]
- ldr r4, =gPartnerTrainerId
- ldrh r0, [r4]
- adds r0, r3
- muls r0, r2
- adds r1, r0
- ldr r5, =0x0000081c
- adds r1, r5
- ldrb r1, [r1]
-_08185856:
- ldr r2, =0x0000051a
- adds r0, r7, r2
- strb r1, [r0]
-_0818585C:
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r0, [r3]
- ldr r1, =0x0000018f
- cmp r0, r1
- bls _08185900
- mov r4, r9
- ldr r2, [r4]
- adds r1, r0, 0
- ldr r3, =0xfffffe70
- adds r1, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, 0xDC
- ldrb r0, [r2]
- lsls r0, 27
- lsrs r0, 27
- ldr r5, =0x0000050d
- adds r1, r7, r5
- strb r0, [r1]
- movs r6, 0
- ldr r0, =0x0000050e
- adds r4, r7, r0
- mov r10, r9
- ldr r1, =gTrainerBattleOpponent_A
- mov r8, r1
- adds r5, r3, 0
-_08185894:
- lsls r3, r6, 1
- mov r0, r10
- ldr r2, [r0]
- mov r0, r8
- ldrh r1, [r0]
- adds r1, r5
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0
- movs r1, 0x82
- lsls r1, 1
- adds r2, r1
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _08185894
- mov r3, r9
- ldr r2, [r3]
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r1, [r4]
- ldr r5, =0xfffffe70
- adds r1, r5
- b _081859AC
- .pool
-_08185900:
- ldr r3, =gTrainerBattleOpponent_B
- ldrh r0, [r3]
- cmp r0, r1
- bls _0818597C
- mov r4, r9
- ldr r2, [r4]
- adds r1, r0, 0
- ldr r3, =0xfffffe70
- adds r1, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, 0xDC
- ldrb r0, [r2]
- lsls r0, 27
- lsrs r0, 27
- ldr r5, =0x0000050d
- adds r1, r7, r5
- strb r0, [r1]
- movs r6, 0
- ldr r0, =0x0000050e
- adds r4, r7, r0
- mov r10, r9
- ldr r1, =gTrainerBattleOpponent_B
- mov r8, r1
- adds r5, r3, 0
-_08185936:
- lsls r3, r6, 1
- mov r0, r10
- ldr r2, [r0]
- mov r0, r8
- ldrh r1, [r0]
- adds r1, r5
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r0
- movs r1, 0x82
- lsls r1, 1
- adds r2, r1
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _08185936
- mov r3, r9
- ldr r2, [r3]
- ldr r4, =gTrainerBattleOpponent_B
- ldrh r1, [r4]
- ldr r5, =0xfffffe70
- adds r1, r5
- b _081859AC
- .pool
-_0818597C:
- ldr r3, =gPartnerTrainerId
- ldrh r0, [r3]
- cmp r0, r1
- bls _081859C0
- mov r4, r9
- ldr r2, [r4]
- adds r1, r0, 0
- ldr r3, =0xfffffe70
- adds r1, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, 0xDC
- ldrb r0, [r2]
- lsls r0, 27
- lsrs r0, 27
- ldr r5, =0x0000050d
- adds r1, r7, r5
- strb r0, [r1]
- ldr r2, [r4]
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- adds r1, r3
-_081859AC:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r1, =0x0000011b
- adds r0, r2, r1
- ldrb r1, [r0]
- ldr r2, =0x0000051b
- adds r0, r7, r2
- strb r1, [r0]
-_081859C0:
- movs r6, 0
- ldr r3, =0x00000297
- mov r10, r3
- ldr r4, =gUnknown_0203BD34
- mov r9, r4
- movs r5, 0xA6
- lsls r5, 2
- mov r8, r5
- ldr r0, =0x0000051c
- adds r5, r7, r0
-_081859D4:
- adds r4, r6, 0x1
- mov r0, r8
- muls r0, r6
- mov r1, r9
- adds r2, r0, r1
- adds r1, r0, r5
- mov r3, r10
- adds r3, 0x1
-_081859E4:
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _081859E4
- adds r6, r4, 0
- cmp r6, 0x3
- ble _081859D4
-_081859F8:
- adds r0, r7, 0
- ldr r1, [sp]
- bl sub_81852F0
- adds r4, r0, 0
- cmp r4, 0x1
- beq _08185A14
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- cmp r0, 0x2
- bls _081859F8
-_08185A14:
- adds r0, r7, 0
- bl Free
- ldr r0, [sp]
- bl Free
- adds r0, r4, 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 MoveRecordedBattleToSaveData
-
- thumb_func_start sub_8185A54
-sub_8185A54: @ 8185A54
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0x1F
- bl sub_81535DC
- cmp r0, 0x1
- bne _08185A7E
- movs r2, 0xF8
- lsls r2, 4
- adds r0, r5, 0
- adds r1, r4, 0
- bl memcpy
- adds r0, r5, 0
- bl sub_81852B0
- cmp r0, 0
- beq _08185A7E
- movs r0, 0x1
- b _08185A80
-_08185A7E:
- movs r0, 0
-_08185A80:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8185A54
-
- thumb_func_start start_ov_to_battle_anim
-start_ov_to_battle_anim: @ 8185A88
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 5
- bl AllocZeroed
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8185A54
- adds r4, r0, 0
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end start_ov_to_battle_anim
-
- thumb_func_start sub_8185AB0
-sub_8185AB0: @ 8185AB0
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gUnknown_0203C7AD
- ldrb r0, [r0]
- ldr r1, =0x00000ca9
- adds r2, r1
- movs r1, 0x3
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleOutcome
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gBattleTypeFlags
- movs r1, 0
- str r1, [r0]
- ldr r0, =gTrainerBattleOpponent_A
- strh r1, [r0]
- ldr r0, =gTrainerBattleOpponent_B
- strh r1, [r0]
- ldr r0, =gPartnerTrainerId
- strh r1, [r0]
- bl sub_8185EFC
- ldr r0, =gUnknown_0203C7B0
- ldr r0, [r0]
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8185AB0
-
- thumb_func_start sub_8185B1C
-sub_8185B1C: @ 8185B1C
- 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
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bne _08185B4A
- ldr r0, =gMain
- ldr r1, =sub_8185AB0
- str r1, [r0, 0x8]
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08185B4A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8185B1C
-
- thumb_func_start sub_8185B60
-sub_8185B60: @ 8185B60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r0, 0
- bl ZeroPlayerPartyMons
- bl ZeroEnemyPartyMons
- movs r6, 0
- ldr r0, =gPlayerParty
- mov r8, r0
-_08185B7C:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- mov r1, r8
- adds r0, r4, r1
- adds r5, r7, r4
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- ldr r0, =gEnemyParty
- adds r4, r0
- movs r2, 0x96
- lsls r2, 2
- adds r5, r2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r6, 0x1
- cmp r6, 0x5
- ble _08185B7C
- movs r6, 0
- ldr r3, =gLinkPlayers
- mov r8, r3
- mov r0, r8
- adds r0, 0x8
- str r0, [sp]
- mov r4, r8
- adds r4, 0x4
- mov r10, r6
- mov r9, r6
-_08185BBE:
- movs r1, 0
- mov r12, r1
- lsls r5, r6, 2
- movs r2, 0x96
- lsls r2, 3
- adds r0, r7, r2
- mov r3, r9
- adds r2, r3, r0
- mov r0, r10
- lsls r1, r0, 2
- mov r0, r8
- adds r0, 0x8
- adds r1, r0
- movs r3, 0x7
-_08185BDA:
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _08185BE8
- movs r0, 0x1
- mov r12, r0
-_08185BE8:
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _08185BDA
- movs r1, 0x9A
- lsls r1, 3
- adds r0, r7, r1
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r4, 0xF]
- ldr r2, =0x000004e4
- adds r0, r7, r2
- adds r0, r6
- ldrb r1, [r0]
- strh r1, [r4, 0x16]
- movs r3, 0x9E
- lsls r3, 3
- adds r0, r7, r3
- adds r0, r6
- ldrb r0, [r0]
- strh r0, [r4, 0x14]
- subs r2, 0x10
- adds r0, r7, r2
- adds r0, r5
- ldr r0, [r0]
- str r0, [r4]
- mov r3, r12
- cmp r3, 0
- beq _08185C2A
- ldr r0, [sp]
- bl ConvertInternationalString
-_08185C2A:
- ldr r0, [sp]
- adds r0, 0x1C
- str r0, [sp]
- adds r4, 0x1C
- movs r1, 0x7
- add r10, r1
- movs r2, 0x8
- add r9, r2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08185BBE
- ldr r1, =gRecordedBattleRngSeed
- movs r3, 0x9D
- lsls r3, 3
- adds r0, r7, r3
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, =gBattleTypeFlags
- ldr r1, =0x000004ec
- adds r0, r7, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gTrainerBattleOpponent_A
- ldr r2, =0x000004f4
- adds r0, r7, r2
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gTrainerBattleOpponent_B
- adds r3, 0xE
- adds r0, r7, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gPartnerTrainerId
- adds r2, 0x4
- adds r0, r7, r2
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_0203C7B4
- adds r3, 0x4
- adds r0, r7, r3
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r1, =gUnknown_0203C7AD
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r1]
- ldr r1, =gUnknown_0203C7AE
- ldr r2, =0x000004fd
- adds r0, r7, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, =gUnknown_0203C7AF
- adds r2, 0x1
- adds r0, r7, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r2, =gUnknown_0203C7B6
- ldr r1, =0x000004ff
- adds r0, r7, r1
- ldrb r1, [r0]
- lsls r0, r1, 31
- lsrs r0, 31
- strb r0, [r2]
- ldr r0, =gUnknown_0203C7B7
- lsls r1, 28
- lsrs r1, 29
- strb r1, [r0]
- ldr r1, =gUnknown_0203C7BC
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r7, r2
- ldr r0, [r0]
- str r0, [r1]
- movs r6, 0
- mov r10, r3
- ldr r2, =gUnknown_0203CCD9
- ldr r3, =gUnknown_0203CCDA
- ldr r0, =gUnknown_03001278
- mov r8, r0
- ldr r1, =gUnknown_03001279
- mov r9, r1
- ldr r5, =gUnknown_0203CCD1
- ldr r0, =0x00000504
- adds r4, r7, r0
-_08185CE2:
- adds r0, r6, r5
- adds r1, r4, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x7
- ble _08185CE2
- ldr r1, =0x0000050c
- adds r0, r7, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r2, =0x0000050d
- adds r0, r7, r2
- ldrb r0, [r0]
- strb r0, [r3]
- ldr r3, =0x0000051a
- adds r0, r7, r3
- ldrb r0, [r0]
- mov r1, r8
- strb r0, [r1]
- adds r2, 0xE
- adds r0, r7, r2
- ldrb r0, [r0]
- mov r3, r9
- strb r0, [r3]
- ldr r0, =0x0000050e
- adds r1, r7, r0
- ldr r4, =gUnknown_0203CCDC
- movs r6, 0x5
-_08185D1C:
- ldrh r0, [r1]
- strh r0, [r4]
- adds r1, 0x2
- adds r4, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08185D1C
- mov r1, r10
- ldr r2, [r1]
- ldr r3, =0x000004fc
- adds r0, r7, r3
- ldrb r0, [r0]
- ldr r1, =0x00000ca9
- adds r2, r1
- movs r1, 0x3
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- movs r6, 0
- ldr r2, =0x00000297
- mov r10, r2
- ldr r3, =gUnknown_0203BD34
- mov r9, r3
- movs r0, 0xA6
- lsls r0, 2
- mov r8, r0
- ldr r1, =0x0000051c
- adds r5, r7, r1
-_08185D5C:
- adds r2, r6, 0x1
- mov r0, r8
- muls r0, r6
- adds r1, r0, r5
- mov r3, r9
- adds r4, r0, r3
- mov r3, r10
- adds r3, 0x1
-_08185D6C:
- ldrb r0, [r1]
- strb r0, [r4]
- adds r1, 0x1
- adds r4, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _08185D6C
- adds r6, r2, 0
- cmp r6, 0x3
- ble _08185D5C
- 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_8185B60
-
- thumb_func_start sub_8185E24
-sub_8185E24: @ 8185E24
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0xF8
- lsls r0, 4
- bl AllocZeroed
- adds r4, r0, 0
- bl start_ov_to_battle_anim
- cmp r0, 0x1
- bne _08185E6E
- bl sub_8185EB8
- adds r0, r4, 0
- bl sub_8185B60
- ldr r0, =sub_8185B1C
- 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
- movs r0, 0x80
- strh r0, [r1, 0x8]
- ldr r0, =gUnknown_0203C7B0
- str r5, [r0]
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- ldr r0, =sub_8185E8C
- bl SetMainCallback2
-_08185E6E:
- adds r0, r4, 0
- bl Free
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8185E24
-
- thumb_func_start sub_8185E8C
-sub_8185E8C: @ 8185E8C
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_8185E8C
-
- thumb_func_start sub_8185EA0
-sub_8185EA0: @ 8185EA0
- ldr r0, =gUnknown_0203C7AE
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8185EA0
-
- thumb_func_start sub_8185EAC
-sub_8185EAC: @ 8185EAC
- ldr r0, =gUnknown_0203C7AF
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8185EAC
-
- thumb_func_start sub_8185EB8
-sub_8185EB8: @ 8185EB8
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gUnknown_0203C7C0
-_08185EBE:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- adds r0, r4, r6
- ldr r1, =gPlayerParty
- adds r1, r4, r1
- movs r2, 0x64
- bl memcpy
- ldr r0, =gUnknown_0203CA18
- adds r0, r4, r0
- ldr r1, =gEnemyParty
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x1
- cmp r5, 0x5
- ble _08185EBE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8185EB8
-
- thumb_func_start sub_8185EFC
-sub_8185EFC: @ 8185EFC
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gPlayerParty
-_08185F02:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- adds r0, r4, r6
- ldr r1, =gUnknown_0203C7C0
- adds r1, r4, r1
- movs r2, 0x64
- bl memcpy
- ldr r0, =gEnemyParty
- adds r0, r4, r0
- ldr r1, =gUnknown_0203CA18
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x1
- cmp r5, 0x5
- ble _08185F02
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8185EFC
-
- thumb_func_start sub_8185F40
-sub_8185F40: @ 8185F40
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, =gLinkPlayers
- ldr r3, =gActiveBank
- ldrh r1, [r0, 0x18]
- adds r4, r0, 0
- ldrb r0, [r3]
- cmp r1, r0
- beq _08185F64
- adds r1, r4, 0
-_08185F54:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08185F64
- ldrh r0, [r1, 0x18]
- ldrb r5, [r3]
- cmp r0, r5
- bne _08185F54
-_08185F64:
- cmp r2, 0x4
- bne _08185F74
- movs r0, 0
- b _08185F7E
- .pool
-_08185F74:
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x13]
-_08185F7E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8185F40
-
- thumb_func_start sub_8185F84
-sub_8185F84: @ 8185F84
- ldr r1, =gUnknown_0203C7B5
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8185F84
-
- thumb_func_start sub_8185F90
-sub_8185F90: @ 8185F90
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gUnknown_0203C7B5
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- lsls r0, 16
- lsrs r0, 31
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8185F90
-
- thumb_func_start sub_8185FAC
-sub_8185FAC: @ 8185FAC
- ldr r0, =gUnknown_0203C7B5
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8185FAC
-
- thumb_func_start sub_8185FB8
-sub_8185FB8: @ 8185FB8
- ldr r0, =gUnknown_0203C7B6
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8185FB8
-
- thumb_func_start sub_8185FC4
-sub_8185FC4: @ 8185FC4
- ldr r0, =gUnknown_0203C7B7
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8185FC4
-
- thumb_func_start sub_8185FD0
-sub_8185FD0: @ 8185FD0
- push {r4-r7,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0818601C
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- bne _0818601C
- ldr r0, =gUnknown_0203C7AC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0818601C
- movs r3, 0
- ldr r7, =gUnknown_0203CC70
- adds r6, r4, 0
- ldr r5, =gBattleMons + 0xC
- movs r4, 0x58
-_08186000:
- lsls r2, r3, 1
- ldrb r1, [r6]
- lsrs r0, r1, 1
- lsls r0, 3
- adds r0, r2, r0
- adds r0, r7
- muls r1, r4
- adds r2, r1
- adds r2, r5
- ldrh r1, [r2]
- strh r1, [r0]
- adds r3, 0x1
- cmp r3, 0x3
- ble _08186000
-_0818601C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8185FD0
-
- thumb_func_start sub_818603C
-sub_818603C: @ 818603C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _0818605C
- b _081863FC
-_0818605C:
- movs r0, 0
- mov r10, r0
- b _081863F2
- .pool
-_0818606C:
- mov r1, r10
- lsls r4, r1, 24
- lsrs r5, r4, 24
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp, 0x4C]
- mov r2, r10
- adds r2, 0x1
- str r2, [sp, 0x38]
- cmp r0, 0x1
- bne _0818608A
- b _081863EE
-_0818608A:
- ldr r3, [sp, 0x24]
- cmp r3, 0x1
- bne _0818611E
- movs r5, 0
- ldr r4, =gUnknown_0203CC70
- mov r0, r10
- asrs r6, r0, 31
- subs r0, r6
- asrs r0, 1
- lsls r0, 3
- adds r2, r0, r4
- movs r1, 0x58
- mov r0, r10
- muls r0, r1
- ldr r3, =gBattleMons + 0xC
- adds r1, r0, r3
-_081860AA:
- ldrh r0, [r1]
- ldrh r4, [r2]
- cmp r0, r4
- bne _081860BC
- adds r2, 0x2
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _081860AA
-_081860BC:
- cmp r5, 0x4
- bne _081860C2
- b _081863EE
-_081860C2:
- ldr r1, [sp, 0x4C]
- lsrs r0, r1, 24
- movs r1, 0x6
- bl RecordedBattle_SetBankAction
- movs r5, 0
- ldr r2, =gUnknown_0203CC70
- mov r8, r2
- movs r3, 0x58
- mov r7, r10
- muls r7, r3
- mov r4, r10
- subs r0, r4, r6
- asrs r4, r0, 1
-_081860DE:
- movs r2, 0
- lsls r0, r5, 1
- adds r5, 0x1
- adds r0, r7
- ldr r1, =gBattleMons + 0xC
- adds r3, r0, r1
- lsls r0, r4, 3
- mov r6, r8
- adds r1, r0, r6
-_081860F0:
- ldrh r0, [r3]
- ldrh r6, [r1]
- cmp r0, r6
- bne _08186110
- lsls r1, r2, 24
- lsrs r1, 24
- ldr r2, [sp, 0x4C]
- lsrs r0, r2, 24
- bl RecordedBattle_SetBankAction
- b _08186118
- .pool
-_08186110:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x3
- ble _081860F0
-_08186118:
- cmp r5, 0x3
- ble _081860DE
- b _081863EE
-_0818611E:
- ldr r3, =gUnknown_0203BD34
- ldr r1, =gUnknown_0203C794
- mov r4, r10
- lsls r2, r4, 1
- adds r1, r2, r1
- movs r0, 0xA6
- lsls r0, 2
- mov r6, r10
- muls r6, r0
- adds r0, r6, 0
- ldrh r1, [r1]
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- str r2, [sp, 0x44]
- cmp r0, 0x6
- beq _08186142
- b _081863EE
-_08186142:
- adds r0, r5, 0
- bl RecordedBattle_ReadBankAction
- movs r5, 0
- mov r0, sp
- adds r0, 0x4
- str r0, [sp, 0x28]
- mov r1, sp
- adds r1, 0xC
- str r1, [sp, 0x30]
- mov r2, sp
- adds r2, 0x14
- str r2, [sp, 0x34]
- mov r3, sp
- adds r3, 0x18
- str r3, [sp, 0x3C]
- mov r4, sp
- adds r4, 0x8
- str r4, [sp, 0x2C]
- mov r6, r10
- lsls r6, 3
- str r6, [sp, 0x48]
- movs r1, 0x58
- mov r0, r10
- muls r0, r1
- ldr r2, =gBattleMons
- adds r0, r2
- adds r6, r0, 0
- adds r6, 0x3B
- movs r4, 0x3
-_0818617E:
- mov r0, sp
- adds r3, r0, r5
- ldrb r1, [r6]
- lsls r2, r5, 1
- adds r0, r4, 0
- lsls r0, r2
- ands r1, r0
- asrs r1, r2
- strb r1, [r3]
- adds r5, 0x1
- cmp r5, 0x3
- ble _0818617E
- movs r5, 0
- ldr r1, =gBattleMons
- mov r9, r1
- movs r2, 0x58
- mov r7, r10
- muls r7, r2
- ldr r4, [sp, 0x28]
- ldr r6, [sp, 0x30]
-_081861A6:
- ldr r3, [sp, 0x4C]
- lsrs r0, r3, 24
- bl RecordedBattle_ReadBankAction
- strb r0, [r4]
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r7
- movs r1, 0xC
- add r1, r9
- mov r8, r1
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r6]
- ldr r2, [sp, 0x34]
- adds r1, r2, r5
- ldrb r0, [r4]
- adds r0, r7
- ldr r3, =gBattleMons + 0x24
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [sp, 0x3C]
- adds r1, r0, r5
- ldrb r0, [r4]
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [sp, 0x2C]
- adds r3, r1, r5
- ldr r2, [sp, 0x48]
- mov r1, r10
- subs r0, r2, r1
- lsls r0, 2
- ldr r2, =gDisableStructs
- adds r0, r2
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- lsrs r1, r5
- strb r1, [r3]
- adds r4, 0x1
- adds r6, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _081861A6
- movs r5, 0
- movs r3, 0xC
- negs r3, r3
- add r3, r8
- mov r12, r3
- ldr r4, =gDisableStructs
- mov r9, r4
- movs r6, 0x58
- mov r1, r10
- muls r1, r6
- mov r0, r8
- adds r0, 0x18
- adds r4, r1, r0
- adds r3, r1, 0
- mov r7, r8
- ldr r6, [sp, 0x34]
- ldr r2, [sp, 0x30]
-_0818622C:
- adds r1, r3, r7
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, r6, r5
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- adds r3, 0x2
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _0818622C
- movs r0, 0x58
- mov r4, r10
- muls r4, r0
- mov r1, r12
- adds r0, r4, r1
- adds r0, 0x3B
- movs r1, 0
- strb r1, [r0]
- ldr r2, [sp, 0x48]
- mov r6, r10
- subs r3, r2, r6
- lsls r3, 2
- mov r0, r9
- adds r2, r3, r0
- ldrb r1, [r2, 0x18]
- movs r0, 0xF
- ands r0, r1
- strb r0, [r2, 0x18]
- movs r5, 0
- ldr r1, =gBattleMons
- adds r4, r1
- adds r4, 0x3B
- ldr r0, =gDisableStructs
- adds r6, r3, r0
-_08186274:
- ldr r2, [sp, 0x3C]
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r1, r5, 1
- lsls r0, r1
- ldrb r1, [r4]
- orrs r0, r1
- strb r0, [r4]
- ldrb r2, [r6, 0x18]
- lsrs r3, r2, 4
- ldr r1, [sp, 0x2C]
- adds r0, r1, r5
- ldrb r1, [r0]
- lsls r1, r5
- orrs r1, r3
- lsls r1, 4
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x18]
- adds r5, 0x1
- cmp r5, 0x3
- ble _08186274
- movs r2, 0x58
- mov r0, r10
- muls r0, r2
- mov r1, r12
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- beq _081862BC
- b _081863CA
-_081862BC:
- movs r5, 0
- mov r3, sp
- adds r3, 0x20
- str r3, [sp, 0x40]
- ldr r0, =gBattlePartyID
- ldr r4, [sp, 0x44]
- adds r6, r4, r0
-_081862CA:
- ldrh r1, [r6]
- movs r0, 0x64
- muls r0, r1
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- mov r1, sp
- adds r3, r1, r5
- lsls r2, r5, 1
- movs r1, 0x3
- lsls r1, r2
- ands r0, r1
- lsrs r0, r2
- strb r0, [r3]
- adds r5, 0x1
- cmp r5, 0x3
- ble _081862CA
- movs r5, 0
- ldr r0, =gBattlePartyID
- ldr r2, [sp, 0x44]
- adds r7, r2, r0
- movs r3, 0x64
- mov r9, r3
- mov r8, r4
- ldr r4, [sp, 0x28]
- ldr r6, [sp, 0x30]
-_08186304:
- ldrh r0, [r7]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- ldrb r1, [r4]
- adds r1, 0xD
- movs r2, 0
- bl GetMonData
- strh r0, [r6]
- ldrh r0, [r7]
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- add r0, r8
- ldrb r1, [r4]
- adds r1, 0x11
- movs r2, 0
- bl GetMonData
- ldr r3, [sp, 0x34]
- adds r1, r3, r5
- strb r0, [r1]
- ldr r0, [sp, 0x3C]
- adds r1, r0, r5
- ldrb r0, [r4]
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r1]
- adds r4, 0x1
- adds r6, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08186304
- movs r5, 0
- ldr r0, =gBattlePartyID
- ldr r1, [sp, 0x44]
- adds r7, r1, r0
- movs r2, 0x64
- mov r9, r2
- ldr r3, =gPlayerParty
- mov r8, r3
- ldr r6, [sp, 0x30]
- adds r6, 0x8
- ldr r4, [sp, 0x30]
-_08186360:
- ldrh r0, [r7]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- adds r1, r5, 0
- adds r1, 0xD
- adds r2, r4, 0
- bl SetMonData
- ldrh r0, [r7]
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- add r0, r8
- adds r1, r5, 0
- adds r1, 0x11
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08186360
- movs r0, 0
- ldr r3, [sp, 0x40]
- strb r0, [r3]
- movs r5, 0
- ldr r4, =gBattlePartyID
- ldr r6, =gPlayerParty
- ldr r3, [sp, 0x3C]
- ldr r2, [sp, 0x40]
-_081863A2:
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r5, 1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- adds r5, 0x1
- cmp r5, 0x3
- ble _081863A2
- ldr r1, [sp, 0x44]
- adds r0, r1, r4
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- adds r0, r6
- movs r1, 0x15
- ldr r2, [sp, 0x40]
- bl SetMonData
-_081863CA:
- ldr r2, =gChosenMovesByBanks
- ldr r3, [sp, 0x44]
- adds r2, r3, r2
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- add r0, r10
- adds r0, 0x80
- ldrb r0, [r0]
- lsls r0, 1
- movs r4, 0x58
- mov r1, r10
- muls r1, r4
- adds r0, r1
- ldr r1, =gBattleMons
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
-_081863EE:
- ldr r6, [sp, 0x38]
- mov r10, r6
-_081863F2:
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r10, r0
- bge _081863FC
- b _0818606C
-_081863FC:
- 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_818603C
-
- thumb_func_start GetAiScriptsInRecordedBattle
-GetAiScriptsInRecordedBattle: @ 8186438
- ldr r0, =gUnknown_0203C7BC
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end GetAiScriptsInRecordedBattle
-
- thumb_func_start sub_8186444
-sub_8186444: @ 8186444
- ldr r1, =gUnknown_0203CCD0
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8186444
-
- thumb_func_start sub_8186450
-sub_8186450: @ 8186450
- push {lr}
- movs r1, 0
- ldr r0, =gUnknown_0203CCD0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0818645E
- movs r1, 0x1
-_0818645E:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8186450
-
- thumb_func_start sub_8186468
-sub_8186468: @ 8186468
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r5, =gUnknown_03001278
- ldr r4, =gUnknown_0203CCD1
-_08186472:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _08186472
- movs r0, 0xFF
- strb r0, [r3, 0x7]
- ldrb r1, [r5]
- adds r0, r3, 0
- bl ConvertInternationalString
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8186468
-
- thumb_func_start sub_818649C
-sub_818649C: @ 818649C
- ldr r0, =gUnknown_0203CCD9
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_818649C
-
- thumb_func_start sub_81864A8
-sub_81864A8: @ 81864A8
- ldr r0, =gUnknown_0203CCDA
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81864A8
-
- thumb_func_start sub_81864B4
-sub_81864B4: @ 81864B4
- ldr r0, =gUnknown_03001278
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81864B4
-
- thumb_func_start sub_81864C0
-sub_81864C0: @ 81864C0
- ldr r0, =gUnknown_03001279
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81864C0
-
- thumb_func_start sub_81864CC
-sub_81864CC: @ 81864CC
- ldr r0, =gUnknown_0203CCE8
- ldr r1, =gBattleOutcome
- ldrb r1, [r1]
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81864CC
-
- thumb_func_start sub_81864E0
-sub_81864E0: @ 81864E0
- ldr r0, =gUnknown_0203CCDC
- bx lr
- .pool
- thumb_func_end sub_81864E0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/region_map.s b/asm/region_map.s
deleted file mode 100644
index 032bdf7a5..000000000
--- a/asm/region_map.s
+++ /dev/null
@@ -1,4288 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8122CDC
-sub_8122CDC: @ 8122CDC
- push {lr}
- lsls r2, r1, 24
- lsrs r2, 24
- movs r1, 0
- bl sub_8122CF8
-_08122CE8:
- bl sub_8122DB0
- lsls r0, 24
- cmp r0, 0
- bne _08122CE8
- pop {r0}
- bx r0
- thumb_func_end sub_8122CDC
-
- thumb_func_start sub_8122CF8
-sub_8122CF8: @ 8122CF8
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =gUnknown_0203A144
- str r0, [r3]
- movs r1, 0x79
- adds r1, r0
- mov r12, r1
- movs r1, 0
- mov r5, r12
- strb r1, [r5]
- adds r0, 0x78
- strb r2, [r0]
- ldr r1, [r3]
- cmp r2, 0x1
- bne _08122D28
- ldr r0, =sub_8123254
- b _08122D2A
- .pool
-_08122D28:
- ldr r0, =sub_81230C4
-_08122D2A:
- str r0, [r1, 0x18]
- cmp r4, 0
- beq _08122D64
- ldr r1, [r3]
- ldr r0, [r4]
- lsls r0, 30
- lsrs r0, 30
- adds r1, 0x80
- strb r0, [r1]
- ldr r1, [r3]
- ldr r0, [r4]
- lsls r0, 28
- lsrs r0, 30
- adds r1, 0x81
- strb r0, [r1]
- ldr r1, [r3]
- ldr r0, [r4]
- lsls r0, 23
- lsrs r0, 27
- adds r1, 0x82
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x83
- movs r1, 0x1
- strb r1, [r0]
- b _08122D80
- .pool
-_08122D64:
- ldr r0, [r3]
- adds r0, 0x80
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x81
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x82
- movs r1, 0x1C
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0x83
- strb r4, [r0]
-_08122D80:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8122CF8
-
- thumb_func_start sub_8122D88
-sub_8122D88: @ 8122D88
- push {r4,lr}
- ldr r4, =gUnknown_0203A144
- str r0, [r4]
- bl sub_81238AC
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x54
- ldrh r1, [r0]
- adds r0, 0x20
- strh r1, [r0]
- subs r0, 0x1E
- ldrh r1, [r0]
- adds r0, 0x20
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122D88
-
- thumb_func_start sub_8122DB0
-sub_8122DB0: @ 8122DB0
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _08122DC2
- b _0812300C
-_08122DC2:
- lsls r0, 2
- ldr r1, =_08122DD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08122DD4:
- .4byte _08122DF4
- .4byte _08122E2C
- .4byte _08122E78
- .4byte _08122E94
- .4byte _08122EB0
- .4byte _08122ECC
- .4byte _08122F10
- .4byte _08122F8C
-_08122DF4:
- ldr r0, =gUnknown_0203A144
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x83
- ldrb r0, [r0]
- cmp r0, 0
- beq _08122E18
- adds r0, r1, 0
- adds r0, 0x80
- ldrb r0, [r0]
- ldr r1, =gUnknown_0859F77C
- movs r2, 0
- str r2, [sp]
- b _08122E52
- .pool
-_08122E18:
- ldr r0, =gUnknown_0859F77C
- ldr r1, =0x06008000
- bl LZ77UnCompVram
- b _08123014
- .pool
-_08122E2C:
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- adds r0, 0x83
- ldrb r0, [r0]
- cmp r0, 0
- beq _08122E64
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _08122E44
- b _08123014
-_08122E44:
- ldr r0, [r4]
- adds r0, 0x80
- ldrb r0, [r0]
- ldr r1, =gUnknown_085A04E0
- movs r2, 0x1
- str r2, [sp]
- movs r2, 0
-_08122E52:
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _08123014
- .pool
-_08122E64:
- ldr r0, =gUnknown_085A04E0
- ldr r1, =0x0600e000
- bl LZ77UnCompVram
- b _08123014
- .pool
-_08122E78:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _08122E84
- b _08123014
-_08122E84:
- ldr r0, =gUnknown_0859F73C
- movs r1, 0x70
- movs r2, 0x60
- bl LoadPalette
- b _08123014
- .pool
-_08122E94:
- ldr r0, =gUnknown_0859F60C
- ldr r1, =gUnknown_0203A144
- ldr r1, [r1]
- movs r2, 0xC2
- lsls r2, 1
- adds r1, r2
- bl LZ77UnCompWram
- b _08123014
- .pool
-_08122EB0:
- ldr r0, =gUnknown_0859F650
- ldr r1, =gUnknown_0203A144
- ldr r1, [r1]
- movs r5, 0xA1
- lsls r5, 2
- adds r1, r5
- bl LZ77UnCompWram
- b _08123014
- .pool
-_08122ECC:
- bl sub_81238AC
- ldr r4, =gUnknown_0203A144
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x54
- ldrh r1, [r0]
- adds r0, 0x20
- strh r1, [r0]
- subs r0, 0x1E
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x76
- strh r0, [r1]
- ldrh r0, [r2]
- bl sub_8123EB4
- ldr r1, [r4]
- strh r0, [r1]
- ldrh r0, [r1]
- bl get_flagnr_blue_points
- ldr r1, [r4]
- strb r0, [r1, 0x2]
- ldr r1, [r4]
- adds r0, r1, 0x4
- ldrh r1, [r1]
- movs r2, 0x10
- bl GetMapName
- b _08123014
- .pool
-_08122F10:
- ldr r0, =gUnknown_0203A144
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x78
- ldrb r1, [r0]
- cmp r1, 0
- bne _08122F3C
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81236C4
- b _08123014
- .pool
-_08122F3C:
- adds r1, r4, 0
- adds r1, 0x54
- ldrh r0, [r1]
- lsls r0, 3
- subs r0, 0x34
- adds r2, r4, 0
- adds r2, 0x5C
- movs r3, 0
- strh r0, [r2]
- movs r0, 0x56
- adds r0, r4
- mov r12, r0
- ldrh r0, [r0]
- lsls r0, 3
- subs r0, 0x44
- adds r5, r4, 0
- adds r5, 0x5E
- strh r0, [r5]
- ldrh r1, [r1]
- adds r0, r4, 0
- adds r0, 0x64
- strh r1, [r0]
- mov r0, r12
- ldrh r1, [r0]
- adds r0, r4, 0
- adds r0, 0x66
- strh r1, [r0]
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x80
- str r2, [sp]
- str r2, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x48
- bl sub_81236C4
- b _08123014
-_08122F8C:
- bl sub_8123FB0
- bl sub_81237B4
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- movs r1, 0
- str r1, [r0, 0x1C]
- str r1, [r0, 0x20]
- adds r0, 0x7A
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x7E
- strb r1, [r0]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x83
- ldrb r0, [r0]
- cmp r0, 0
- beq _08123002
- adds r0, r1, 0
- adds r0, 0x80
- ldrb r0, [r0]
- movs r1, 0x3
- movs r2, 0x2
- bl SetBgAttribute
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x80
- ldrb r0, [r0]
- adds r1, 0x81
- ldrb r2, [r1]
- movs r1, 0x1
- bl SetBgAttribute
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x80
- ldrb r0, [r0]
- adds r1, 0x82
- ldrb r2, [r1]
- movs r1, 0x2
- bl SetBgAttribute
- ldr r0, [r4]
- adds r0, 0x80
- ldrb r0, [r0]
- movs r1, 0x6
- movs r2, 0x1
- bl SetBgAttribute
- ldr r0, [r4]
- adds r0, 0x80
- ldrb r0, [r0]
- movs r1, 0x4
- movs r2, 0x1
- bl SetBgAttribute
-_08123002:
- ldr r1, [r4]
- adds r1, 0x79
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0812300C:
- movs r0, 0
- b _08123022
- .pool
-_08123014:
- ldr r0, =gUnknown_0203A144
- ldr r1, [r0]
- adds r1, 0x79
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_08123022:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8122DB0
-
- thumb_func_start sub_8123030
-sub_8123030: @ 8123030
- push {lr}
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0xE0
- lsls r0, 2
- lsls r1, 24
- lsrs r1, 24
- bl BlendPalettes
- ldr r0, =gPlttBufferFaded + 0xE0
- ldr r1, =gPlttBufferUnfaded + 0xE0
- movs r2, 0x30
- bl CpuSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8123030
-
- thumb_func_start sub_812305C
-sub_812305C: @ 812305C
- push {r4,lr}
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _08123080
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x58
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x5A
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_08123080:
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- cmp r0, 0
- beq _081230A0
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x70
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x72
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_081230A0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812305C
-
- thumb_func_start sub_81230AC
-sub_81230AC: @ 81230AC
- push {lr}
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81230AC
-
- thumb_func_start sub_81230C4
-sub_81230C4: @ 81230C4
- push {r4,lr}
- movs r4, 0
- ldr r2, =gUnknown_0203A144
- ldr r0, [r2]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r2]
- adds r0, 0x7C
- strb r4, [r0]
- ldr r3, =gMain
- ldrh r1, [r3, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081230F6
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x56
- ldrh r0, [r0]
- cmp r0, 0x2
- bls _081230F6
- adds r1, 0x7C
- movs r0, 0xFF
- strb r0, [r1]
- movs r4, 0x1
-_081230F6:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08123114
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x56
- ldrh r0, [r0]
- cmp r0, 0xF
- bhi _08123114
- adds r1, 0x7C
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
-_08123114:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08123132
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _08123132
- adds r1, 0x7B
- movs r0, 0xFF
- strb r0, [r1]
- movs r4, 0x1
-_08123132:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08123150
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0x1B
- bhi _08123150
- adds r1, 0x7B
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
-_08123150:
- ldrh r3, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _08123168
- movs r4, 0x4
- b _08123172
- .pool
-_08123168:
- movs r0, 0x2
- ands r0, r3
- cmp r0, 0
- beq _08123172
- movs r4, 0x5
-_08123172:
- cmp r4, 0x1
- bne _08123184
- ldr r0, [r2]
- adds r0, 0x7A
- movs r1, 0x4
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, =_swiopen
- str r0, [r1, 0x18]
-_08123184:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81230C4
-
- thumb_func_start _swiopen
-_swiopen: @ 8123190
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203A144
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7A
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _081231AC
- movs r0, 0x2
- b _08123248
- .pool
-_081231AC:
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _081231C2
- adds r1, 0x54
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081231C2:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _081231DA
- adds r1, 0x54
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_081231DA:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _081231F2
- adds r1, 0x56
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081231F2:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _0812320A
- adds r1, 0x56
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_0812320A:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- adds r1, 0x56
- ldrh r1, [r1]
- bl sub_812386C
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl get_flagnr_blue_points
- ldr r1, [r5]
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- ldrh r0, [r1]
- cmp r4, r0
- beq _0812323C
- strh r4, [r1]
- adds r0, r1, 0x4
- ldrh r1, [r1]
- movs r2, 0x10
- bl GetMapName
-_0812323C:
- bl sub_8123FB0
- ldr r1, [r5]
- ldr r0, =sub_81230C4
- str r0, [r1, 0x18]
- movs r0, 0x3
-_08123248:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end _swiopen
-
- thumb_func_start sub_8123254
-sub_8123254: @ 8123254
- push {r4-r6,lr}
- movs r4, 0
- ldr r3, =gUnknown_0203A144
- ldr r0, [r3]
- mov r12, r0
- adds r0, 0x6A
- strh r4, [r0]
- mov r5, r12
- adds r5, 0x68
- strh r4, [r5]
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r6, r3, 0
- adds r3, r2, 0
- cmp r0, 0
- beq _0812328E
- mov r0, r12
- adds r0, 0x5E
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x34
- negs r0, r0
- cmp r1, r0
- ble _0812328E
- ldr r0, =0x0000ffff
- strh r0, [r5]
- movs r4, 0x1
-_0812328E:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081232AE
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x5E
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0x3B
- bgt _081232AE
- adds r1, 0x68
- movs r0, 0x1
- strh r0, [r1]
- movs r4, 0x1
-_081232AE:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _081232D4
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x5C
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x2C
- negs r0, r0
- cmp r1, r0
- ble _081232D4
- adds r1, r2, 0
- adds r1, 0x6A
- ldr r0, =0x0000ffff
- strh r0, [r1]
- movs r4, 0x1
-_081232D4:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081232F4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x5C
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0xAB
- bgt _081232F4
- adds r1, 0x6A
- movs r0, 0x1
- strh r0, [r1]
- movs r4, 0x1
-_081232F4:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08123300
- movs r4, 0x4
-_08123300:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0812330A
- movs r4, 0x5
-_0812330A:
- cmp r4, 0x1
- bne _0812331A
- ldr r0, [r6]
- ldr r1, =sub_8123334
- str r1, [r0, 0x18]
- adds r0, 0x6C
- movs r1, 0
- strh r1, [r0]
-_0812331A:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8123254
-
- thumb_func_start sub_8123334
-sub_8123334: @ 8123334
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203A144
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0x5E
- adds r0, r2, 0
- adds r0, 0x68
- ldrh r0, [r0]
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- adds r1, r2, 0
- adds r1, 0x5C
- adds r0, r2, 0
- adds r0, 0x6A
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- movs r2, 0
- ldrsh r1, [r3, r2]
- bl sub_812378C
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x6C
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bne _08123410
- adds r0, r2, 0
- adds r0, 0x5C
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r0, r1, 0
- adds r0, 0x2C
- cmp r0, 0
- bge _0812338C
- adds r0, 0x7
-_0812338C:
- asrs r0, 3
- adds r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r2, 0
- adds r0, 0x5E
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r0, r1, 0
- adds r0, 0x34
- cmp r0, 0
- bge _081233A6
- adds r0, 0x7
-_081233A6:
- asrs r0, 3
- adds r0, 0x2
- lsls r0, 16
- lsrs r1, r0, 16
- adds r4, r2, 0
- adds r4, 0x64
- adds r0, r2, 0
- adds r0, 0x66
- ldrh r2, [r4]
- cmp r3, r2
- bne _081233C2
- ldrh r2, [r0]
- cmp r1, r2
- beq _081233F2
-_081233C2:
- strh r3, [r4]
- strh r1, [r0]
- adds r0, r3, 0
- bl sub_812386C
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl get_flagnr_blue_points
- ldr r1, [r5]
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- ldrh r3, [r1]
- cmp r4, r3
- beq _081233EE
- strh r4, [r1]
- adds r0, r1, 0x4
- ldrh r1, [r1]
- movs r2, 0x10
- bl GetMapName
-_081233EE:
- bl sub_8123FB0
-_081233F2:
- ldr r0, =gUnknown_0203A144
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x6C
- movs r0, 0
- strh r0, [r1]
- ldr r0, =sub_8123254
- str r0, [r2, 0x18]
- movs r0, 0x3
- b _08123412
- .pool
-_08123410:
- movs r0, 0x2
-_08123412:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8123334
-
- thumb_func_start sub_8123418
-sub_8123418: @ 8123418
- push {r4-r6,lr}
- ldr r1, =gUnknown_0203A144
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r3, [r0]
- adds r5, r1, 0
- cmp r3, 0
- bne _0812349C
- subs r0, 0x1A
- strh r3, [r0]
- subs r0, 0x2
- strh r3, [r0]
- str r3, [r2, 0x40]
- str r3, [r2, 0x3C]
- adds r4, r2, 0
- adds r4, 0x54
- ldrh r0, [r4]
- lsls r0, 3
- subs r0, 0x34
- adds r1, r2, 0
- adds r1, 0x60
- strh r0, [r1]
- movs r0, 0x56
- adds r0, r2
- mov r12, r0
- ldrh r0, [r0]
- lsls r0, 3
- subs r0, 0x44
- adds r3, r2, 0
- adds r3, 0x62
- strh r0, [r3]
- movs r6, 0
- ldrsh r0, [r1, r6]
- lsls r0, 8
- cmp r0, 0
- bge _08123464
- adds r0, 0xF
-_08123464:
- asrs r0, 4
- str r0, [r2, 0x44]
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 8
- cmp r0, 0
- bge _08123474
- adds r0, 0xF
-_08123474:
- asrs r0, 4
- str r0, [r2, 0x48]
- ldrh r1, [r4]
- adds r0, r2, 0
- adds r0, 0x64
- strh r1, [r0]
- mov r3, r12
- ldrh r0, [r3]
- adds r1, r2, 0
- adds r1, 0x66
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 9
- str r0, [r2, 0x4C]
- ldr r0, =0xfffff800
- b _081234FA
- .pool
-_0812349C:
- adds r0, r2, 0
- adds r0, 0x5C
- movs r6, 0
- ldrsh r0, [r0, r6]
- lsls r0, 8
- str r0, [r2, 0x3C]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r2, 0x40]
- adds r0, r2, 0
- adds r0, 0x60
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r0, [r2, 0x3C]
- cmp r0, 0
- bge _081234C8
- adds r0, 0xF
-_081234C8:
- asrs r0, 4
- negs r0, r0
- str r0, [r2, 0x44]
- ldr r0, [r2, 0x40]
- cmp r0, 0
- bge _081234D6
- adds r0, 0xF
-_081234D6:
- asrs r0, 4
- negs r0, r0
- str r0, [r2, 0x48]
- adds r0, r2, 0
- adds r0, 0x64
- ldrh r1, [r0]
- subs r0, 0x10
- strh r1, [r0]
- adds r0, 0x12
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x56
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 8
- str r0, [r2, 0x4C]
- movs r0, 0x80
- lsls r0, 4
-_081234FA:
- str r0, [r2, 0x50]
- ldr r0, [r5]
- adds r0, 0x6E
- movs r1, 0
- strh r1, [r0]
- bl sub_8124238
- bl sub_81243B0
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8123418
-
- thumb_func_start sub_8123514
-sub_8123514: @ 8123514
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203A144
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x6E
- ldrh r1, [r2]
- adds r5, r0, 0
- cmp r1, 0xF
- bls _08123530
- movs r0, 0
- b _081236B8
- .pool
-_08123530:
- adds r0, r1, 0x1
- movs r1, 0
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bne _081235A4
- str r1, [r3, 0x44]
- str r1, [r3, 0x48]
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- adds r0, 0x6
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x5E
- strh r0, [r1]
- adds r1, 0x1A
- ldrb r0, [r1]
- movs r2, 0x80
- lsls r2, 9
- cmp r0, 0
- bne _08123566
- movs r2, 0x80
- lsls r2, 8
-_08123566:
- str r2, [r3, 0x4C]
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08123572
- movs r2, 0x1
-_08123572:
- strb r2, [r1]
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x78
- ldrb r0, [r0]
- ldr r2, =sub_8123254
- cmp r0, 0
- bne _08123584
- ldr r2, =sub_81230C4
-_08123584:
- str r2, [r1, 0x18]
- adds r0, r1, 0
- adds r0, 0x58
- ldrh r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- bl sub_81240D4
- bl sub_81243DC
- movs r4, 0
- b _08123686
- .pool
-_081235A4:
- ldr r2, [r3, 0x3C]
- ldr r0, [r3, 0x44]
- adds r2, r0
- str r2, [r3, 0x3C]
- ldr r0, [r3, 0x40]
- ldr r1, [r3, 0x48]
- adds r0, r1
- str r0, [r3, 0x40]
- asrs r2, 8
- adds r4, r3, 0
- adds r4, 0x5C
- strh r2, [r4]
- ldr r0, [r3, 0x40]
- asrs r0, 8
- adds r1, r3, 0
- adds r1, 0x5E
- strh r0, [r1]
- ldr r0, [r3, 0x4C]
- ldr r1, [r3, 0x50]
- adds r0, r1
- str r0, [r3, 0x4C]
- ldr r2, [r3, 0x44]
- cmp r2, 0
- bge _081235E4
- adds r0, r3, 0
- adds r0, 0x60
- movs r6, 0
- ldrsh r1, [r4, r6]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- blt _081235F8
-_081235E4:
- cmp r2, 0
- ble _08123608
- adds r0, r3, 0
- adds r0, 0x60
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- ble _08123608
-_081235F8:
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r2, [r0]
- subs r0, 0x4
- movs r1, 0
- strh r2, [r0]
- str r1, [r3, 0x44]
-_08123608:
- ldr r2, [r5]
- ldr r4, [r2, 0x48]
- cmp r4, 0
- bge _08123624
- adds r0, r2, 0
- adds r0, 0x5E
- adds r3, r2, 0
- adds r3, 0x62
- movs r6, 0
- ldrsh r1, [r0, r6]
- movs r6, 0
- ldrsh r0, [r3, r6]
- cmp r1, r0
- blt _0812363C
-_08123624:
- cmp r4, 0
- ble _0812364E
- adds r1, r2, 0
- adds r1, 0x5E
- adds r0, r2, 0
- adds r0, 0x62
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- ble _0812364E
-_0812363C:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x62
- ldrh r1, [r0]
- adds r3, r2, 0
- adds r3, 0x5E
- movs r0, 0
- strh r1, [r3]
- str r0, [r2, 0x48]
-_0812364E:
- ldr r0, =gUnknown_0203A144
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r3, [r0]
- cmp r3, 0
- bne _08123674
- ldr r1, [r2, 0x4C]
- ldr r0, =0x00007fff
- cmp r1, r0
- bgt _08123684
- adds r0, 0x1
- str r0, [r2, 0x4C]
- str r3, [r2, 0x50]
- b _08123684
- .pool
-_08123674:
- ldr r0, [r2, 0x4C]
- movs r1, 0x80
- lsls r1, 9
- cmp r0, r1
- ble _08123684
- str r1, [r2, 0x4C]
- movs r0, 0
- str r0, [r2, 0x50]
-_08123684:
- movs r4, 0x1
-_08123686:
- ldr r0, =gUnknown_0203A144
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x5C
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r1, r3, 0
- adds r1, 0x5E
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, [r3, 0x4C]
- lsls r2, 8
- lsrs r2, 16
- str r2, [sp]
- ldr r2, [r3, 0x4C]
- lsls r2, 8
- lsrs r2, 16
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x48
- bl sub_81236C4
- adds r0, r4, 0
-_081236B8:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8123514
-
- thumb_func_start sub_81236C4
-sub_81236C4: @ 81236C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- ldr r7, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r4, 16
- lsrs r4, 16
- mov r8, r4
- lsls r7, 16
- adds r4, r7, 0
- lsrs r4, 16
- mov r9, r4
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gUnknown_0203A144
- ldr r6, [r4]
- ldr r7, =gSineTable
- mov r12, r7
- adds r4, r5, 0
- adds r4, 0x40
- lsls r4, 1
- add r4, r12
- movs r7, 0
- ldrsh r4, [r4, r7]
- str r4, [sp]
- mov r7, r8
- muls r7, r4
- adds r4, r7, 0
- asrs r4, 8
- mov r10, r4
- str r4, [r6, 0x2C]
- lsls r5, 1
- add r5, r12
- movs r7, 0
- ldrsh r5, [r5, r7]
- negs r4, r5
- mov r7, r8
- muls r7, r4
- adds r4, r7, 0
- asrs r4, 8
- mov r12, r4
- str r4, [r6, 0x30]
- mov r7, r9
- muls r7, r5
- adds r5, r7, 0
- asrs r5, 8
- str r5, [r6, 0x34]
- ldr r7, [sp]
- mov r4, r9
- muls r4, r7
- asrs r4, 8
- mov r8, r4
- str r4, [r6, 0x38]
- lsls r0, 16
- asrs r0, 8
- lsls r2, 16
- asrs r2, 16
- lsls r4, r2, 8
- adds r0, r4
- lsls r3, 16
- asrs r3, 16
- adds r4, r3, 0
- muls r4, r5
- mov r5, r10
- muls r5, r2
- adds r4, r5
- subs r0, r4
- str r0, [r6, 0x24]
- lsls r1, 16
- asrs r1, 8
- lsls r0, r3, 8
- adds r1, r0
- mov r0, r8
- muls r0, r3
- mov r3, r12
- muls r3, r2
- adds r2, r3, 0
- adds r0, r2
- subs r1, r0
- str r1, [r6, 0x28]
- adds r6, 0x7D
- movs r0, 0x1
- strb r0, [r6]
- 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_81236C4
-
- thumb_func_start sub_812378C
-sub_812378C: @ 812378C
- ldr r2, =gUnknown_0203A144
- ldr r2, [r2]
- lsls r0, 16
- asrs r0, 8
- movs r3, 0xE0
- lsls r3, 5
- adds r0, r3
- str r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 8
- movs r0, 0x90
- lsls r0, 6
- adds r1, r0
- str r1, [r2, 0x28]
- adds r2, 0x7D
- movs r0, 0x1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_812378C
-
- thumb_func_start sub_81237B4
-sub_81237B4: @ 81237B4
- push {r4,lr}
- ldr r4, =gUnknown_0203A144
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _0812381A
- ldrh r1, [r1, 0x2C]
- movs r0, 0x20
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x34]
- movs r0, 0x22
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x30]
- movs r0, 0x24
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x38]
- movs r0, 0x26
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x24]
- movs r0, 0x28
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x26]
- movs r0, 0x2A
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x28]
- movs r0, 0x2C
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x2A]
- movs r0, 0x2E
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, 0x7D
- movs r1, 0
- strb r1, [r0]
-_0812381A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81237B4
-
- thumb_func_start sub_8123824
-sub_8123824: @ 8123824
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x38
- movs r3, 0x48
- bl sub_81236C4
- bl sub_81237B4
- ldr r0, =gUnknown_0203A144
- ldr r2, [r0]
- ldr r1, [r2, 0x20]
- cmp r1, 0
- beq _08123860
- negs r0, r4
- strh r0, [r1, 0x24]
- ldr r1, [r2, 0x20]
- negs r0, r5
- strh r0, [r1, 0x26]
-_08123860:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8123824
-
- thumb_func_start sub_812386C
-sub_812386C: @ 812386C
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- ldr r0, =0xfffe0000
- adds r1, r0
- lsrs r2, r1, 16
- cmp r2, 0xE
- bhi _08123886
- cmp r3, 0
- beq _08123886
- cmp r3, 0x1C
- bls _08123890
-_08123886:
- movs r0, 0xD5
- b _081238A4
- .pool
-_08123890:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r1, =gUnknown_085A096C
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r1
- ldrb r0, [r0]
-_081238A4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_812386C
-
- thumb_func_start sub_81238AC
-sub_81238AC: @ 81238AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- adds r3, r0, 0
- cmp r1, 0x19
- bne _081238DC
- ldrb r0, [r2, 0x5]
- subs r0, 0x29
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _081238DC
- bl sub_8123C00
- b _08123BEC
- .pool
-_081238DC:
- ldr r1, [r3]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x8
- bhi _08123928
- lsls r0, 2
- ldr r1, =_08123904
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08123904:
- .4byte _08123928
- .4byte _08123928
- .4byte _08123928
- .4byte _0812396C
- .4byte _08123928
- .4byte _08123928
- .4byte _0812396C
- .4byte _08123A28
- .4byte _081239E4
-_08123928:
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- ldr r3, =gMapHeader
- ldrb r1, [r3, 0x14]
- movs r2, 0
- strh r1, [r0]
- adds r0, 0x7F
- strb r2, [r0]
- ldr r0, [r3]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r9, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r6, [r0]
- ldrh r3, [r0, 0x2]
- ldr r1, [r4]
- ldrh r0, [r1]
- cmp r0, 0x45
- beq _08123956
- cmp r0, 0xCC
- beq _08123956
- b _08123ABE
-_08123956:
- adds r1, 0x7F
- movs r0, 0x1
- strb r0, [r1]
- b _08123ABE
- .pool
-_0812396C:
- ldr r2, =gMapHeader
- ldrb r1, [r2, 0x1A]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081239C8
- ldr r4, =gSaveBlock1Ptr
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- adds r1, 0x25
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r5, r0, 0
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- ldrb r1, [r5, 0x14]
- strh r1, [r0]
- adds r0, 0x7F
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r9, r0
- ldr r0, [r4]
- ldrh r6, [r0, 0x28]
- ldrh r3, [r0, 0x2A]
- b _08123ABE
- .pool
-_081239C8:
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- ldrb r1, [r2, 0x14]
- strh r1, [r0]
- adds r0, 0x7F
- movs r1, 0x1
- strb r1, [r0]
- movs r2, 0x1
- mov r9, r2
- movs r6, 0x1
- movs r3, 0x1
- b _08123ABE
- .pool
-_081239E4:
- ldr r4, =gSaveBlock1Ptr
- ldr r1, [r4]
- 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
- adds r5, r0, 0
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- ldrb r1, [r5, 0x14]
- strh r1, [r0]
- adds r0, 0x7F
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r9, r0
- ldr r0, [r4]
- ldrh r6, [r0, 0x18]
- ldrh r3, [r0, 0x1A]
- b _08123ABE
- .pool
-_08123A28:
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- ldr r1, =gMapHeader
- ldrb r1, [r1, 0x14]
- strh r1, [r0]
- cmp r1, 0x57
- beq _08123A64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r7, r0, 0
- adds r7, 0x24
- movs r0, 0
- ldrsb r0, [r7, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r7, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r5, r0, 0
- b _08123A8A
- .pool
-_08123A64:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r7, r0, 0
- adds r7, 0x14
- ldrb r0, [r0, 0x14]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r7, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r5, r0, 0
- ldr r1, [r4]
- ldrb r0, [r5, 0x14]
- strh r0, [r1]
-_08123A8A:
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- ldrb r0, [r0]
- bl sub_8123F74
- adds r1, r0, 0
- cmp r1, 0
- beq _08123AAC
- ldr r0, [r4]
- adds r0, 0x7F
- movs r1, 0x1
- b _08123AB0
- .pool
-_08123AAC:
- ldr r0, [r4]
- adds r0, 0x7F
-_08123AB0:
- strb r1, [r0]
- ldr r0, [r5]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r9, r0
- ldrh r6, [r7, 0x4]
- ldrh r3, [r7, 0x6]
-_08123ABE:
- str r6, [sp]
- ldr r5, =gRegionMapEntries
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- mov r10, r0
- ldrh r7, [r0]
- lsls r0, r7, 3
- adds r0, r5
- str r0, [sp, 0x4]
- ldrb r0, [r0, 0x2]
- mov r8, r0
- adds r0, r2, 0
- mov r1, r8
- str r3, [sp, 0x8]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r3, [sp, 0x8]
- cmp r1, 0
- bne _08123AEA
- movs r1, 0x1
-_08123AEA:
- adds r0, r6, 0
- str r3, [sp, 0x8]
- bl __udivsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp, 0x8]
- cmp r6, r8
- bcc _08123B04
- mov r0, r8
- subs r0, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08123B04:
- ldr r2, [sp, 0x4]
- ldrb r4, [r2, 0x3]
- mov r0, r9
- adds r1, r4, 0
- str r3, [sp, 0x8]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r3, [sp, 0x8]
- cmp r1, 0
- bne _08123B1E
- movs r1, 0x1
-_08123B1E:
- adds r0, r3, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- bcc _08123B32
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
-_08123B32:
- cmp r7, 0x29
- beq _08123B5E
- cmp r7, 0x29
- bgt _08123B4C
- cmp r7, 0x1D
- beq _08123B56
- cmp r7, 0x24
- beq _08123B94
- b _08123BC6
- .pool
-_08123B4C:
- cmp r7, 0x33
- beq _08123B5E
- cmp r7, 0xCC
- beq _08123BB8
- b _08123BC6
-_08123B56:
- cmp r3, 0
- beq _08123BC6
- movs r6, 0
- b _08123BC6
-_08123B5E:
- movs r6, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x20
- ble _08123B6E
- movs r6, 0x1
-_08123B6E:
- cmp r0, 0x33
- ble _08123B78
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08123B78:
- movs r3, 0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, 0x25
- ble _08123B84
- movs r3, 0x1
-_08123B84:
- cmp r0, 0x38
- ble _08123BC6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- b _08123BC6
- .pool
-_08123B94:
- movs r6, 0
- ldr r0, [sp]
- cmp r0, 0xE
- bls _08123B9E
- movs r6, 0x1
-_08123B9E:
- ldr r2, [sp]
- cmp r2, 0x1C
- bls _08123BAA
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08123BAA:
- ldr r0, [sp]
- cmp r0, 0x36
- bls _08123BC6
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- b _08123BC6
-_08123BB8:
- mov r0, r10
- adds r0, 0x54
- mov r1, r10
- adds r1, 0x56
- bl sub_8123F30
- b _08123BEC
-_08123BC6:
- ldr r0, =gUnknown_0203A144
- ldr r2, [r0]
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r5
- ldrb r0, [r0]
- adds r0, r6, r0
- adds r0, 0x1
- adds r1, r2, 0
- adds r1, 0x54
- strh r0, [r1]
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r5
- ldrb r0, [r0, 0x1]
- adds r0, r3, r0
- adds r0, 0x2
- adds r2, 0x56
- strh r0, [r2]
-_08123BEC:
- 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_81238AC
-
- thumb_func_start sub_8123C00
-sub_8123C00: @ 8123C00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r7, 0
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0x1
- mov r5, sp
- adds r5, 0x2
- add r6, sp, 0x4
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl GetSSTidalLocation
- lsls r0, 24
- lsrs r0, 24
- mov r10, r5
- cmp r0, 0x4
- bhi _08123C94
- lsls r0, 2
- ldr r1, =_08123C40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08123C40:
- .4byte _08123C94
- .4byte _08123C54
- .4byte _08123C64
- .4byte _08123C74
- .4byte _08123C84
-_08123C54:
- ldr r2, =gUnknown_0203A144
- ldr r1, [r2]
- movs r0, 0x8
- strh r0, [r1]
- b _08123D10
- .pool
-_08123C64:
- ldr r2, =gUnknown_0203A144
- ldr r1, [r2]
- movs r0, 0xC
- strh r0, [r1]
- b _08123D10
- .pool
-_08123C74:
- ldr r2, =gUnknown_0203A144
- ldr r1, [r2]
- movs r0, 0x27
- strh r0, [r1]
- b _08123D10
- .pool
-_08123C84:
- ldr r2, =gUnknown_0203A144
- ldr r1, [r2]
- movs r0, 0x2E
- strh r0, [r1]
- b _08123D10
- .pool
-_08123C94:
- mov r0, sp
- ldrb r0, [r0]
- ldrb r1, [r4]
- bl get_mapheader_by_bank_and_number
- ldr r1, =gUnknown_0203A144
- mov r9, r1
- ldr r2, [r1]
- ldrb r1, [r0, 0x14]
- strh r1, [r2]
- ldr r6, [r0]
- ldr r1, =gRegionMapEntries
- ldrh r0, [r2]
- lsls r0, 3
- adds r5, r0, r1
- ldrb r4, [r5, 0x2]
- ldr r0, [r6]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _08123CC6
- movs r1, 0x1
-_08123CC6:
- mov r2, r10
- movs r3, 0
- ldrsh r0, [r2, r3]
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r8, r4
- bcc _08123CE2
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_08123CE2:
- ldrb r4, [r5, 0x3]
- ldr r0, [r6, 0x4]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _08123CF6
- movs r1, 0x1
-_08123CF6:
- mov r2, sp
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r2, r9
- cmp r7, r4
- bcc _08123D10
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_08123D10:
- ldr r0, [r2]
- adds r0, 0x7F
- movs r1, 0
- strb r1, [r0]
- ldr r2, [r2]
- ldr r3, =gRegionMapEntries
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0]
- add r0, r8
- adds r0, 0x1
- adds r1, r2, 0
- adds r1, 0x54
- strh r0, [r1]
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, r7, r0
- adds r0, 0x2
- adds r2, 0x56
- strh r0, [r2]
- 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_8123C00
-
- thumb_func_start get_flagnr_blue_points
-get_flagnr_blue_points: @ 8123D58
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x9
- beq _08123E18
- cmp r0, 0x9
- bgt _08123D9A
- cmp r0, 0x4
- beq _08123DF0
- cmp r0, 0x4
- bgt _08123D88
- cmp r0, 0x1
- beq _08123DD8
- cmp r0, 0x1
- bgt _08123D7E
- cmp r0, 0
- beq _08123DD0
- b _08123E94
-_08123D7E:
- cmp r0, 0x2
- beq _08123DDE
- cmp r0, 0x3
- beq _08123DE8
- b _08123E94
-_08123D88:
- cmp r0, 0x6
- beq _08123E00
- cmp r0, 0x6
- blt _08123DF8
- cmp r0, 0x7
- beq _08123E08
- cmp r0, 0x8
- beq _08123E10
- b _08123E94
-_08123D9A:
- cmp r0, 0xE
- beq _08123E40
- cmp r0, 0xE
- bgt _08123DB4
- cmp r0, 0xB
- beq _08123E28
- cmp r0, 0xB
- blt _08123E20
- cmp r0, 0xC
- beq _08123E30
- cmp r0, 0xD
- beq _08123E38
- b _08123E94
-_08123DB4:
- cmp r0, 0x3A
- beq _08123E60
- cmp r0, 0x3A
- bgt _08123DC2
- cmp r0, 0xF
- beq _08123E48
- b _08123E94
-_08123DC2:
- cmp r1, 0x49
- beq _08123E7C
- cmp r1, 0xD5
- beq _08123DCC
- b _08123E94
-_08123DCC:
- movs r0, 0
- b _08123E96
-_08123DD0:
- ldr r0, =0x0000086f
- b _08123E4A
- .pool
-_08123DD8:
- movs r0, 0x87
- lsls r0, 4
- b _08123E4A
-_08123DDE:
- ldr r0, =0x00000871
- b _08123E4A
- .pool
-_08123DE8:
- ldr r0, =0x00000872
- b _08123E4A
- .pool
-_08123DF0:
- ldr r0, =0x00000873
- b _08123E4A
- .pool
-_08123DF8:
- ldr r0, =0x00000874
- b _08123E4A
- .pool
-_08123E00:
- ldr r0, =0x00000875
- b _08123E4A
- .pool
-_08123E08:
- ldr r0, =0x00000876
- b _08123E4A
- .pool
-_08123E10:
- ldr r0, =0x00000877
- b _08123E4A
- .pool
-_08123E18:
- ldr r0, =0x00000878
- b _08123E4A
- .pool
-_08123E20:
- ldr r0, =0x00000879
- b _08123E4A
- .pool
-_08123E28:
- ldr r0, =0x0000087a
- b _08123E4A
- .pool
-_08123E30:
- ldr r0, =0x0000087b
- b _08123E4A
- .pool
-_08123E38:
- ldr r0, =0x0000087c
- b _08123E4A
- .pool
-_08123E40:
- ldr r0, =0x0000087d
- b _08123E4A
- .pool
-_08123E48:
- ldr r0, =0x0000087e
-_08123E4A:
- bl FlagGet
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _08123E58
- movs r1, 0x2
-_08123E58:
- adds r0, r1, 0
- b _08123E96
- .pool
-_08123E60:
- ldr r0, =0x000008a8
- bl FlagGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- asrs r0, 31
- movs r1, 0x4
- ands r0, r1
- b _08123E96
- .pool
-_08123E7C:
- ldr r0, =0x000008a9
- bl FlagGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _08123E96
- .pool
-_08123E94:
- movs r0, 0x1
-_08123E96:
- pop {r1}
- bx r1
- thumb_func_end get_flagnr_blue_points
-
- thumb_func_start sub_8123E9C
-sub_8123E9C: @ 8123E9C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl sub_812386C
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8123E9C
-
- thumb_func_start sub_8123EB4
-sub_8123EB4: @ 8123EB4
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r1, =gUnknown_085A1B84
-_08123EBE:
- ldrh r0, [r1]
- cmp r0, r3
- bne _08123ED4
- bl sub_8123F04
- lsls r0, 16
- lsrs r0, 16
- b _08123F00
- .pool
-_08123ED4:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x2
- bls _08123EBE
- ldr r1, =gUnknown_085A1B24
- ldrh r0, [r1]
- cmp r0, 0xD5
- beq _08123EFE
- adds r2, r1, 0
-_08123EE6:
- ldrh r0, [r2]
- cmp r0, r3
- bne _08123EF4
- ldrh r0, [r1, 0x2]
- b _08123F00
- .pool
-_08123EF4:
- adds r1, 0x4
- adds r2, 0x4
- ldrh r0, [r1]
- cmp r0, 0xD5
- bne _08123EE6
-_08123EFE:
- adds r0, r3, 0
-_08123F00:
- pop {r1}
- bx r1
- thumb_func_end sub_8123EB4
-
- thumb_func_start sub_8123F04
-sub_8123F04: @ 8123F04
- push {lr}
- ldr r0, =0x00004037
- bl VarGet
- subs r0, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _08123F18
- movs r1, 0
-_08123F18:
- ldr r0, =gUnknown_085A1B8A
- lsls r1, 16
- asrs r1, 15
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8123F04
-
- thumb_func_start sub_8123F30
-sub_8123F30: @ 8123F30
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =0x00004037
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, =0xfff70000
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0x7
- bls _08123F4C
- movs r1, 0x9
-_08123F4C:
- subs r1, 0x9
- lsls r1, 16
- ldr r0, =gUnknown_085A1BAC
- lsrs r1, 14
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r1, 0x2]
- adds r0, 0x2
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8123F30
-
- thumb_func_start sub_8123F74
-sub_8123F74: @ 8123F74
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, =gUnknown_085A1BCC
-_08123F7E:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _08123F90
- movs r0, 0x1
- b _08123F98
- .pool
-_08123F90:
- adds r1, 0x1
- cmp r1, 0
- beq _08123F7E
- movs r0, 0
-_08123F98:
- pop {r1}
- bx r1
- thumb_func_end sub_8123F74
-
- thumb_func_start sub_8123F9C
-sub_8123F9C: @ 8123F9C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_8123EB4
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8123F9C
-
- thumb_func_start sub_8123FB0
-sub_8123FB0: @ 8123FB0
- push {r4-r6,lr}
- ldr r0, =gUnknown_0203A144
- ldr r1, [r0]
- ldrh r0, [r1]
- cmp r0, 0xD5
- bne _08123FC8
- movs r0, 0
- strb r0, [r1, 0x3]
- b _0812402E
- .pool
-_08123FC8:
- adds r0, r1, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0
- bne _08123FD8
- adds r0, r1, 0
- adds r0, 0x54
- b _08123FDC
-_08123FD8:
- adds r0, r1, 0
- adds r0, 0x64
-_08123FDC:
- ldrh r4, [r0]
- adds r0, 0x2
- ldrh r5, [r0]
- movs r6, 0
- b _08124008
-_08123FE6:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_812386C
- ldr r1, =gUnknown_0203A144
- ldr r1, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bne _08124008
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08124008:
- cmp r4, 0x1
- bhi _08123FE6
- adds r0, r5, 0
- bl sub_8124038
- lsls r0, 24
- cmp r0, 0
- beq _08124028
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0x1D
- b _08124008
- .pool
-_08124028:
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- strb r6, [r0, 0x3]
-_0812402E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8123FB0
-
- thumb_func_start sub_8124038
-sub_8124038: @ 8124038
- push {r4,r5,lr}
- lsls r0, 16
- ldr r1, =0xffff0000
- adds r0, r1
- lsrs r5, r0, 16
- ldr r0, =0x0000ffff
- cmp r5, r0
- bne _08124058
- b _0812407A
- .pool
-_08124054:
- movs r0, 0x1
- b _0812407C
-_08124058:
- movs r4, 0x1
-_0812405A:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_812386C
- ldr r1, =gUnknown_0203A144
- ldr r1, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- beq _08124054
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1C
- bls _0812405A
-_0812407A:
- movs r0, 0
-_0812407C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8124038
-
- thumb_func_start sub_8124088
-sub_8124088: @ 8124088
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A144
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0x7A
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r0, 0
- beq _081240C6
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r4, [r2, 0x20]
- adds r0, r4
- strh r0, [r2, 0x20]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r1, [r2, 0x22]
- adds r0, r1
- strh r0, [r2, 0x22]
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r3]
-_081240C6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124088
-
- thumb_func_start TaskDummy8
-TaskDummy8: @ 81240D0
- bx lr
- thumb_func_end TaskDummy8
-
- thumb_func_start sub_81240D4
-sub_81240D4: @ 81240D4
- push {r4-r7,lr}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, =gUnknown_085A1C00
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [sp, 0x20]
- str r2, [sp, 0x24]
- mov r2, sp
- ldr r1, =gUnknown_085A1C08
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- lsrs r3, r0, 16
- add r2, sp, 0x18
- ldrh r1, [r2, 0x4]
- orrs r1, r0
- str r1, [r2, 0x4]
- mov r0, sp
- strh r3, [r0]
- ldr r0, =gUnknown_0203A144
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x58
- strh r3, [r0]
- ldr r5, =0xffff0000
- add r1, sp, 0x20
- ldr r0, [r1, 0x4]
- ands r0, r5
- orrs r0, r6
- str r0, [r1, 0x4]
- mov r0, sp
- strh r6, [r0, 0x2]
- adds r3, r4, 0
- adds r0, r3, 0
- adds r0, 0x5A
- strh r6, [r0]
- adds r0, 0x1E
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0
- bne _08124158
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r3, r1
- str r0, [sp, 0x18]
- ldr r0, [r2, 0x4]
- ands r0, r5
- subs r1, 0x84
- orrs r0, r1
- str r0, [r2, 0x4]
- ldr r0, =sub_8124088
- b _0812416E
- .pool
-_08124158:
- movs r3, 0xA1
- lsls r3, 2
- adds r0, r4, r3
- str r0, [sp, 0x18]
- ldr r0, [r2, 0x4]
- ands r0, r5
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- str r0, [r2, 0x4]
- ldr r0, =TaskDummy8
-_0812416E:
- str r0, [sp, 0x14]
- adds r0, r2, 0
- bl LoadSpriteSheet
- adds r0, r7, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0x38
- movs r2, 0x48
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08124228
- ldr r4, =gUnknown_0203A144
- ldr r2, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r3, r0, r1
- str r3, [r2, 0x1C]
- adds r2, 0x78
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _081241DC
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3, 0x3]
- ldr r2, [r4]
- ldr r1, [r2, 0x1C]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x1C]
- ldrh r0, [r1, 0x22]
- subs r0, 0x8
- strh r0, [r1, 0x22]
- ldr r0, [r2, 0x1C]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08124204
- .pool
-_081241DC:
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r3, 0x3]
- ldr r1, [r4]
- ldr r2, [r1, 0x1C]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x1C]
- adds r1, 0x56
- ldrh r0, [r1]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r2, 0x22]
-_08124204:
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- ldr r1, [r0, 0x1C]
- movs r0, 0x2
- strh r0, [r1, 0x30]
- adds r0, r6, 0
- bl IndexOfSpritePaletteTag
- ldr r1, [r4]
- ldr r2, [r1, 0x1C]
- lsls r0, 24
- lsrs r0, 20
- ldr r4, =0x00000101
- adds r0, r4
- strh r0, [r2, 0x32]
- ldr r1, [r1, 0x1C]
- movs r0, 0x1
- strh r0, [r1, 0x34]
-_08124228:
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81240D4
-
- thumb_func_start sub_8124238
-sub_8124238: @ 8124238
- push {r4,lr}
- ldr r4, =gUnknown_0203A144
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _0812425C
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x58
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x5A
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_0812425C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124238
-
- thumb_func_start sub_8124268
-sub_8124268: @ 8124268
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- movs r0, 0x1
- strh r0, [r1, 0x34]
- bx lr
- .pool
- thumb_func_end sub_8124268
-
- thumb_func_start sub_8124278
-sub_8124278: @ 8124278
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x34]
- bx lr
- .pool
- thumb_func_end sub_8124278
-
- thumb_func_start sub_8124288
-sub_8124288: @ 8124288
- push {r4-r6,lr}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gUnknown_085A084C
- str r2, [sp, 0x18]
- movs r2, 0x80
- add r6, sp, 0x18
- lsrs r3, r0, 16
- orrs r0, r2
- str r0, [r6, 0x4]
- ldr r0, =gUnknown_085A082C
- str r0, [sp, 0x20]
- ldr r2, =0xffff0000
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r5, 0
- strh r3, [r0]
- strh r1, [r0, 0x2]
- ldr r0, =gUnknown_085A1C20
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_085A1C30
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, =SpriteCallbackDummy
- str r0, [sp, 0x14]
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x14]
- bl sub_8124668
- cmp r0, 0
- beq _08124304
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- str r5, [r0, 0x20]
- b _081243A4
- .pool
-_08124304:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _08124316
- ldr r0, =gUnknown_085A08EC
- str r0, [sp, 0x18]
- ldr r0, =gUnknown_085A08CC
- str r0, [sp, 0x20]
-_08124316:
- adds r0, r6, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203A144
- ldr r2, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0
- bne _08124384
- adds r0, r2, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x22]
- ldr r1, [r2, 0x20]
- ldr r0, =sub_81244EC
- b _081243A2
- .pool
-_08124384:
- adds r0, r2, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x30
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x42
- strh r0, [r1, 0x22]
- ldr r1, [r2, 0x20]
- ldr r0, =sub_812445C
-_081243A2:
- str r0, [r1, 0x1C]
-_081243A4:
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124288
-
- thumb_func_start sub_81243B0
-sub_81243B0: @ 81243B0
- push {lr}
- ldr r3, =gUnknown_0203A144
- ldr r0, [r3]
- ldr r2, [r0, 0x20]
- cmp r2, 0
- beq _081243CE
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r1, [r0, 0x20]
- ldr r0, =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_081243CE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81243B0
-
- thumb_func_start sub_81243DC
-sub_81243DC: @ 81243DC
- push {lr}
- ldr r0, =gUnknown_0203A144
- ldr r3, [r0]
- ldr r1, [r3, 0x20]
- cmp r1, 0
- beq _08124452
- adds r0, r3, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0812441C
- adds r0, r3, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x30
- strh r0, [r1, 0x20]
- ldr r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x42
- strh r0, [r1, 0x22]
- ldr r1, [r3, 0x20]
- ldr r0, =sub_812445C
- b _08124444
- .pool
-_0812441C:
- adds r0, r3, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- movs r2, 0
- strh r0, [r1, 0x20]
- ldr r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x22]
- ldr r0, [r3, 0x20]
- strh r2, [r0, 0x24]
- ldr r0, [r3, 0x20]
- strh r2, [r0, 0x26]
- ldr r1, [r3, 0x20]
- ldr r0, =sub_81244EC
-_08124444:
- str r0, [r1, 0x1C]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_08124452:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81243DC
-
- thumb_func_start sub_812445C
-sub_812445C: @ 812445C
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_0203A144
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x5C
- movs r4, 0
- ldrsh r2, [r0, r4]
- lsls r2, 1
- negs r2, r2
- strh r2, [r3, 0x24]
- adds r1, 0x5E
- movs r4, 0
- ldrsh r0, [r1, r4]
- lsls r0, 1
- negs r0, r0
- strh r0, [r3, 0x26]
- ldrh r1, [r3, 0x22]
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r3, 0x2E]
- ldrh r1, [r3, 0x20]
- adds r1, r2
- adds r2, r3, 0
- adds r2, 0x28
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- adds r2, r1
- strh r2, [r3, 0x30]
- adds r0, 0x8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB0
- bhi _081244BC
- lsls r0, r2, 16
- asrs r2, r0, 16
- movs r0, 0x8
- negs r0, r0
- cmp r2, r0
- blt _081244BC
- cmp r2, 0xF8
- ble _081244C4
-_081244BC:
- movs r0, 0
- b _081244C6
- .pool
-_081244C4:
- movs r0, 0x1
-_081244C6:
- strh r0, [r3, 0x32]
- movs r1, 0x32
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- bne _081244D8
- adds r0, r3, 0
- bl sub_81244F8
- b _081244E4
-_081244D8:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_081244E4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_812445C
-
- thumb_func_start sub_81244EC
-sub_81244EC: @ 81244EC
- push {lr}
- bl sub_81244F8
- pop {r0}
- bx r0
- thumb_func_end sub_81244EC
-
- thumb_func_start sub_81244F8
-sub_81244F8: @ 81244F8
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- adds r0, 0x7E
- ldrb r0, [r0]
- cmp r0, 0
- beq _0812453C
- ldrh r0, [r2, 0x3C]
- adds r0, 0x1
- strh r0, [r2, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08124548
- movs r0, 0
- strh r0, [r2, 0x3C]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08124548
- .pool
-_0812453C:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08124548:
- pop {r0}
- bx r0
- thumb_func_end sub_81244F8
-
- thumb_func_start sub_812454C
-sub_812454C: @ 812454C
- push {lr}
- ldr r0, =gUnknown_0203A144
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x7F
- ldrb r0, [r0]
- cmp r0, 0
- beq _08124562
- adds r1, 0x7E
- movs r0, 0x1
- strb r0, [r1]
-_08124562:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812454C
-
- thumb_func_start GetMapName
-@ u8 *GetMapName(u8 *dest, u16 regionMapId, u16 padLength)
-GetMapName: @ 812456C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- cmp r1, 0x56
- bne _08124584
- bl GetSecretBaseMapName
- adds r1, r0, 0
- b _081245B2
-_08124584:
- cmp r1, 0xD4
- bhi _081245A0
- ldr r0, =gRegionMapEntries
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl StringCopy
- adds r1, r0, 0
- b _081245B2
- .pool
-_081245A0:
- cmp r4, 0
- bne _081245A6
- movs r4, 0x12
-_081245A6:
- adds r0, r5, 0
- movs r1, 0
- adds r2, r4, 0
- bl StringFill
- b _081245D6
-_081245B2:
- cmp r4, 0
- beq _081245D4
- subs r0, r1, r5
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcs _081245D0
- movs r2, 0
-_081245C2:
- strb r2, [r1]
- adds r1, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcc _081245C2
-_081245D0:
- movs r0, 0xFF
- strb r0, [r1]
-_081245D4:
- adds r0, r1, 0
-_081245D6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetMapName
-
- thumb_func_start sub_81245DC
-sub_81245DC: @ 81245DC
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x56
- beq _081245F8
- cmp r1, 0x57
- bne _08124604
- ldr r1, =gText_Ferry
- bl StringCopy
- b _0812460A
- .pool
-_081245F8:
- ldr r1, =gText_SecretBase
- bl StringCopy
- b _0812460A
- .pool
-_08124604:
- movs r2, 0
- bl GetMapName
-_0812460A:
- pop {r1}
- bx r1
- thumb_func_end sub_81245DC
-
- thumb_func_start sub_8124610
-sub_8124610: @ 8124610
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x42
- beq _08124620
- bl sub_81245DC
- b _08124626
-_08124620:
- ldr r1, =gText_Hideout
- bl StringCopy
-_08124626:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8124610
-
- thumb_func_start sub_8124630
-sub_8124630: @ 8124630
- push {r4,r5,lr}
- ldr r5, [sp, 0xC]
- lsls r0, 16
- ldr r4, =gRegionMapEntries
- lsrs r0, 13
- adds r0, r4
- ldrb r4, [r0]
- strh r4, [r1]
- ldrb r1, [r0, 0x1]
- strh r1, [r2]
- ldrb r1, [r0, 0x2]
- strh r1, [r3]
- ldrb r0, [r0, 0x3]
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124630
-
- thumb_func_start sub_8124658
-sub_8124658: @ 8124658
- ldr r0, =gUnknown_0203A144
- ldr r0, [r0]
- adds r0, 0x78
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8124658
-
- thumb_func_start sub_8124668
-sub_8124668: @ 8124668
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, =gUnknown_085A1C34
-_08124672:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bne _08124684
- movs r0, 0x1
- b _0812468C
- .pool
-_08124684:
- adds r1, 0x1
- cmp r1, 0x2
- bls _08124672
- movs r0, 0
-_0812468C:
- pop {r1}
- bx r1
- thumb_func_end sub_8124668
-
- thumb_func_start sub_8124690
-sub_8124690: @ 8124690
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _081246A4
- b _081248AA
-_081246A4:
- lsls r0, 2
- ldr r1, =_081246B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081246B8:
- .4byte _081246E4
- .4byte _08124766
- .4byte _0812477C
- .4byte _0812478C
- .4byte _0812479C
- .4byte _081247E4
- .4byte _081247F8
- .4byte _0812480C
- .4byte _0812484C
- .4byte _08124852
- .4byte _0812486C
-_081246E4:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- 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 r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- ldr r4, =gUnknown_0203A148
- ldr r0, =0x00000a74
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _08124754
- ldr r0, =sub_8086194
- bl SetMainCallback2
- b _081248AA
- .pool
-_08124754:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- b _0812489C
-_08124766:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085A1EE4
- movs r0, 0x1
- movs r2, 0x3
- bl InitBgsFromTemplates
- b _0812489C
- .pool
-_0812477C:
- ldr r0, =gUnknown_085A1EF0
- bl InitWindows
- bl DeactivateAllTextPrinters
- b _0812489C
- .pool
-_0812478C:
- movs r0, 0
- movs r1, 0x65
- movs r2, 0xD0
- bl sub_809882C
- bl clear_scheduled_bg_copies_to_vram
- b _0812489C
-_0812479C:
- ldr r4, =gUnknown_0203A148
- ldr r0, [r4]
- adds r0, 0x8
- movs r1, 0
- bl sub_8122CDC
- movs r0, 0
- movs r1, 0
- bl sub_81240D4
- movs r0, 0x1
- movs r1, 0x1
- bl sub_8124288
- ldr r0, [r4]
- ldrh r1, [r0, 0x8]
- strh r1, [r0, 0x6]
- ldr r1, =0x00000a4c
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl StringFill
- ldr r1, =gUnknown_03001180
- movs r0, 0x1
- str r0, [r1]
- bl sub_8124904
- b _0812489C
- .pool
-_081247E4:
- ldr r0, =gUnknown_085A1C58
- ldr r1, =0x0600c000
- bl LZ77UnCompVram
- b _0812489C
- .pool
-_081247F8:
- ldr r0, =gUnknown_085A1C90
- ldr r1, =0x0600f000
- bl LZ77UnCompVram
- b _0812489C
- .pool
-_0812480C:
- ldr r0, =gUnknown_085A1C38
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r2, =gText_FlyToWhere
- 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
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- b _0812489C
- .pool
-_0812484C:
- bl sub_8124A70
- b _0812489C
-_08124852:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_81248C0
- bl SetVBlankCallback
- b _0812489C
- .pool
-_0812486C:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r0, =sub_8124D14
- bl sub_81248F4
- ldr r0, =sub_81248D4
- bl SetMainCallback2
-_0812489C:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081248AA:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124690
-
- thumb_func_start sub_81248C0
-sub_81248C0: @ 81248C0
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81248C0
-
- thumb_func_start sub_81248D4
-sub_81248D4: @ 81248D4
- push {lr}
- ldr r0, =gUnknown_0203A148
- ldr r0, [r0]
- ldr r0, [r0]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81248D4
-
- thumb_func_start sub_81248F4
-sub_81248F4: @ 81248F4
- ldr r1, =gUnknown_0203A148
- ldr r1, [r1]
- str r0, [r1]
- movs r0, 0
- strh r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_81248F4
-
- thumb_func_start sub_8124904
-sub_8124904: @ 8124904
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r2, =gUnknown_0203A148
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0812491A
- b _08124A2C
-_0812491A:
- movs r7, 0
- movs r3, 0
- ldr r0, =gUnknown_085A1EDC
- mov r12, r0
- adds r5, r2, 0
- movs r6, 0
-_08124926:
- ldr r0, [r5]
- lsls r1, r3, 3
- mov r2, r12
- adds r4, r1, r2
- ldrh r0, [r0, 0x8]
- ldrh r1, [r4, 0x4]
- cmp r0, r1
- bne _081249C4
- ldrh r0, [r4, 0x6]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081249CE
- ldr r0, [r5]
- ldrb r0, [r0, 0xB]
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl StringLength
- movs r7, 0x1
- movs r0, 0
- movs r1, 0
- bl sub_8198070
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x65
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r2, [r5]
- adds r2, 0xC
- str r7, [sp]
- str r6, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- ldr r0, [r5]
- ldrb r0, [r0, 0xB]
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x60
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x11
- str r0, [sp]
- str r6, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_03001180
- str r7, [r0]
- b _081249CE
- .pool
-_081249C4:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _08124926
-_081249CE:
- cmp r7, 0
- bne _08124A62
- ldr r0, =gUnknown_03001180
- ldr r0, [r0]
- cmp r0, 0x1
- bne _081249F4
- movs r0, 0x1
- movs r1, 0
- bl sub_8198070
- movs r0, 0
- movs r1, 0
- movs r2, 0x65
- movs r3, 0xD
- bl SetWindowBorderStyle
- b _081249FC
- .pool
-_081249F4:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
-_081249FC:
- ldr r0, =gUnknown_0203A148
- ldr r2, [r0]
- adds r2, 0xC
- movs r0, 0x1
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_03001180
- str r4, [r0]
- b _08124A62
- .pool
-_08124A2C:
- ldr r4, =gUnknown_03001180
- ldr r0, [r4]
- cmp r0, 0x1
- bne _08124A48
- movs r0, 0x1
- movs r1, 0
- bl sub_8198070
- movs r0, 0
- movs r1, 0
- movs r2, 0x65
- movs r3, 0xD
- bl SetWindowBorderStyle
-_08124A48:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0
- str r0, [r4]
-_08124A62:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124904
-
- thumb_func_start sub_8124A70
-sub_8124A70: @ 8124A70
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_085A1D68
- ldr r5, =gUnknown_0203A148
- ldr r1, [r5]
- ldr r4, =0x0000088c
- adds r1, r4
- bl LZ77UnCompWram
- ldr r0, [r5]
- adds r0, r4
- str r0, [sp]
- ldr r1, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 1
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 10
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, =gUnknown_085A1F10
- bl LoadSpritePalette
- bl sub_8124AD4
- bl sub_8124BE4
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124A70
-
- thumb_func_start sub_8124AD4
-sub_8124AD4: @ 8124AD4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, =0x0000086f
- str r0, [sp, 0xC]
- movs r1, 0
- mov r9, r1
- mov r2, sp
- adds r2, 0x6
- str r2, [sp, 0x14]
- mov r3, sp
- adds r3, 0xA
- str r3, [sp, 0x18]
- mov r0, sp
- adds r0, 0x8
- str r0, [sp, 0x10]
- add r1, sp, 0x4
- mov r10, r1
-_08124AFE:
- ldr r2, [sp, 0x18]
- str r2, [sp]
- mov r0, r9
- add r1, sp, 0x4
- mov r2, sp
- adds r2, 0x6
- ldr r3, [sp, 0x10]
- bl sub_8124630
- mov r3, r10
- ldrh r0, [r3]
- adds r0, 0x1
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r3]
- mov r1, sp
- ldrh r0, [r1, 0x6]
- adds r0, 0x2
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x6]
- ldr r2, [sp, 0x10]
- ldrh r0, [r2]
- cmp r0, 0x2
- bne _08124B38
- movs r7, 0x1
- b _08124B44
- .pool
-_08124B38:
- ldr r3, [sp, 0x18]
- ldrh r0, [r3]
- movs r7, 0
- cmp r0, 0x2
- bne _08124B44
- movs r7, 0x2
-_08124B44:
- mov r0, r10
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, [sp, 0x14]
- movs r0, 0
- ldrsh r2, [r3, r0]
- ldr r0, =gUnknown_085A1F7C
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _08124BB8
- ldr r1, =gSprites
- mov r8, r1
- lsls r4, r5, 4
- adds r0, r4, r5
- lsls r6, r0, 2
- adds r2, r6, r1
- lsls r3, r7, 6
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x1]
- ldr r0, [sp, 0xC]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08124B9C
- mov r0, r8
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, =sub_8124CBC
- str r1, [r0]
- b _08124BA2
- .pool
-_08124B9C:
- adds r0, r7, 0x3
- lsls r0, 16
- lsrs r7, r0, 16
-_08124BA2:
- adds r4, r5
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- lsls r1, r7, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- mov r2, r9
- strh r2, [r4, 0x2E]
-_08124BB8:
- ldr r0, [sp, 0xC]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0xF
- bls _08124AFE
- 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_8124AD4
-
- thumb_func_start sub_8124BE4
-sub_8124BE4: @ 8124BE4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r0, 0
- mov r8, r0
- ldr r6, =gUnknown_085A1F18
- ldrh r0, [r6, 0x2]
- cmp r0, 0xD5
- beq _08124C9C
- mov r5, sp
- adds r5, 0x6
- add r7, sp, 0x4
- ldr r1, =gSprites
- mov r9, r1
- movs r0, 0x1C
- add r0, r9
- mov r10, r0
-_08124C0C:
- mov r1, r8
- lsls r4, r1, 2
- adds r0, r4, r6
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08124C84
- adds r0, r6, 0x2
- adds r0, r4, r0
- ldrh r6, [r0]
- mov r0, sp
- adds r0, 0xA
- str r0, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- add r3, sp, 0x8
- bl sub_8124630
- ldrh r0, [r7]
- adds r0, 0x1
- lsls r0, 3
- strh r0, [r7]
- ldrh r0, [r5]
- adds r0, 0x2
- lsls r0, 3
- strh r0, [r5]
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r0, 0
- ldrsh r2, [r5, r0]
- ldr r0, =gUnknown_085A1F7C
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08124C84
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- mov r1, r9
- adds r4, r2, r1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x3]
- add r2, r10
- ldr r0, =sub_8124CBC
- str r0, [r2]
- adds r0, r4, 0
- movs r1, 0x6
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
-_08124C84:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r6, =gUnknown_085A1F18
- lsls r0, 2
- adds r1, r6, 0x2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xD5
- bne _08124C0C
-_08124C9C:
- 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_8124BE4
-
- thumb_func_start sub_8124CBC
-sub_8124CBC: @ 8124CBC
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A148
- ldr r0, [r0]
- ldrh r1, [r0, 0x8]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bne _08124D00
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08124D0E
- movs r0, 0
- strh r0, [r2, 0x30]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08124D0E
- .pool
-_08124D00:
- movs r0, 0x10
- strh r0, [r2, 0x30]
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x15
- ands r0, r1
- strb r0, [r2]
-_08124D0E:
- pop {r0}
- bx r0
- thumb_func_end sub_8124CBC
-
- thumb_func_start sub_8124D14
-sub_8124D14: @ 8124D14
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203A148
- ldr r0, [r4]
- ldrh r1, [r0, 0x4]
- cmp r1, 0
- beq _08124D2C
- cmp r1, 0x1
- beq _08124D46
- b _08124D56
- .pool
-_08124D2C:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _08124D56
-_08124D46:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08124D56
- ldr r0, =sub_8124D64
- bl sub_81248F4
-_08124D56:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124D14
-
- thumb_func_start sub_8124D64
-sub_8124D64: @ 8124D64
- push {r4,lr}
- ldr r0, =gUnknown_0203A148
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- bne _08124DF8
- bl sub_81230AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _08124DF8
- lsls r0, 2
- ldr r1, =_08124D90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08124D90:
- .4byte _08124DF8
- .4byte _08124DF8
- .4byte _08124DF8
- .4byte _08124DA8
- .4byte _08124DAE
- .4byte _08124DE0
-_08124DA8:
- bl sub_8124904
- b _08124DF8
-_08124DAE:
- ldr r4, =gUnknown_0203A148
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0x2
- beq _08124DBC
- cmp r0, 0x4
- bne _08124DF8
-_08124DBC:
- movs r0, 0x5
- bl m4aSongNumStart
- ldr r0, [r4]
- ldr r1, =0x00000a72
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, =sub_8124E0C
- bl sub_81248F4
- b _08124DF8
- .pool
-_08124DE0:
- movs r0, 0x5
- bl m4aSongNumStart
- ldr r0, =gUnknown_0203A148
- ldr r0, [r0]
- ldr r1, =0x00000a72
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, =sub_8124E0C
- bl sub_81248F4
-_08124DF8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124D64
-
- thumb_func_start sub_8124E0C
-sub_8124E0C: @ 8124E0C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203A148
- ldr r0, [r4]
- ldrh r1, [r0, 0x4]
- cmp r1, 0
- beq _08124E24
- cmp r1, 0x1
- beq _08124E3E
- b _08124F1A
- .pool
-_08124E24:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _08124F1A
-_08124E3E:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08124F1A
- bl sub_812305C
- ldr r1, [r4]
- ldr r2, =0x00000a72
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08124F00
- ldrh r0, [r1, 0x8]
- cmp r0, 0xF
- beq _08124E98
- cmp r0, 0xF
- bgt _08124E6C
- cmp r0, 0
- beq _08124E84
- b _08124EBC
- .pool
-_08124E6C:
- cmp r0, 0x3A
- beq _08124E7C
- cmp r0, 0x49
- bne _08124EBC
- movs r0, 0x15
- bl sub_8084CCC
- b _08124EFA
-_08124E7C:
- movs r0, 0x16
- bl sub_8084CCC
- b _08124EFA
-_08124E84:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0xD
- cmp r0, 0
- bne _08124EB0
- movs r1, 0xC
- b _08124EB0
- .pool
-_08124E98:
- ldr r0, =0x000008b4
- bl FlagGet
- lsls r0, 24
- movs r1, 0xB
- cmp r0, 0
- beq _08124EB0
- ldr r0, [r4]
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- bne _08124EB0
- movs r1, 0x14
-_08124EB0:
- adds r0, r1, 0
- bl sub_8084CCC
- b _08124EFA
- .pool
-_08124EBC:
- ldr r3, =gUnknown_085A1E3C
- ldr r0, =gUnknown_0203A148
- ldr r0, [r0]
- ldrh r1, [r0, 0x8]
- lsls r0, r1, 1
- adds r2, r0, r1
- adds r0, r3, 0x2
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08124EE0
- bl sub_8084CCC
- b _08124EFA
- .pool
-_08124EE0:
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- bl warp1_set_2
-_08124EFA:
- bl sub_80B69DC
- b _08124F06
-_08124F00:
- ldr r0, =sub_81B58A8
- bl SetMainCallback2
-_08124F06:
- ldr r4, =gUnknown_0203A148
- ldr r0, [r4]
- cmp r0, 0
- beq _08124F16
- bl Free
- movs r0, 0
- str r0, [r4]
-_08124F16:
- bl FreeAllWindowBuffers
-_08124F1A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8124E0C
-
- .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/rom6.s b/asm/rom6.s
index 87b780ba5..cc02638bc 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -31,7 +31,7 @@ npc_before_player_of_type: @ 8135424
ldrb r0, [r2, 0x5]
cmp r0, r5
bne _08135470
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
ldrb r0, [r2, 0x8]
strh r0, [r1]
movs r0, 0x1
@@ -262,13 +262,13 @@ sub_8135654: @ 8135654
lsls r0, 24
cmp r0, 0
beq _0813568C
- ldr r4, =gScriptResult
- bl brm_get_pokemon_selection
+ 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
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_8179834
@@ -285,7 +285,7 @@ _0813568C:
b _081356AC
_0813569E:
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =sub_81356C4
@@ -302,12 +302,12 @@ _081356AC:
thumb_func_start sub_81356C4
sub_81356C4: @ 81356C4
push {lr}
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_082907F0
+ ldr r0, =Route111_EventScript_2907F0
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -361,7 +361,7 @@ sub_813572C: @ 813572C
b _0813574C
_0813573E:
ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r0, =FieldCallback_Teleport
str r0, [r1]
ldr r1, =gUnknown_0203CEEC
ldr r0, =hm2_dig
@@ -379,7 +379,7 @@ hm2_dig: @ 8135760
bl flagmods_08054D70
movs r0, 0x26
bl FieldEffectStart
- bl brm_get_pokemon_selection
+ bl GetCursorSelectionMonId
ldr r1, =gFieldEffectArguments
lsls r0, 24
lsrs r0, 24
@@ -448,12325 +448,4 @@ _081357EE:
.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, =gScriptResult
- ldr r2, =0x0000ffff
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, =gScriptItemId
- mov r1, r9
- strh r1, [r0]
- adds r0, r7, 0
- bl sub_81364EC
- b _08136708
- .pool
-_081366F8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- 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, =gScriptItemId
- ldrh r2, [r7]
- lsls r2, 3
- ldr r6, =0x00000848
- adds r2, r6
- ldr r1, [r5]
- adds r1, r2
- bl sub_8136FE4
- 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, =gScriptItemId
- 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, =gScriptResult
- 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, =gScriptItemId
- 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, =gScriptResult
- 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 sub_8136FE4
-sub_8136FE4: @ 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 sub_8136FE4
-
- 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 sub_8136FE4
- 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, =gScriptResult
- bl brm_get_pokemon_selection
- 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 brm_get_pokemon_selection
- 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, =gUnknown_082926F8
- 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, =gUnknown_0203BCE4
- strb r1, [r0]
- b _0813776C
- .pool
-_08137760:
- ldr r1, =gUnknown_0203BCE4
- 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, =sub_8173694
- 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, =sub_8174194
- 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
- push {lr}
- ldr r0, =CB2_ShowDiploma
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137CB4
-
- thumb_func_start Special_ViewWallClock
-Special_ViewWallClock: @ 8137CC8
- push {lr}
- ldr r0, =gMain
- ldr r1, =c2_exit_to_overworld_2_switch
- str r1, [r0, 0x8]
- ldr r0, =Cb2_ViewWallClock
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end Special_ViewWallClock
-
- thumb_func_start wild_pokemon_reroll
-wild_pokemon_reroll: @ 8137CEC
- ldr r0, =gUnknown_0203AB54
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_0203AB55
- strb r1, [r0]
- ldr r1, =gUnknown_0203AB58
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end wild_pokemon_reroll
-
- thumb_func_start sub_8137D0C
-sub_8137D0C: @ 8137D0C
- ldr r1, =gUnknown_0203AB54
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, =gUnknown_0203AB55
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_0203AB58
- ldr r0, =gMain
- ldr r0, [r0, 0x20]
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8137D0C
-
- thumb_func_start sp0E3_walkrun_bitfield_interpretation
-sp0E3_walkrun_bitfield_interpretation: @ 8137D34
- push {lr}
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08137D46
- movs r0, 0x1
- b _08137D58
-_08137D46:
- movs r0, 0x2
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _08137D56
- movs r0, 0
- b _08137D58
-_08137D56:
- movs r0, 0x2
-_08137D58:
- pop {r1}
- bx r1
- thumb_func_end sp0E3_walkrun_bitfield_interpretation
-
- thumb_func_start sub_8137D5C
-sub_8137D5C: @ 8137D5C
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r6, 0x63
- bhi _08137D88
- ldr r4, =gStringVar1
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_SpaceTimes
- adds r0, r4, 0
- bl StringAppend
- b _08137D90
- .pool
-_08137D88:
- ldr r0, =gStringVar1
- ldr r1, =gText_99TimesPlus
- bl StringCopy
-_08137D90:
- ldr r0, =0x00000e0f
- cmp r7, r0
- bhi _08137DF0
- ldr r4, =gStringVar2
- adds r0, r7, 0
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0xAD
- strb r0, [r4, 0x2]
- adds r5, r4, 0x3
- adds r0, r7, 0
- movs r1, 0x3C
- bl __umodsi3
- movs r1, 0x64
- muls r0, r1
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_SpaceSeconds
- adds r0, r4, 0
- bl StringAppend
- b _08137DF8
- .pool
-_08137DF0:
- ldr r0, =gStringVar2
- ldr r1, =gText_1MinutePlus
- bl StringCopy
-_08137DF8:
- movs r4, 0
- cmp r6, 0
- bne _08137E0C
- movs r4, 0x5
- b _08137E2A
- .pool
-_08137E0C:
- cmp r6, 0x3
- bhi _08137E14
- movs r4, 0x4
- b _08137E2A
-_08137E14:
- cmp r6, 0x9
- bhi _08137E1C
- movs r4, 0x3
- b _08137E2A
-_08137E1C:
- cmp r6, 0x13
- bhi _08137E24
- movs r4, 0x2
- b _08137E2A
-_08137E24:
- cmp r6, 0x63
- bhi _08137E2A
- movs r4, 0x1
-_08137E2A:
- adds r0, r7, 0
- movs r1, 0x3C
- bl __udivsi3
- cmp r0, 0xA
- bhi _08137E3A
- adds r0, r4, 0x5
- b _08137E58
-_08137E3A:
- cmp r0, 0xF
- bhi _08137E42
- adds r0, r4, 0x4
- b _08137E58
-_08137E42:
- cmp r0, 0x14
- bhi _08137E4A
- adds r0, r4, 0x3
- b _08137E58
-_08137E4A:
- cmp r0, 0x28
- bhi _08137E52
- adds r0, r4, 0x2
- b _08137E58
-_08137E52:
- cmp r0, 0x3B
- bhi _08137E5C
- adds r0, r4, 0x1
-_08137E58:
- lsls r0, 24
- lsrs r4, r0, 24
-_08137E5C:
- ldr r0, =gScriptResult
- strh r4, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137D5C
-
- thumb_func_start sub_8137E6C
-sub_8137E6C: @ 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
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8137D5C
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8137E9C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137E6C
-
- thumb_func_start sub_8137E9C
-sub_8137E9C: @ 8137E9C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r6, =0x00004028
- adds r0, r6, 0
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r7, =0x00004029
- adds r0, r7, 0
- bl VarGet
- lsls r0, 16
- adds r4, r0
- cmp r4, r5
- bhi _08137ECC
- cmp r4, 0
- bne _08137EE6
-_08137ECC:
- lsls r1, r5, 16
- lsrs r1, 16
- adds r0, r6, 0
- bl VarSet
- lsrs r1, r5, 16
- adds r0, r7, 0
- bl VarSet
- ldr r0, =0x00004027
- mov r1, r8
- bl VarSet
-_08137EE6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137E9C
-
- thumb_func_start sub_8137EFC
-sub_8137EFC: @ 8137EFC
- push {r4,lr}
- ldr r0, =0x00004028
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004029
- bl VarGet
- lsls r0, 16
- adds r4, r0
- cmp r4, 0
- beq _08137F3C
- ldr r0, =0x00004027
- bl VarGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8137D5C
- movs r0, 0x1
- b _08137F3E
- .pool
-_08137F3C:
- movs r0, 0
-_08137F3E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8137EFC
-
- thumb_func_start sub_8137F44
-sub_8137F44: @ 8137F44
- push {r4,lr}
- ldr r0, =gUnknown_020322DC
- ldrh r1, [r0]
- ldr r0, =0x00000c1d
- cmp r1, r0
- beq _08137F7C
- ldr r4, =0x000040a9
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _08137F6E
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bne _08137F7C
-_08137F6E:
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- movs r0, 0
- bl Overworld_SetSavedMusic
-_08137F7C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137F44
-
- thumb_func_start sub_8137F90
-sub_8137F90: @ 8137F90
- push {lr}
- ldr r0, =0x0000088d
- bl FlagSet
- ldr r0, =0x0000404a
- bl GetVarPointer
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137F90
-
- thumb_func_start sub_8137FB0
-sub_8137FB0: @ 8137FB0
- push {lr}
- ldr r0, =0x0000088d
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137FB0
-
- thumb_func_start CountSSTidalStep
-CountSSTidalStep: @ 8137FC0
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x0000088d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08137FE6
- ldr r0, =0x0000404a
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, r4, r1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xCC
- bhi _08137FF4
-_08137FE6:
- movs r0, 0
- b _08137FF6
- .pool
-_08137FF4:
- movs r0, 0x1
-_08137FF6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CountSSTidalStep
-
- thumb_func_start GetSSTidalLocation
-GetSSTidalLocation: @ 8137FFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldr r0, =0x0000404a
- bl GetVarPointer
- adds r4, r0, 0
- ldr r0, =0x000040b4
- bl GetVarPointer
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x9
- bhi _081380C2
- lsls r0, 2
- ldr r1, =_08138038
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08138038:
- .4byte _08138060
- .4byte _08138070
- .4byte _08138064
- .4byte _08138068
- .4byte _08138068
- .4byte _0813806C
- .4byte _08138098
- .4byte _08138060
- .4byte _08138064
- .4byte _0813806C
-_08138060:
- movs r0, 0x1
- b _081380CE
-_08138064:
- movs r0, 0x4
- b _081380CE
-_08138068:
- movs r0, 0x2
- b _081380CE
-_0813806C:
- movs r0, 0x3
- b _081380CE
-_08138070:
- ldrh r0, [r4]
- cmp r0, 0x3B
- bhi _08138080
- movs r0, 0x31
- strb r0, [r5]
- ldrh r0, [r4]
- adds r0, 0x13
- b _081380C0
-_08138080:
- cmp r0, 0x8B
- bhi _0813808E
- movs r0, 0x30
- strb r0, [r5]
- ldrh r0, [r4]
- subs r0, 0x3C
- b _081380C0
-_0813808E:
- movs r0, 0x2F
- strb r0, [r5]
- ldrh r0, [r4]
- subs r0, 0x8C
- b _081380C0
-_08138098:
- ldrh r0, [r4]
- cmp r0, 0x41
- bhi _081380A8
- movs r0, 0x2F
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0x41
- b _081380BE
-_081380A8:
- cmp r0, 0x91
- bhi _081380B6
- movs r0, 0x30
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0x91
- b _081380BE
-_081380B6:
- movs r0, 0x31
- strb r0, [r5]
- ldrh r1, [r4]
- movs r0, 0xE0
-_081380BE:
- subs r0, r1
-_081380C0:
- strh r0, [r6]
-_081380C2:
- movs r0, 0
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x14
- strh r0, [r7]
- movs r0, 0
-_081380CE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetSSTidalLocation
-
- thumb_func_start is_tile_that_overrides_player_control
-is_tile_that_overrides_player_control: @ 81380D8
- push {lr}
- movs r0, 0x88
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0813810A
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _0813810A
- cmp r0, 0x3
- ble _081380F6
- cmp r0, 0x6
- bne _0813810A
-_081380F6:
- ldr r0, =0x000040f2
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xF9
- bhi _08138118
-_0813810A:
- movs r0, 0
- b _0813811A
- .pool
-_08138118:
- movs r0, 0x1
-_0813811A:
- pop {r1}
- bx r1
- thumb_func_end is_tile_that_overrides_player_control
-
- thumb_func_start sub_8138120
-sub_8138120: @ 8138120
- push {lr}
- movs r0, 0x8A
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08138152
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _08138152
- cmp r0, 0x3
- ble _0813813E
- cmp r0, 0x6
- bne _08138152
-_0813813E:
- ldr r0, =0x000040f3
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x9
- bhi _08138160
-_08138152:
- movs r0, 0
- b _08138162
- .pool
-_08138160:
- movs r0, 0x1
-_08138162:
- pop {r1}
- bx r1
- thumb_func_end sub_8138120
-
- thumb_func_start sub_8138168
-sub_8138168: @ 8138168
- push {lr}
- movs r0, 0x72
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0813819A
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _0813819A
- cmp r0, 0x3
- ble _08138186
- cmp r0, 0x6
- bne _0813819A
-_08138186:
- ldr r0, =0x000040f5
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x9
- bhi _081381A8
-_0813819A:
- movs r0, 0
- b _081381AA
- .pool
-_081381A8:
- movs r0, 0x1
-_081381AA:
- pop {r1}
- bx r1
- thumb_func_end sub_8138168
-
- thumb_func_start sub_81381B0
-sub_81381B0: @ 81381B0
- push {lr}
- movs r0, 0x80
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081381E2
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _081381E2
- cmp r0, 0x3
- ble _081381CE
- cmp r0, 0x6
- bne _081381E2
-_081381CE:
- ldr r0, =0x000040f4
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xF9
- bhi _081381F0
-_081381E2:
- movs r0, 0
- b _081381F2
- .pool
-_081381F0:
- movs r0, 0x1
-_081381F2:
- pop {r1}
- bx r1
- thumb_func_end sub_81381B0
-
- thumb_func_start sub_81381F8
-sub_81381F8: @ 81381F8
- push {lr}
- movs r0, 0x75
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0813822A
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x1
- blt _0813822A
- cmp r0, 0x3
- ble _08138216
- cmp r0, 0x6
- bne _0813822A
-_08138216:
- ldr r0, =0x000040f6
- bl GetVarPointer
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xF9
- bhi _08138238
-_0813822A:
- movs r0, 0
- b _0813823A
- .pool
-_08138238:
- movs r0, 0x1
-_0813823A:
- pop {r1}
- bx r1
- thumb_func_end sub_81381F8
-
- thumb_func_start sub_8138240
-sub_8138240: @ 8138240
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _0813828A
- ldr r0, =gTVStringVarPtrs
- mov r8, r0
-_08138262:
- cmp r7, r4
- beq _08138280
- lsls r0, r6, 2
- add r0, r8
- ldr r0, [r0]
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, =gLinkPlayers + 8
- adds r1, r2
- bl StringCopy
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08138280:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08138262
-_0813828A:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8138240
-
- thumb_func_start SpawnLinkPartnerFieldObject
-SpawnLinkPartnerFieldObject: @ 81382A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r7, 0
- movs r0, 0
- mov r9, r0
- mov r8, r0
- ldr r1, =gUnknown_085B2B5C
- add r0, sp, 0x8
- movs r2, 0x4
- bl memcpy
- add r4, sp, 0xC
- ldr r1, =gUnknown_085B2B60
- adds r0, r4, 0
- movs r2, 0x8
- bl memcpy
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x2
- beq _08138310
- cmp r0, 0x2
- bgt _081382F4
- cmp r0, 0x1
- beq _0813833C
- b _08138350
- .pool
-_081382F4:
- cmp r1, 0x3
- beq _081382FE
- cmp r1, 0x4
- beq _08138324
- b _08138350
-_081382FE:
- movs r7, 0x2
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1]
- subs r0, 0x1
- b _0813832C
- .pool
-_08138310:
- movs r7, 0x1
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0]
- mov r9, r1
- ldrh r0, [r0, 0x2]
- subs r0, 0x1
- b _0813834A
- .pool
-_08138324:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
-_0813832C:
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldrh r1, [r1, 0x2]
- mov r8, r1
- b _08138350
- .pool
-_0813833C:
- movs r7, 0x3
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r3, [r0]
- mov r9, r3
- ldrh r0, [r0, 0x2]
- adds r0, 0x1
-_0813834A:
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_08138350:
- movs r6, 0
- b _08138410
- .pool
-_08138358:
- cmp r10, r6
- beq _0813840A
- ldr r0, =gLinkPlayers
- lsls r2, r6, 3
- subs r1, r2, r6
- lsls r1, 2
- adds r1, r0
- ldrb r3, [r1]
- adds r4, r0, 0
- cmp r3, 0x1
- blt _0813838C
- cmp r3, 0x2
- ble _0813837C
- cmp r3, 0x3
- beq _08138388
- b _0813838C
- .pool
-_0813837C:
- ldrb r0, [r1, 0x13]
- movs r5, 0xEC
- cmp r0, 0
- bne _0813839C
- movs r5, 0xEB
- b _0813839C
-_08138388:
- ldrb r0, [r1, 0x13]
- b _08138394
-_0813838C:
- subs r0, r2, r6
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x13]
-_08138394:
- movs r5, 0x69
- cmp r0, 0
- bne _0813839C
- movs r5, 0x64
-_0813839C:
- mov r0, sp
- adds r0, r7
- adds r0, 0x8
- ldrb r1, [r0]
- movs r4, 0xF0
- subs r4, r6
- lsls r4, 24
- lsrs r4, 24
- lsls r2, r7, 1
- mov r0, sp
- adds r0, r2
- adds r0, 0xC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r3, r9
- lsls r3, 16
- asrs r3, 16
- mov r12, r3
- add r0, r12
- adds r3, r0, 0x7
- lsls r3, 16
- asrs r3, 16
- mov r12, r3
- mov r0, sp
- adds r0, 0xD
- adds r0, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- adds r0, r2
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r2, r4, 0
- mov r3, r12
- bl SpawnSpecialFieldObjectParametrized
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_813842C
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x4
- bne _0813840A
- movs r7, 0
-_0813840A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08138410:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r6, r0
- bcc _08138358
- 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 SpawnLinkPartnerFieldObject
-
- thumb_func_start sub_813842C
-sub_813842C: @ 813842C
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r2, r1
- lsrs r5, r2, 24
- lsrs r4, r0, 24
- movs r2, 0xA8
- lsls r2, 21
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _08138454
- cmp r4, 0x64
- beq _08138454
- cmp r4, 0x69
- bne _081384E6
-_08138454:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- adds r0, r3, 0
- bl GetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x10
- beq _081384E6
- ldr r1, =gMapObjects
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- lsls r3, r5, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- cmp r4, 0x69
- beq _081384D8
- cmp r4, 0x69
- bgt _081384A8
- cmp r4, 0x64
- beq _081384C4
- b _081384E6
- .pool
-_081384A8:
- cmp r4, 0xEB
- beq _081384B2
- cmp r4, 0xEC
- beq _081384BC
- b _081384E6
-_081384B2:
- ldr r0, =gFieldObjectPalette33
- b _081384C6
- .pool
-_081384BC:
- ldr r0, =gFieldObjectPalette34
- b _081384C6
- .pool
-_081384C4:
- ldr r0, =gFieldObjectPalette8
-_081384C6:
- movs r2, 0x80
- lsls r2, 1
- adds r1, r3, r2
- movs r2, 0x20
- bl LoadPalette
- b _081384E6
- .pool
-_081384D8:
- ldr r0, =gFieldObjectPalette17
- movs r2, 0x80
- lsls r2, 1
- adds r1, r3, r2
- movs r2, 0x20
- bl LoadPalette
-_081384E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813842C
-
- thumb_func_start sub_81384F0
-sub_81384F0: @ 81384F0
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gUnknown_085B2B68
-_081384F6:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- bne _0813851C
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, =0x00000206
- bl MapGridSetMetatileIdAt
- b _0813852A
- .pool
-_0813851C:
- lsls r1, r4, 2
- adds r1, r5
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- ldr r2, =0x00000205
- bl MapGridSetMetatileIdAt
-_0813852A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081384F6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81384F0
-
- thumb_func_start sub_8138540
-sub_8138540: @ 8138540
- push {r4-r6,lr}
- movs r5, 0xC
-_08138544:
- movs r4, 0x7
- adds r6, r5, 0x1
-_08138548:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0xfffffde6
- adds r0, r1
- cmp r0, 0x37
- bls _0813855A
- b _08138734
-_0813855A:
- lsls r0, 2
- ldr r1, =_0813856C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813856C:
- .4byte _081386F2
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813864C
- .4byte _08138652
- .4byte _0813868C
- .4byte _08138694
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813865C
- .4byte _08138662
- .4byte _0813869C
- .4byte _081386A4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813866C
- .4byte _08138672
- .4byte _081386AC
- .4byte _081386B4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813867C
- .4byte _08138684
- .4byte _081386BC
- .4byte _081386C4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _081386CC
- .4byte _081386DC
- .4byte _081386EC
- .4byte _08138714
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _081386D4
- .4byte _081386E4
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _08138734
- .4byte _0813872A
- .4byte _0813871C
-_0813864C:
- movs r2, 0x8C
- lsls r2, 2
- b _08138720
-_08138652:
- ldr r2, =0x00000231
- b _08138720
- .pool
-_0813865C:
- movs r2, 0x8E
- lsls r2, 2
- b _08138720
-_08138662:
- ldr r2, =0x00000239
- b _08138720
- .pool
-_0813866C:
- movs r2, 0x88
- lsls r2, 2
- b _08138720
-_08138672:
- ldr r2, =0x00000221
- b _08138720
- .pool
-_0813867C:
- ldr r2, =0x00000e28
- b _08138720
- .pool
-_08138684:
- ldr r2, =0x00000e29
- b _08138720
- .pool
-_0813868C:
- ldr r2, =0x00000232
- b _08138720
- .pool
-_08138694:
- ldr r2, =0x00000233
- b _08138720
- .pool
-_0813869C:
- ldr r2, =0x0000023a
- b _08138720
- .pool
-_081386A4:
- ldr r2, =0x0000023b
- b _08138720
- .pool
-_081386AC:
- ldr r2, =0x00000222
- b _08138720
- .pool
-_081386B4:
- ldr r2, =0x00000223
- b _08138720
- .pool
-_081386BC:
- ldr r2, =0x00000e2a
- b _08138720
- .pool
-_081386C4:
- ldr r2, =0x00000e2b
- b _08138720
- .pool
-_081386CC:
- ldr r2, =0x00000e42
- b _08138720
- .pool
-_081386D4:
- ldr r2, =0x0000021a
- b _08138720
- .pool
-_081386DC:
- ldr r2, =0x00000e43
- b _08138720
- .pool
-_081386E4:
- ldr r2, =0x0000021a
- b _08138720
- .pool
-_081386EC:
- movs r2, 0xE4
- lsls r2, 4
- b _08138720
-_081386F2:
- subs r1, r5, 0x1
- adds r0, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x90
- lsls r1, 2
- cmp r0, r1
- bne _0813870C
- ldr r2, =0x00000e48
- b _08138720
- .pool
-_0813870C:
- ldr r2, =0x00000e49
- b _08138720
- .pool
-_08138714:
- ldr r2, =0x00000e41
- b _08138720
- .pool
-_0813871C:
- movs r2, 0xE5
- lsls r2, 4
-_08138720:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _08138734
-_0813872A:
- ldr r2, =0x00000251
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_08138734:
- adds r4, 0x1
- cmp r4, 0xF
- bgt _0813873C
- b _08138548
-_0813873C:
- adds r5, r6, 0
- cmp r5, 0x17
- bgt _08138744
- b _08138544
-_08138744:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138540
-
- thumb_func_start sub_8138750
-sub_8138750: @ 8138750
- push {r4-r6,lr}
- ldr r4, =gUnknown_085B2B68
- movs r5, 0x3
-_08138756:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- ldr r2, =0x00000206
- bl MapGridSetMetatileIdAt
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08138756
- movs r5, 0xC
-_0813876A:
- movs r4, 0x7
- adds r6, r5, 0x1
-_0813876E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0xfffffde0
- adds r0, r1
- cmp r0, 0x30
- bls _08138780
- b _081388CA
-_08138780:
- lsls r0, 2
- ldr r1, =_0813879C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813879C:
- .4byte _08138860
- .4byte _08138866
- .4byte _08138880
- .4byte _08138888
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _08138870
- .4byte _08138876
- .4byte _08138890
- .4byte _08138898
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388A0
- .4byte _081388A8
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388B0
- .4byte _081388B0
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388CA
- .4byte _081388C0
-_08138860:
- movs r2, 0x8C
- lsls r2, 2
- b _081388B2
-_08138866:
- ldr r2, =0x00000231
- b _081388B2
- .pool
-_08138870:
- movs r2, 0x8E
- lsls r2, 2
- b _081388B2
-_08138876:
- ldr r2, =0x00000239
- b _081388B2
- .pool
-_08138880:
- ldr r2, =0x00000232
- b _081388B2
- .pool
-_08138888:
- ldr r2, =0x00000233
- b _081388B2
- .pool
-_08138890:
- ldr r2, =0x0000023a
- b _081388B2
- .pool
-_08138898:
- ldr r2, =0x0000023b
- b _081388B2
- .pool
-_081388A0:
- ldr r2, =0x00000e42
- b _081388B2
- .pool
-_081388A8:
- ldr r2, =0x00000e43
- b _081388B2
- .pool
-_081388B0:
- ldr r2, =0x0000021a
-_081388B2:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _081388CA
- .pool
-_081388C0:
- ldr r2, =0x00000251
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_081388CA:
- adds r4, 0x1
- cmp r4, 0xF
- bgt _081388D2
- b _0813876E
-_081388D2:
- adds r5, r6, 0
- cmp r5, 0x17
- bgt _081388DA
- b _0813876A
-_081388DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138750
-
- thumb_func_start sub_81388E4
-sub_81388E4: @ 81388E4
- push {lr}
- ldr r0, =gUnknown_0203AB5C
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_0203AB5D
- strb r1, [r0]
- movs r0, 0x2C
- bl PlaySE
- ldr r0, =sub_8138910
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81388E4
-
- thumb_func_start sub_8138910
-sub_8138910: @ 8138910
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_085B2B78
- ldr r5, =gUnknown_0203AB5D
- ldrb r1, [r5]
- adds r0, r1, r0
- ldr r4, =gUnknown_0203AB5C
- ldrb r2, [r4]
- ldrb r0, [r0]
- cmp r0, r2
- bne _0813896C
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r2, =gUnknown_085B2B7E
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- bl sub_8138978
- movs r0, 0
- strb r0, [r4]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08138970
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- b _08138970
- .pool
-_0813896C:
- adds r0, r2, 0x1
- strb r0, [r4]
-_08138970:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8138910
-
- thumb_func_start sub_8138978
-sub_8138978: @ 8138978
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r2, r1, 16
- movs r7, 0
- subs r0, 0x1
- cmp r0, 0x7
- bhi _08138A40
- lsls r0, 2
- ldr r1, =_081389A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081389A0:
- .4byte _081389C0
- .4byte _081389D2
- .4byte _081389E4
- .4byte _081389F6
- .4byte _08138A04
- .4byte _08138A1A
- .4byte _08138A26
- .4byte _08138A34
-_081389C0:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x68
- b _08138A14
-_081389D2:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x4E
- b _08138A14
-_081389E4:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x5B
- b _08138A14
-_081389F6:
- movs r7, 0x1
- mov r1, sp
- movs r0, 0x7
- strh r0, [r1]
- add r1, sp, 0x8
- movs r0, 0x27
- b _08138A3E
-_08138A04:
- movs r7, 0x2
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x7
- strh r0, [r1, 0x2]
- add r1, sp, 0x8
- movs r0, 0x34
-_08138A14:
- strh r0, [r1]
- strh r0, [r1, 0x2]
- b _08138A40
-_08138A1A:
- movs r7, 0x1
- mov r0, sp
- strh r7, [r0]
- add r1, sp, 0x8
- movs r0, 0x41
- b _08138A3E
-_08138A26:
- movs r7, 0x1
- mov r1, sp
- movs r0, 0x7
- strh r0, [r1]
- add r1, sp, 0x8
- movs r0, 0xD
- b _08138A3E
-_08138A34:
- movs r7, 0x1
- mov r0, sp
- strh r7, [r0]
- add r1, sp, 0x8
- movs r0, 0x1A
-_08138A3E:
- strh r0, [r1]
-_08138A40:
- movs r6, 0
- cmp r6, r7
- bcs _08138A92
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1, 0
- adds r1, r2, 0
- orrs r1, r0
- lsls r1, 16
- mov r9, r1
- adds r1, r2, 0
- adds r1, 0x8
- orrs r1, r0
- lsls r1, 16
- mov r8, r1
-_08138A5E:
- lsls r1, r6, 1
- mov r3, sp
- adds r5, r3, r1
- ldrh r0, [r5]
- adds r0, 0x7
- add r4, sp, 0x8
- adds r4, r1
- ldrh r1, [r4]
- adds r1, 0x7
- mov r3, r9
- lsrs r2, r3, 16
- bl MapGridSetMetatileIdAt
- ldrh r0, [r5]
- adds r0, 0x7
- ldrh r1, [r4]
- adds r1, 0x8
- mov r3, r8
- lsrs r2, r3, 16
- bl MapGridSetMetatileIdAt
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08138A5E
-_08138A92:
- bl DrawWholeMapView
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8138978
-
- thumb_func_start sub_8138AA4
-sub_8138AA4: @ 8138AA4
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r1, =gUnknown_085B2B7E
- ldrh r1, [r1, 0x8]
- bl sub_8138978
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138AA4
-
- thumb_func_start sub_8138AC0
-sub_8138AC0: @ 8138AC0
- push {lr}
- ldr r0, =gStringVar4
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138AC0
-
- thumb_func_start sub_8138AD0
-sub_8138AD0: @ 8138AD0
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r1, =gSpecialVar_0x8005
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8138AD0
-
- thumb_func_start sub_8138AF0
-sub_8138AF0: @ 8138AF0
- 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, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8138AF0
-
- thumb_func_start sub_8138B10
-sub_8138B10: @ 8138B10
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08138B34
- ldr r0, =gStringVar1
- ldr r1, =gText_BigGuy
- bl StringCopy
- b _08138B3C
- .pool
-_08138B34:
- ldr r0, =gStringVar1
- ldr r1, =gText_BigGirl
- bl StringCopy
-_08138B3C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138B10
-
- thumb_func_start sub_8138B48
-sub_8138B48: @ 8138B48
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08138B6C
- ldr r0, =gStringVar1
- ldr r1, =gText_Daughter
- bl StringCopy
- b _08138B74
- .pool
-_08138B6C:
- ldr r0, =gStringVar1
- ldr r1, =gText_Son
- bl StringCopy
-_08138B74:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138B48
-
- thumb_func_start sub_8138B80
-sub_8138B80: @ 8138B80
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8138B80
-
- thumb_func_start sub_8138B8C
-sub_8138B8C: @ 8138B8C
- push {lr}
- sub sp, 0x4
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _08138BB0
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r3, 0x6
- bl Overworld_SetWarpDestination
- b _08138BC2
- .pool
-_08138BB0:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0x1
- movs r3, 0x6
- bl Overworld_SetWarpDestination
-_08138BC2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8138B8C
-
- thumb_func_start sub_8138BC8
-sub_8138BC8: @ 8138BC8
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138BC8
-
- thumb_func_start sub_8138BDC
-sub_8138BDC: @ 8138BDC
- push {lr}
- ldr r0, =gLocalTime
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x7
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _08138BF6
- adds r0, r1, 0
-_08138BF6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8138BDC
-
- thumb_func_start sub_8138C04
-sub_8138C04: @ 8138C04
- push {r4,lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xFF
- bne _08138C2C
- movs r0, 0x6
- b _08138C7E
- .pool
-_08138C2C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0xC7
- bls _08138C3C
- movs r0, 0x5
- b _08138C7E
-_08138C3C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x95
- bls _08138C4C
- movs r0, 0x4
- b _08138C7E
-_08138C4C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x63
- bls _08138C5C
- movs r0, 0x3
- b _08138C7E
-_08138C5C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0x31
- bls _08138C6C
- movs r0, 0x2
- b _08138C7E
-_08138C6C:
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- cmp r0, 0
- bne _08138C7C
- movs r0, 0
- b _08138C7E
-_08138C7C:
- movs r0, 0x1
-_08138C7E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8138C04
-
- thumb_func_start sub_8138C84
-sub_8138C84: @ 8138C84
- push {lr}
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl sub_817018C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138C84
-
- thumb_func_start sub_8138C94
-sub_8138C94: @ 8138C94
- push {lr}
- ldr r0, =sub_8138C84
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138C94
-
- thumb_func_start sp0D9_ComputerRelated
-sp0D9_ComputerRelated: @ 8138CA4
- push {r4,lr}
- ldr r4, =sub_8138CE8
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08138CD8
- adds r0, r4, 0
- 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
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x10]
-_08138CD8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp0D9_ComputerRelated
-
- thumb_func_start sub_8138CE8
-sub_8138CE8: @ 8138CE8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08138D06
- adds r0, r1, 0
- bl sub_8138D10
-_08138D06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138CE8
-
- thumb_func_start sub_8138D10
-sub_8138D10: @ 8138D10
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r6, 0
- movs r5, 0
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bne _08138D7C
- strh r5, [r4, 0xE]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _08138D44
- cmp r0, 0x3
- bgt _08138D3A
- cmp r0, 0x2
- beq _08138D40
- b _08138D4C
-_08138D3A:
- cmp r1, 0x4
- beq _08138D48
- b _08138D4C
-_08138D40:
- movs r6, 0
- b _08138D4A
-_08138D44:
- movs r6, 0xFF
- b _08138D4A
-_08138D48:
- movs r6, 0x1
-_08138D4A:
- movs r5, 0xFF
-_08138D4C:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r1, r6, 24
- asrs r1, 24
- lsls r2, r5, 24
- asrs r2, 24
- bl sub_8138D88
- bl DrawWholeMapView
- ldrh r0, [r4, 0x10]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08138D7C
- ldrb r0, [r4, 0xA]
- bl DestroyTask
-_08138D7C:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8138D10
-
- thumb_func_start sub_8138D88
-sub_8138D88: @ 8138D88
- push {r4,r5,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r3, 0
- lsls r0, 16
- cmp r0, 0
- beq _08138DC4
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08138DAC
- movs r3, 0x4
- b _08138DE6
- .pool
-_08138DAC:
- cmp r0, 0x1
- bne _08138DB8
- ldr r3, =0x0000025a
- b _08138DE6
- .pool
-_08138DB8:
- cmp r0, 0x2
- bne _08138DE6
- ldr r3, =0x00000259
- b _08138DE6
- .pool
-_08138DC4:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08138DD4
- movs r3, 0x5
- b _08138DE6
- .pool
-_08138DD4:
- cmp r0, 0x1
- bne _08138DE0
- ldr r3, =0x0000027f
- b _08138DE6
- .pool
-_08138DE0:
- cmp r0, 0x2
- bne _08138DE6
- ldr r3, =0x0000027e
-_08138DE6:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r5, 0
- ldrsh r0, [r2, r5]
- lsls r1, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r5, 0x2
- ldrsh r1, [r2, r5]
- lsls r2, r4, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r4, 0xC0
- lsls r4, 4
- adds r2, r4, 0
- orrs r3, r2
- adds r2, r3, 0
- bl MapGridSetMetatileIdAt
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138D88
-
- thumb_func_start sub_8138E20
-sub_8138E20: @ 8138E20
- push {lr}
- bl sub_8138E2C
- pop {r0}
- bx r0
- thumb_func_end sub_8138E20
-
- thumb_func_start sub_8138E2C
-sub_8138E2C: @ 8138E2C
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- movs r4, 0
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x3
- beq _08138E56
- cmp r0, 0x3
- bgt _08138E4C
- cmp r0, 0x2
- beq _08138E52
- b _08138E5E
-_08138E4C:
- cmp r1, 0x4
- beq _08138E5A
- b _08138E5E
-_08138E52:
- movs r6, 0
- b _08138E5C
-_08138E56:
- movs r6, 0xFF
- b _08138E5C
-_08138E5A:
- movs r6, 0x1
-_08138E5C:
- movs r5, 0xFF
-_08138E5E:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08138E70
- movs r4, 0x4
- b _08138E82
- .pool
-_08138E70:
- cmp r0, 0x1
- bne _08138E7C
- ldr r4, =0x0000025a
- b _08138E82
- .pool
-_08138E7C:
- cmp r0, 0x2
- bne _08138E82
- ldr r4, =0x00000259
-_08138E82:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r6, 24
- asrs r1, 24
- adds r0, r1
- adds r0, 0x7
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- lsls r2, r5, 24
- asrs r2, 24
- adds r1, r2
- adds r1, 0x7
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r4, r2
- adds r2, r4, 0
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138E2C
-
- thumb_func_start sub_8138EC0
-sub_8138EC0: @ 8138EC0
- push {r4,lr}
- ldr r4, =sub_8138F04
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08138EF4
- adds r0, r4, 0
- 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
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x10]
-_08138EF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138EC0
-
- thumb_func_start sub_8138F04
-sub_8138F04: @ 8138F04
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08138F22
- adds r0, r1, 0
- bl sub_8138F2C
-_08138F22:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138F04
-
- thumb_func_start sub_8138F2C
-sub_8138F2C: @ 8138F2C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bne _08138F9A
- movs r0, 0
- strh r0, [r4, 0xE]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08138F64
- ldr r2, =0x00000e9d
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, =0x00000ea5
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- b _08138F7A
- .pool
-_08138F64:
- ldr r2, =0x00000e58
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- movs r2, 0xE6
- lsls r2, 4
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
-_08138F7A:
- bl DrawWholeMapView
- ldrh r0, [r4, 0x10]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08138F9A
- ldrb r0, [r4, 0xA]
- bl DestroyTask
-_08138F9A:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138F2C
-
- thumb_func_start sub_8138FAC
-sub_8138FAC: @ 8138FAC
- push {lr}
- ldr r2, =0x00000e9d
- movs r0, 0x12
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, =0x00000ea5
- movs r0, 0x12
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138FAC
-
- thumb_func_start sub_8138FD4
-sub_8138FD4: @ 8138FD4
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x000001f5
- strh r0, [r1]
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138FD4
-
- thumb_func_start sub_8138FEC
-sub_8138FEC: @ 8138FEC
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x000001f5
- strh r0, [r1]
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8138FEC
-
- thumb_func_start sub_8139004
-sub_8139004: @ 8139004
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- bl GetMonData
- cmp r0, 0xC7
- bls _08139028
- movs r0, 0x1
- b _0813902A
- .pool
-_08139028:
- movs r0, 0
-_0813902A:
- pop {r1}
- bx r1
- thumb_func_end sub_8139004
-
- thumb_func_start sub_8139030
-sub_8139030: @ 8139030
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- bl GetMonData
- cmp r0, 0xC7
- bls _08139054
- movs r0, 0x1
- b _08139056
- .pool
-_08139054:
- movs r0, 0
-_08139056:
- pop {r1}
- bx r1
- thumb_func_end sub_8139030
-
- thumb_func_start sub_813905C
-sub_813905C: @ 813905C
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- bl GetMonData
- cmp r0, 0xC7
- bls _08139080
- movs r0, 0x1
- b _08139082
- .pool
-_08139080:
- movs r0, 0
-_08139082:
- pop {r1}
- bx r1
- thumb_func_end sub_813905C
-
- thumb_func_start sub_8139088
-sub_8139088: @ 8139088
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- bl GetMonData
- cmp r0, 0xC7
- bls _081390AC
- movs r0, 0x1
- b _081390AE
- .pool
-_081390AC:
- movs r0, 0
-_081390AE:
- pop {r1}
- bx r1
- thumb_func_end sub_8139088
-
- thumb_func_start sub_81390B4
-sub_81390B4: @ 81390B4
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- bl GetMonData
- cmp r0, 0xC7
- bls _081390D8
- movs r0, 0x1
- b _081390DA
- .pool
-_081390D8:
- movs r0, 0
-_081390DA:
- pop {r1}
- bx r1
- thumb_func_end sub_81390B4
-
- thumb_func_start sub_81390E0
-sub_81390E0: @ 81390E0
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gBaseStats
-_081390E6:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0813913C
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0813913C
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x6]
- cmp r0, 0xC
- beq _08139128
- ldrb r0, [r1, 0x7]
- cmp r0, 0xC
- bne _0813913C
-_08139128:
- ldr r1, =gScriptResult
- movs r0, 0x1
- b _0813914A
- .pool
-_0813913C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081390E6
- ldr r1, =gScriptResult
- movs r0, 0
-_0813914A:
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81390E0
-
- thumb_func_start SpawnScriptFieldObject
-SpawnScriptFieldObject: @ 8139158
- push {lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r3, [r0]
- adds r3, 0x7
- lsls r3, 16
- asrs r3, 16
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x7F
- bl SpawnSpecialFieldObjectParametrized
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r1, 0x4]
- bl CameraObjectSetFollowedObjectId
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end SpawnScriptFieldObject
-
- thumb_func_start RemoveScriptFieldObject
-RemoveScriptFieldObject: @ 81391AC
- push {lr}
- bl GetPlayerAvatarObjectId
- lsls r0, 24
- lsrs r0, 24
- bl CameraObjectSetFollowedObjectId
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- bl RemoveFieldObjectByLocalIdAndMap
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveScriptFieldObject
-
- thumb_func_start sub_81391D0
-sub_81391D0: @ 81391D0
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gStringVar1
- bl sub_8137068
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81391D0
-
- thumb_func_start sub_8139200
-sub_8139200: @ 8139200
- push {r4,lr}
- ldr r4, =gStringVar1
- ldr r0, =0x00004026
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139200
-
- thumb_func_start sub_8139228
-sub_8139228: @ 8139228
- push {lr}
- movs r0, 0x20
- bl GetGameStat
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8139228
-
- thumb_func_start sub_8139238
-sub_8139238: @ 8139238
- push {lr}
- ldr r0, =gStringVar1
- bl GetEreaderTrainerName
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139238
-
- thumb_func_start sub_8139248
-sub_8139248: @ 8139248
- push {r4,r5,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x00002e68
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 25
- ldr r0, =0x00002e6a
- adds r2, r0
- lsrs r1, 25
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =gUnknown_085B2B88
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- adds r5, r1, r0
- movs r0, 0x2
- bl GetPriceReduction
- lsls r0, 24
- cmp r0, 0
- bne _08139294
- ldr r4, =gUnknown_085B2B94
- b _08139296
- .pool
-_08139294:
- ldr r4, =gUnknown_085B2BA0
-_08139296:
- adds r0, r5, 0
- movs r1, 0xC
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8139248
-
- thumb_func_start sub_81392AC
-sub_81392AC: @ 81392AC
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x00000213
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081392CC
- movs r0, 0x1
- b _081392CE
- .pool
-_081392CC:
- movs r0, 0
-_081392CE:
- pop {r1}
- bx r1
- thumb_func_end sub_81392AC
-
- thumb_func_start sub_81392D4
-sub_81392D4: @ 81392D4
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x85
- lsls r0, 2
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081392F0
- movs r0, 0x1
- b _081392F2
- .pool
-_081392F0:
- movs r0, 0
-_081392F2:
- pop {r1}
- bx r1
- thumb_func_end sub_81392D4
-
- thumb_func_start sub_81392F8
-sub_81392F8: @ 81392F8
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x00000215
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139318
- movs r0, 0x1
- b _0813931A
- .pool
-_08139318:
- movs r0, 0
-_0813931A:
- pop {r1}
- bx r1
- thumb_func_end sub_81392F8
-
- thumb_func_start sub_8139320
-sub_8139320: @ 8139320
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r0, =0x00000216
- strh r0, [r1]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139340
- movs r0, 0x1
- b _08139342
- .pool
-_08139340:
- movs r0, 0
-_08139342:
- pop {r1}
- bx r1
- thumb_func_end sub_8139320
-
- thumb_func_start sub_8139348
-sub_8139348: @ 8139348
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x47
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8139348
-
- thumb_func_start sub_8139370
-sub_8139370: @ 8139370
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x2A
- bl IncrementGameStat
- ldr r0, =0x0000089b
- bl FlagSet
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x47
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- bl GetRibbonCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _081393B6
- adds r0, r4, 0
- movs r1, 0x47
- bl sub_80EE4DC
-_081393B6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139370
-
- thumb_func_start sub_81393C8
-sub_81393C8: @ 81393C8
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetMonEVCount
- lsls r0, 16
- ldr r1, =0x01fd0000
- cmp r0, r1
- bhi _081393F4
- movs r0, 0
- b _081393F6
- .pool
-_081393F4:
- movs r0, 0x1
-_081393F6:
- pop {r1}
- bx r1
- thumb_func_end sub_81393C8
-
- thumb_func_start sub_81393FC
-sub_81393FC: @ 81393FC
- push {lr}
- movs r0, 0xC7
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08139454
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x83
- lsls r0, 3
- cmp r1, r0
- bne _08139454
- subs r0, 0x75
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139434
- ldr r0, =0x0000409a
- movs r1, 0x4
- b _08139446
- .pool
-_08139434:
- movs r0, 0xE9
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08139454
- ldr r0, =0x0000409a
- movs r1, 0x5
-_08139446:
- bl VarSet
- movs r0, 0x1
- b _08139456
- .pool
-_08139454:
- movs r0, 0
-_08139456:
- pop {r1}
- bx r1
- thumb_func_end sub_81393FC
-
- thumb_func_start sub_813945C
-sub_813945C: @ 813945C
- push {lr}
- ldr r0, =0x000008bf
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813945C
-
- thumb_func_start sub_813946C
-sub_813946C: @ 813946C
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r5, =gPlayerParty
- movs r1, 0x90
- lsls r1, 1
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r2, 0x7
- movs r3, 0x20
- bl CreateMon
- movs r1, 0x1
- add r0, sp, 0x10
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0x2E
- add r2, sp, 0x10
- bl SetMonData
- add r1, sp, 0x10
- movs r0, 0x21
- strh r0, [r1]
- adds r0, r5, 0
- movs r1, 0xD
- add r2, sp, 0x10
- bl SetMonData
- add r0, sp, 0x10
- strh r4, [r0]
- adds r0, r5, 0
- movs r1, 0xE
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xF
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0x10
- add r2, sp, 0x10
- bl SetMonData
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813946C
-
- thumb_func_start sub_81394D8
-sub_81394D8: @ 81394D8
- push {r4-r6,lr}
- ldr r0, =0x00004023
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl sub_8133EDC
- lsls r0, 16
- lsrs r6, r0, 16
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _08139526
-_081394FA:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, r6
- bne _0813951C
- movs r0, 0x1
- b _08139528
- .pool
-_0813951C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081394FA
-_08139526:
- movs r0, 0
-_08139528:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81394D8
-
- thumb_func_start sub_8139530
-sub_8139530: @ 8139530
- push {lr}
- bl sub_80D2218
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8139530
-
- thumb_func_start sub_8139540
-sub_8139540: @ 8139540
- push {lr}
- ldr r0, =gPlayerParty
- movs r1, 0x3F
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- beq _08139558
- movs r0, 0x1
- b _0813955A
- .pool
-_08139558:
- movs r0, 0
-_0813955A:
- pop {r1}
- bx r1
- thumb_func_end sub_8139540
-
- thumb_func_start sub_8139560
-sub_8139560: @ 8139560
- push {lr}
- ldr r0, =sub_81395BC
- 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
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- ldr r0, =gSpecialVar_0x8007
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0xD6
- bl PlaySE
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139560
-
- thumb_func_start sub_81395BC
-sub_81395BC: @ 81395BC
- 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 _08139614
- 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 _08139614
- adds r0, r5, 0
- bl sub_8139620
- bl InstallCameraPanAheadCallback
-_08139614:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81395BC
-
- thumb_func_start sub_8139620
-sub_8139620: @ 8139620
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8139620
-
- thumb_func_start sub_8139634
-sub_8139634: @ 8139634
- push {lr}
- movs r0, 0x95
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8139634
-
- thumb_func_start sub_8139648
-sub_8139648: @ 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
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08139664
- movs r0, 0x14
- bl SetSav1Weather
-_08139664:
- pop {r0}
- bx r0
- thumb_func_end sub_8139648
-
- thumb_func_start sub_8139668
-sub_8139668: @ 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
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08139684
- movs r0, 0x15
- bl SetSav1Weather
-_08139684:
- pop {r0}
- bx r0
- thumb_func_end sub_8139668
-
- thumb_func_start GetLeadMonIndex
-GetLeadMonIndex: @ 8139688
- push {r4-r6,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _081396D6
-_08139698:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _081396CC
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _081396CC
- adds r0, r5, 0
- b _081396D8
- .pool
-_081396CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _08139698
-_081396D6:
- movs r0, 0
-_081396D8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetLeadMonIndex
-
- thumb_func_start sub_81396E0
-sub_81396E0: @ 81396E0
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81396E0
-
- thumb_func_start nullsub_54
-nullsub_54: @ 8139708
- bx lr
- thumb_func_end nullsub_54
-
- thumb_func_start sub_813970C
-sub_813970C: @ 813970C
- push {r4,lr}
- ldr r0, =0x000040c2
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- adds r3, r0, 0
- ldr r2, =gLocalTime
- movs r1, 0
- ldrsh r0, [r2, r1]
- subs r0, r3
- cmp r0, 0x6
- ble _08139734
- movs r0, 0
- b _0813974C
- .pool
-_08139734:
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- blt _0813974A
- subs r1, r3
- movs r0, 0x7
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- b _0813974C
-_0813974A:
- movs r0, 0x8
-_0813974C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813970C
-
- thumb_func_start sub_8139754
-sub_8139754: @ 8139754
- push {r4,lr}
- ldr r0, =0x000040c2
- ldr r4, =gLocalTime
- ldrh r1, [r4]
- bl VarSet
- ldrh r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8139754
-
- thumb_func_start sub_8139770
-sub_8139770: @ 8139770
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_0x8004
- ldrh r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x2
- bne _081397A6
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- ldr r4, =gStringVar1
- movs r1, 0x7
- adds r2, r4, 0
- bl GetMonData
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r1, r4, 0
- bl StringCompare
- cmp r0, 0
- beq _081397BC
-_081397A6:
- movs r0, 0x1
- b _081397BE
- .pool
-_081397BC:
- movs r0, 0
-_081397BE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8139770
-
- thumb_func_start sub_81397C4
-sub_81397C4: @ 81397C4
- push {r4,r5,lr}
- ldr r2, =gScriptResult
- ldrh r1, [r2]
- ldr r0, =0x0000270f
- cmp r1, r0
- bls _081397E0
- movs r0, 0
- bl TV_PrintIntToStringVar
- b _08139862
- .pool
-_081397E0:
- ldr r0, =0x000003e7
- cmp r1, r0
- bls _081397F8
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- adds r4, 0x1
- b _0813981C
- .pool
-_081397F8:
- cmp r1, 0x63
- bls _0813980C
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- adds r4, 0x2
- b _0813981C
- .pool
-_0813980C:
- cmp r1, 0x9
- bls _0813983C
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- adds r4, 0x3
-_0813981C:
- ldrh r5, [r2]
- adds r0, r5, 0
- bl sub_80EF370
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- b _08139862
- .pool
-_0813983C:
- ldr r4, =gStringVar1
- movs r0, 0xA1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x3]
- adds r4, 0x4
- ldrh r5, [r2]
- adds r0, r5, 0
- bl sub_80EF370
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
-_08139862:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81397C4
-
- thumb_func_start sub_813986C
-sub_813986C: @ 813986C
- push {lr}
- ldr r0, =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _081398B8
- lsls r0, 2
- ldr r1, =_08139888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08139888:
- .4byte _0813989C
- .4byte _081398A0
- .4byte _081398A4
- .4byte _081398A8
- .4byte _081398AC
-_0813989C:
- movs r0, 0x3
- b _081398AE
-_081398A0:
- movs r0, 0x4
- b _081398AE
-_081398A4:
- movs r0, 0
- b _081398AE
-_081398A8:
- movs r0, 0x1
- b _081398AE
-_081398AC:
- movs r0, 0x2
-_081398AE:
- bl mevent_081445C0
- lsls r0, 16
- lsrs r0, 16
- b _081398BA
-_081398B8:
- movs r0, 0
-_081398BA:
- pop {r1}
- bx r1
- thumb_func_end sub_813986C
-
- thumb_func_start sub_81398C0
-sub_81398C0: @ 81398C0
- push {r4,lr}
- ldr r1, =gSpecialVar_0x8004
- ldr r2, =0xfffffedf
- adds r0, r2, 0
- ldrh r2, [r1]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x39
- bls _081398E0
- movs r0, 0
- b _081398FC
- .pool
-_081398E0:
- ldr r4, =gStringVar2
- ldrh r0, [r1]
- 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, 0x1
-_081398FC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81398C0
-
- thumb_func_start sub_813990C
-sub_813990C: @ 813990C
- push {r4,r5,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _08139942
-_0813991C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x4
- bl GetMonData
- cmp r0, 0x1
- bne _08139938
- movs r0, 0x1
- b _08139944
- .pool
-_08139938:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0813991C
-_08139942:
- movs r0, 0
-_08139944:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_813990C
-
- thumb_func_start InMultiBattleRoom
-InMultiBattleRoom: @ 813994C
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00000f1a
- cmp r1, r0
- bne _08139978
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _08139978
- movs r0, 0x1
- b _0813997A
- .pool
-_08139978:
- movs r0, 0
-_0813997A:
- pop {r1}
- bx r1
- thumb_func_end InMultiBattleRoom
-
- thumb_func_start sub_8139980
-sub_8139980: @ 8139980
- push {lr}
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0x8
- movs r1, 0
- bl SetCameraPanning
- pop {r0}
- bx r0
- thumb_func_end sub_8139980
-
- thumb_func_start sub_8139994
-sub_8139994: @ 8139994
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- subs r0, 0x10
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- bhi _081399E4
- lsls r0, 2
- ldr r1, =_081399B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081399B8:
- .4byte _081399E4
- .4byte _081399D0
- .4byte _081399D4
- .4byte _081399D8
- .4byte _081399DC
- .4byte _081399E0
-_081399D0:
- movs r1, 0x5
- b _081399E6
-_081399D4:
- movs r1, 0x6
- b _081399E6
-_081399D8:
- movs r1, 0x7
- b _081399E6
-_081399DC:
- movs r1, 0x8
- b _081399E6
-_081399E0:
- movs r1, 0xF
- b _081399E6
-_081399E4:
- movs r1, 0x4
-_081399E6:
- ldr r0, =0x00004043
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139994
-
- thumb_func_start sub_81399F4
-sub_81399F4: @ 81399F4
- push {r4,lr}
- ldr r2, =gUnknown_0203AB60
- movs r0, 0
- strh r0, [r2]
- ldr r1, =gUnknown_0203AB62
- strh r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0x14
- ldrsb r0, [r3, r0]
- adds r4, r1, 0
- cmp r0, 0xD
- bne _08139A6E
- ldrb r0, [r3, 0x15]
- subs r0, 0x10
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _08139A6E
- lsls r0, 2
- ldr r1, =_08139A34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08139A34:
- .4byte _08139A66
- .4byte _08139A5E
- .4byte _08139A56
- .4byte _08139A4E
- .4byte _08139A48
-_08139A48:
- movs r0, 0
- strh r0, [r2]
- b _08139A6C
-_08139A4E:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x1
- b _08139A6C
-_08139A56:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x2
- b _08139A6C
-_08139A5E:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x3
- b _08139A6C
-_08139A66:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x4
-_08139A6C:
- strh r0, [r4]
-_08139A6E:
- ldrh r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81399F4
-
- thumb_func_start sub_8139A78
-sub_8139A78: @ 8139A78
- push {r4-r6,lr}
- ldr r0, =sub_8139AF4
- movs r1, 0x9
- bl CreateTask
- 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 r3, 0
- strh r3, [r4, 0x2]
- strh r3, [r4, 0x4]
- movs r6, 0x1
- strh r6, [r4, 0x8]
- ldr r0, =gSpecialVar_0x8005
- ldr r1, =gSpecialVar_0x8006
- ldrh r2, [r0]
- ldrh r0, [r1]
- cmp r2, r0
- bls _08139AC0
- subs r0, r2, r0
- lsls r0, 16
- lsrs r5, r0, 16
- strh r6, [r4, 0xC]
- b _08139AC8
- .pool
-_08139AC0:
- subs r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- strh r3, [r4, 0xC]
-_08139AC8:
- cmp r5, 0x8
- bls _08139ACE
- movs r5, 0x8
-_08139ACE:
- ldr r0, =gUnknown_085B2C18
- adds r0, r5, r0
- ldrb r0, [r0]
- strh r0, [r4, 0xA]
- movs r0, 0
- bl SetCameraPanningCallback
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- bl sub_8139C2C
- movs r0, 0x59
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139A78
-
- thumb_func_start sub_8139AF4
-sub_8139AF4: @ 8139AF4
- 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 r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _08139B54
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- movs r0, 0
- bl SetCameraPanning
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08139B54
- movs r0, 0x49
- bl PlaySE
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- bl InstallCameraPanAheadCallback
-_08139B54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139AF4
-
- thumb_func_start sub_8139B60
-sub_8139B60: @ 8139B60
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- ldr r5, =gUnknown_0203AB5E
- ldr r0, =gUnknown_085B2BAC
- bl AddWindow
- strb r0, [r5]
- ldrb r0, [r5]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r4, =gText_ElevatorNowOn
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r5]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- ldr r6, =gUnknown_085B2BB4
- ldr r4, =gSpecialVar_0x8005
- ldrh r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- movs r0, 0x1
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r5]
- ldrh r1, [r4]
- lsls r1, 2
- adds r1, r6
- ldr r2, [r1]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x11
- str r1, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl PrintTextOnWindow
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139B60
-
- thumb_func_start sub_8139C10
-sub_8139C10: @ 8139C10
- push {r4,lr}
- ldr r4, =gUnknown_0203AB5E
- 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_8139C10
-
- thumb_func_start sub_8139C2C
-sub_8139C2C: @ 8139C2C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, =sub_8139C80
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08139C6C
- adds r0, r4, 0
- 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
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r5, [r1, 0xC]
- ldr r0, =gUnknown_085B2C21
- adds r0, r6, r0
- ldrb r0, [r0]
- strh r0, [r1, 0xE]
-_08139C6C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139C2C
-
- thumb_func_start sub_8139C80
-sub_8139C80: @ 8139C80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- cmp r0, 0x6
- bne _08139D7C
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08139D10
- movs r1, 0
- ldr r2, =gUnknown_085B2BF4
- mov r10, r2
-_08139CBA:
- movs r5, 0
- adds r7, r1, 0x7
- lsls r0, r1, 1
- adds r2, r1, 0x1
- mov r8, r2
- adds r0, r1
- lsls r0, 1
- mov r9, r0
-_08139CCA:
- adds r4, r5, 0
- adds r4, 0x8
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 15
- add r0, r9
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 4
- adds r2, r1, 0
- orrs r2, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _08139CCA
- mov r2, r8
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _08139CBA
- b _08139D62
- .pool
-_08139D10:
- movs r1, 0
- ldr r0, =gUnknown_085B2C06
- mov r10, r0
-_08139D16:
- movs r5, 0
- adds r7, r1, 0x7
- lsls r0, r1, 1
- adds r2, r1, 0x1
- mov r8, r2
- adds r0, r1
- lsls r0, 1
- mov r9, r0
-_08139D26:
- adds r4, r5, 0
- adds r4, 0x8
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 15
- add r0, r9
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 4
- adds r2, r1, 0
- orrs r2, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _08139D26
- mov r2, r8
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _08139D16
-_08139D62:
- bl DrawWholeMapView
- movs r0, 0
- strh r0, [r6, 0x2]
- movs r0, 0
- ldrsh r1, [r6, r0]
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bne _08139D7C
- ldr r0, [sp]
- bl DestroyTask
-_08139D7C:
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- 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_8139C80
-
- thumb_func_start sub_8139D98
-sub_8139D98: @ 8139D98
- push {r4-r7,lr}
- sub sp, 0x18
- ldr r6, =gSpecialVar_0x8004
- ldrh r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x27
- bl GetMonData
- str r0, [sp]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x28
- bl GetMonData
- str r0, [sp, 0x4]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x29
- bl GetMonData
- str r0, [sp, 0x8]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x2A
- bl GetMonData
- str r0, [sp, 0xC]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x2B
- bl GetMonData
- str r0, [sp, 0x10]
- ldrh r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x2C
- bl GetMonData
- str r0, [sp, 0x14]
- ldr r1, =gSpecialVar_0x8005
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r2, r1, 0
-_08139E00:
- lsls r0, r4, 2
- add r0, sp
- ldr r1, [r0]
- ldrh r0, [r2]
- adds r0, r1
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08139E00
- ldr r2, =gSpecialVar_0x8006
- movs r0, 0
- strh r0, [r2]
- ldr r1, =gSpecialVar_0x8007
- ldr r0, [sp]
- strh r0, [r1]
- movs r4, 0x1
- adds r6, r2, 0
- adds r7, r1, 0
-_08139E28:
- ldrh r0, [r6]
- lsls r0, 2
- mov r2, sp
- adds r1, r2, r0
- lsls r0, r4, 2
- adds r5, r2, r0
- ldr r1, [r1]
- ldr r0, [r5]
- cmp r1, r0
- bcs _08139E54
- strh r4, [r6]
- b _08139E6C
- .pool
-_08139E54:
- cmp r1, r0
- bne _08139E6E
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08139E6E
- strh r4, [r6]
- ldr r0, [r5]
-_08139E6C:
- strh r0, [r7]
-_08139E6E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08139E28
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8139D98
-
- thumb_func_start warp0_in_pokecenter
-warp0_in_pokecenter: @ 8139E80
- push {r4,lr}
- ldr r0, =gUnknown_020322DC
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, =gUnknown_085B2C2A
- ldrh r0, [r2]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _08139EC6
- adds r4, r1, 0
- adds r1, r2, 0
-_08139EA4:
- ldrh r0, [r2]
- cmp r0, r3
- bne _08139EBC
- movs r0, 0x1
- b _08139EC8
- .pool
-_08139EBC:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r4
- bne _08139EA4
-_08139EC6:
- movs r0, 0
-_08139EC8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end warp0_in_pokecenter
-
- thumb_func_start sub_8139ED0
-sub_8139ED0: @ 8139ED0
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00003c1a
- cmp r1, r0
- beq _08139EEC
- movs r0, 0x1
- b _08139EEE
- .pool
-_08139EEC:
- movs r0, 0
-_08139EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8139ED0
-
- thumb_func_start sub_8139EF4
-sub_8139EF4: @ 8139EF4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x0000402f
- bl GetVarPointer
- adds r5, r0, 0
- ldrh r0, [r5]
- adds r4, r0
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0xA
- bl __umodsi3
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139EF4
-
- thumb_func_start sub_8139F20
-sub_8139F20: @ 8139F20
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, =0x0000402f
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x9
- bls _08139F34
- b _0813A03A
-_08139F34:
- lsls r0, r6, 2
- ldr r1, =_08139F48
- adds r1, r0, r1
- ldr r1, [r1]
- adds r2, r0, 0
- mov pc, r1
- .pool
- .align 2, 0
-_08139F48:
- .4byte _08139F70
- .4byte _08139F70
- .4byte _08139F70
- .4byte _08139F70
- .4byte _08139F94
- .4byte _08139FB4
- .4byte _08139FCC
- .4byte _08139FE4
- .4byte _08139FFC
- .4byte _0813A014
-_08139F70:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r3, 0xCE
- lsls r3, 4
- adds r1, r0, r3
- adds r3, r1, r2
- ldr r1, =0x00000ce2
- adds r0, r1
- adds r1, r0, r2
- ldrh r0, [r3]
- ldrh r2, [r1]
- cmp r0, r2
- bcs _0813A028
- b _0813A038
- .pool
-_08139F94:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r3, =0x00000d0c
- adds r2, r0, r3
- adds r3, 0x2
-_08139F9E:
- adds r1, r0, r3
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bcs _0813A028
- b _0813A038
- .pool
-_08139FB4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000de2
- adds r2, r0, r1
- ldr r3, =0x00000de4
- b _08139F9E
- .pool
-_08139FCC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000dc8
- adds r2, r0, r1
- ldr r3, =0x00000dca
- b _08139F9E
- .pool
-_08139FE4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000dda
- adds r2, r0, r1
- ldr r3, =0x00000ddc
- b _08139F9E
- .pool
-_08139FFC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e04
- adds r2, r0, r1
- ldr r3, =0x00000e06
- b _08139F9E
- .pool
-_0813A014:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e1a
- adds r2, r0, r1
- ldr r3, =0x00000e1c
- adds r1, r0, r3
- ldrh r0, [r2]
- ldrh r3, [r1]
- cmp r0, r3
- bcc _0813A038
-_0813A028:
- adds r4, r0, 0
- b _0813A03A
- .pool
-_0813A038:
- ldrh r4, [r1]
-_0813A03A:
- movs r2, 0
- ldr r5, =gUnknown_085B2CC8
- lsls r0, r6, 1
- adds r1, r0, r5
- ldrb r1, [r1]
- adds r3, r0, 0
- ldr r7, =gUnknown_085B2C50
- cmp r1, r4
- bcs _0813A062
- adds r1, r3, 0
-_0813A04E:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bhi _0813A062
- adds r0, r2, r1
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, r4
- bcc _0813A04E
-_0813A062:
- adds r0, r3, r6
- adds r0, r2
- lsls r0, 2
- adds r0, r7
- ldr r0, [r0]
- bl ShowFieldMessage
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8139F20
-
- thumb_func_start sub_813A080
-sub_813A080: @ 813A080
- push {r4-r7,lr}
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- cmp r5, 0x2
- bne _0813A0D8
- movs r0, 0xA9
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0813A0D8
- ldr r1, =gSpecialVar_0x8005
- movs r0, 0x5
- strh r0, [r1]
- ldr r1, =gSpecialVar_0x8006
- movs r0, 0x4
- strh r0, [r1]
- b _0813A110
- .pool
-_0813A0D0:
- movs r0, 0x4
- strh r0, [r6]
- adds r0, r3, 0x5
- b _0813A10E
-_0813A0D8:
- movs r3, 0
- ldr r6, =gSpecialVar_0x8005
- ldr r7, =gSpecialVar_0x8006
- lsls r1, r4, 1
- lsls r2, r5, 2
- ldr r4, =gUnknown_085B2CDC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r1, r2
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- ldrh r1, [r0]
-_0813A0F4:
- lsls r0, r3, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r1
- bhi _0813A0D0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x8
- bls _0813A0F4
- movs r0, 0x4
- strh r0, [r6]
- movs r0, 0xC
-_0813A10E:
- strh r0, [r7]
-_0813A110:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A080
-
- thumb_func_start sub_813A128
-sub_813A128: @ 813A128
- push {r4,lr}
- ldr r0, =sub_813A2DC
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r3, r0, r1
- ldr r1, =gSpecialVar_0x8004
- ldrh r0, [r1]
- strh r0, [r3, 0x1E]
- ldrh r0, [r1]
- cmp r0, 0xC
- bls _0813A14E
- b _0813A2C6
-_0813A14E:
- lsls r0, 2
- ldr r1, =_0813A168
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813A168:
- .4byte _0813A19C
- .4byte _0813A1AA
- .4byte _0813A1C2
- .4byte _0813A1D6
- .4byte _0813A1F0
- .4byte _0813A208
- .4byte _0813A222
- .4byte _0813A23C
- .4byte _0813A25A
- .4byte _0813A274
- .4byte _0813A274
- .4byte _0813A28E
- .4byte _0813A2A8
-_0813A19C:
- movs r1, 0
- movs r0, 0x1
- strh r0, [r3, 0x8]
- strh r0, [r3, 0xA]
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- b _0813A2BC
-_0813A1AA:
- movs r1, 0
- movs r0, 0x5
- strh r0, [r3, 0x8]
- movs r0, 0x8
- strh r0, [r3, 0xA]
- movs r0, 0x1
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- movs r0, 0x9
- strh r0, [r3, 0x10]
- movs r0, 0xA
- b _0813A2BE
-_0813A1C2:
- movs r2, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r1, 0xC
- strh r1, [r3, 0xA]
- movs r0, 0x1
- strh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- movs r0, 0x7
- b _0813A250
-_0813A1D6:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xB
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A1F0:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A208:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0x7
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A222:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xA
- strh r0, [r3, 0xA]
- movs r0, 0xE
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xF
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A23C:
- movs r2, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r1, 0xC
- strh r1, [r3, 0xA]
- movs r0, 0xF
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xE
-_0813A250:
- strh r0, [r3, 0x10]
- strh r1, [r3, 0x12]
- strh r2, [r3, 0x14]
- strh r4, [r3, 0x26]
- b _0813A2D2
-_0813A25A:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xA
- strh r0, [r3, 0xA]
- movs r0, 0x11
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xB
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A274:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0xB
- strh r0, [r3, 0xA]
- movs r0, 0xF
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xE
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A28E:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0x7
- strh r0, [r3, 0xA]
- movs r0, 0x13
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xA
- strh r0, [r3, 0x10]
- movs r0, 0xC
- b _0813A2BE
-_0813A2A8:
- movs r1, 0
- movs r0, 0x6
- strh r0, [r3, 0x8]
- movs r0, 0x7
- strh r0, [r3, 0xA]
- movs r0, 0x11
- strh r0, [r3, 0xC]
- movs r0, 0x1
- strh r0, [r3, 0xE]
- movs r0, 0xC
-_0813A2BC:
- strh r0, [r3, 0x10]
-_0813A2BE:
- strh r0, [r3, 0x12]
- strh r1, [r3, 0x14]
- strh r4, [r3, 0x26]
- b _0813A2D2
-_0813A2C6:
- ldr r1, =gScriptResult
- movs r0, 0x7F
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0813A2D2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A128
-
- thumb_func_start sub_813A2DC
-sub_813A2DC: @ 813A2DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- bl ScriptContext2_Enable
- ldr r0, =gUnknown_0203AB68
- movs r5, 0
- strh r5, [r0]
- ldr r1, =gUnknown_0203AB6C
- movs r0, 0x40
- strb r0, [r1]
- ldrh r0, [r6, 0x1E]
- movs r1, 0
- bl sub_813AA60
- ldrb r0, [r6, 0x1E]
- movs r1, 0
- bl sub_813ACE8
- ldr r4, =gUnknown_0203AB64
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4]
- ldr r0, =gUnknown_0203AB6A
- strh r5, [r0]
- bl sub_813A42C
- movs r3, 0
- movs r4, 0
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- add r1, sp, 0x18
- mov r8, r1
- cmp r3, r0
- bge _0813A36A
- ldr r5, =gUnknown_085B2CF0
-_0813A33A:
- lsls r1, r4, 2
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r1, r5
- ldr r0, [r1]
- ldr r1, =gUnknown_0203AB64
- ldr r2, [r1]
- lsls r1, r4, 3
- adds r1, r2
- str r0, [r1]
- str r4, [r1, 0x4]
- adds r1, r3, 0
- bl display_text_and_get_width
- adds r3, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- cmp r4, r0
- blt _0813A33A
-_0813A36A:
- adds r0, r3, 0
- bl convert_pixel_width_to_tile_width
- strh r0, [r6, 0x10]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- movs r2, 0x10
- ldrsh r1, [r6, r2]
- adds r0, r1
- cmp r0, 0x1D
- ble _0813A38C
- movs r0, 0x1D
- subs r0, r1
- cmp r0, 0
- bge _0813A38A
- movs r0, 0
-_0813A38A:
- strh r0, [r6, 0xC]
-_0813A38C:
- ldrb r2, [r6, 0xC]
- ldrb r3, [r6, 0xE]
- ldrb r0, [r6, 0x10]
- str r0, [sp]
- ldrb r0, [r6, 0x12]
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x64
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- bl sub_8198A50
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- mov r0, r8
- bl AddWindow
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r4, =gUnknown_030061D0
- ldrh r0, [r6, 0xA]
- strh r0, [r4, 0xC]
- ldrh r0, [r6, 0x8]
- strh r0, [r4, 0xE]
- ldrh r0, [r6, 0x22]
- strb r0, [r4, 0x10]
- adds r0, r7, 0
- bl sub_813A694
- ldrh r1, [r6, 0x16]
- ldrh r2, [r6, 0x18]
- adds r0, r4, 0
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x24]
- 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_813A4EC
- str r1, [r0]
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A2DC
-
- thumb_func_start sub_813A42C
-sub_813A42C: @ 813A42C
- ldr r1, =gUnknown_030061D0
- ldr r0, =gUnknown_0203AB64
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, =sub_813A46C
- str r0, [r1, 0x4]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r2, 0
- movs r0, 0x1
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strb r2, [r1, 0x10]
- strb r2, [r1, 0x11]
- movs r0, 0x8
- strb r0, [r1, 0x12]
- strb r2, [r1, 0x13]
- movs r0, 0x21
- strb r0, [r1, 0x14]
- movs r0, 0x31
- strb r0, [r1, 0x15]
- movs r0, 0
- strb r0, [r1, 0x16]
- movs r0, 0x1
- strb r0, [r1, 0x17]
- bx lr
- .pool
- thumb_func_end sub_813A42C
-
- thumb_func_start sub_813A46C
-sub_813A46C: @ 813A46C
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_813A4EC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0813A4D4
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- bl get_coro_args_x18_x1A
- ldr r1, =gUnknown_0203AB68
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r1]
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- bl sub_81AE838
- ldrh r0, [r4, 0x1E]
- ldr r5, =gUnknown_0203AB6A
- ldrh r1, [r5]
- bl sub_813AC44
- ldrh r0, [r4, 0x1E]
- mov r1, sp
- ldrh r1, [r1]
- bl sub_813AA60
- ldrb r0, [r4, 0x1E]
- mov r1, sp
- ldrh r1, [r1]
- bl sub_813AD34
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5]
-_0813A4D4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A46C
-
- thumb_func_start sub_813A4EC
-sub_813A4EC: @ 813A4EC
- 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 r6, r0, r1
- ldrh r0, [r6, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl ListMenuHandleInput
- adds r4, r0, 0
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0813A51C
- adds r0, 0x1
- cmp r4, r0
- bne _0813A530
- b _0813A566
- .pool
-_0813A51C:
- ldr r1, =gScriptResult
- movs r0, 0x7F
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
- b _0813A54C
- .pool
-_0813A530:
- ldr r0, =gScriptResult
- strh r4, [r0]
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0813A54C
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- subs r0, 0x1
- cmp r4, r0
- bne _0813A558
-_0813A54C:
- adds r0, r5, 0
- bl sub_813A570
- b _0813A566
- .pool
-_0813A558:
- adds r0, r5, 0
- bl sub_813A738
- ldr r0, =sub_813A600
- str r0, [r6]
- bl EnableBothScriptContexts
-_0813A566:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A4EC
-
- thumb_func_start sub_813A570
-sub_813A570: @ 813A570
- push {r4,r5,lr}
- sub sp, 0x4
- 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
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- bl sub_81AE838
- ldrh r0, [r4, 0x1E]
- mov r1, sp
- ldrh r1, [r1]
- bl sub_813AC44
- adds r0, r5, 0
- bl sub_813A738
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldr r0, =gUnknown_0203AB64
- ldr r0, [r0]
- bl Free
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_8198070
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl CopyWindowToVram
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A570
-
- thumb_func_start sub_813A600
-sub_813A600: @ 813A600
- 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, 0x14
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _0813A624
- cmp r0, 0x2
- bne _0813A624
- movs r0, 0x1
- strh r0, [r1, 0x14]
- ldr r0, =sub_813A664
- str r0, [r1]
-_0813A624:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A600
-
- thumb_func_start sub_813A630
-sub_813A630: @ 813A630
- push {lr}
- ldr r0, =sub_813A600
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _0813A64C
- bl EnableBothScriptContexts
- b _0813A65C
- .pool
-_0813A64C:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x14]
- adds r0, 0x1
- strh r0, [r1, 0x14]
-_0813A65C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A630
-
- thumb_func_start sub_813A664
-sub_813A664: @ 813A664
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- adds r0, r4, 0
- bl sub_813A694
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813A4EC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A664
-
- thumb_func_start sub_813A694
-sub_813A694: @ 813A694
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- mov r1, sp
- ldr r0, =gUnknown_085B3030
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _0813A724
- mov r2, sp
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 3
- adds r1, 0xC
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- subs r0, 0x1
- lsls r0, 3
- adds r1, r0
- movs r3, 0
- strb r1, [r2, 0x1]
- mov r1, sp
- movs r0, 0x8
- strb r0, [r1, 0x2]
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- lsls r1, 3
- adds r1, 0xC
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- subs r0, 0x1
- lsls r0, 3
- adds r1, r0
- strb r1, [r2, 0x4]
- mov r1, sp
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, 0xA
- strb r0, [r1, 0x5]
- mov r0, sp
- strh r3, [r0, 0x6]
- mov r2, sp
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- subs r0, r1
- strh r0, [r2, 0x8]
- ldr r1, =gUnknown_0203AB68
- mov r0, sp
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
-_0813A724:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A694
-
- thumb_func_start sub_813A738
-sub_813A738: @ 813A738
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r2, r1, r0
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- cmp r1, r0
- beq _0813A75E
- ldrh r0, [r2, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveScrollIndicatorArrowPair
-_0813A75E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A738
-
- thumb_func_start nullsub_55
-nullsub_55: @ 813A768
- bx lr
- thumb_func_end nullsub_55
-
- thumb_func_start sub_813A76C
-sub_813A76C: @ 813A76C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, =gLinkPlayers
- ldr r0, =0x0000401f
- adds r5, r0, 0
-_0813A776:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- bne _0813A79C
- subs r0, r5, r4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl VarSet
- b _0813A7A8
- .pool
-_0813A79C:
- subs r0, r5, r4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x69
- bl VarSet
-_0813A7A8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0813A776
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813A76C
-
- thumb_func_start sub_813A7B8
-sub_813A7B8: @ 813A7B8
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- ldrh r0, [r1]
- cmp r0, 0x5
- bls _0813A7C6
- movs r0, 0
- strh r0, [r1]
-_0813A7C6:
- ldrh r1, [r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNature
- lsls r0, 24
- ldr r1, =gUnknown_085B3040
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A7B8
-
- thumb_func_start sub_813A7F4
-sub_813A7F4: @ 813A7F4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004030
- bl GetVarPointer
- adds r5, r0, 0
- ldrh r0, [r5]
- adds r4, r0
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0xC
- bl __umodsi3
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A7F4
-
- thumb_func_start sub_813A820
-sub_813A820: @ 813A820
- push {r4,lr}
- ldr r0, =0x00004030
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, =gUnknown_085B30A4
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- ldr r0, =0x00004031
- adds r1, r4, 0
- bl VarSet
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A820
-
- thumb_func_start sub_813A854
-sub_813A854: @ 813A854
- push {r4,lr}
- ldr r4, =gUnknown_085B30D4
- ldr r0, =0x00004031
- bl VarGet
- lsls r0, 16
- lsrs r0, 14
- adds r0, r4
- ldr r0, [r0]
- bl ShowFieldMessage
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A854
-
- thumb_func_start sub_813A878
-sub_813A878: @ 813A878
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =0x00004031
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, =0x00004033
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0813A8F0
- ldr r1, =gUnknown_085B3104
- lsls r0, r6, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r5, 8
- adds r0, r7
- cmp r1, r0
- bne _0813A8F0
- mov r0, r8
- cmp r0, 0
- beq _0813A8E8
- adds r0, r4, 0
- movs r1, 0x2
- bl VarSet
- b _0813A8F0
- .pool
-_0813A8E8:
- adds r0, r4, 0
- movs r1, 0x3
- bl VarSet
-_0813A8F0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813A878
-
- thumb_func_start sub_813A8FC
-sub_813A8FC: @ 813A8FC
- push {lr}
- sub sp, 0x2C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000eb8
- adds r0, r1
- ldrh r1, [r0]
- add r0, sp, 0xC
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_BP
- bl StringCopy
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x30
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- ldr r0, =gUnknown_0203AB6D
- 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
- add r2, sp, 0xC
- bl PrintTextOnWindow
- add sp, 0x2C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A8FC
-
- thumb_func_start sub_813A958
-sub_813A958: @ 813A958
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6D
- ldr r0, =gUnknown_085B311C
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- bl sub_813A8FC
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813A958
-
- thumb_func_start sub_813A988
-sub_813A988: @ 813A988
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6D
- 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_813A988
-
- thumb_func_start sub_813A9A4
-sub_813A9A4: @ 813A9A4
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000eb8
- adds r1, r0, r2
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r1]
- ldrh r0, [r0]
- cmp r2, r0
- bcs _0813A9C8
- movs r0, 0
- b _0813A9CA
- .pool
-_0813A9C8:
- subs r0, r2, r0
-_0813A9CA:
- strh r0, [r1]
- pop {r0}
- bx r0
- thumb_func_end sub_813A9A4
-
- thumb_func_start sub_813A9D0
-sub_813A9D0: @ 813A9D0
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000eb8
- adds r2, r0, r1
- ldrh r1, [r2]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r1, r0
- ldr r0, =0x0000270f
- cmp r1, r0
- ble _0813A9FC
- strh r0, [r2]
- b _0813A9FE
- .pool
-_0813A9FC:
- strh r1, [r2]
-_0813A9FE:
- pop {r0}
- bx r0
- thumb_func_end sub_813A9D0
-
- thumb_func_start sub_813AA04
-sub_813AA04: @ 813AA04
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000eb8
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_813AA04
-
- thumb_func_start sub_813AA18
-sub_813AA18: @ 813AA18
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6E
- ldr r0, =gUnknown_085B3124
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AA18
-
- thumb_func_start sub_813AA44
-sub_813AA44: @ 813AA44
- push {r4,lr}
- ldr r4, =gUnknown_0203AB6E
- 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_813AA44
-
- thumb_func_start sub_813AA60
-sub_813AA60: @ 813AA60
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- lsrs r4, r0, 16
- ldr r1, =0xfffd0000
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0x3
- bls _0813AA78
- b _0813ABC2
-_0813AA78:
- movs r0, 0xD8
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- cmp r4, 0x4
- beq _0813AAE8
- cmp r4, 0x4
- bgt _0813AAA0
- cmp r4, 0x3
- beq _0813AAAA
- b _0813ABC2
- .pool
-_0813AAA0:
- cmp r4, 0x5
- beq _0813AB5C
- cmp r4, 0x6
- beq _0813AB94
- b _0813ABC2
-_0813AAAA:
- ldr r1, =gUnknown_085B3170
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParametrized
- ldr r1, =gUnknown_085B312C
- lsls r0, r5, 1
- adds r1, r0, r1
- ldrh r5, [r1]
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _0813AB18
- b _0813AB2C
- .pool
-_0813AAE8:
- ldr r1, =gUnknown_085B319C
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- 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
- movs r3, 0
- bl AddTextPrinterParametrized
- ldr r1, =gUnknown_085B3142
- lsls r0, r5, 1
- adds r1, r0, r1
- ldrh r5, [r1]
- ldr r0, =0x0000ffff
- cmp r5, r0
- bne _0813AB2C
-_0813AB18:
- ldrh r0, [r1]
- bl sub_813ABD4
- b _0813ABC2
- .pool
-_0813AB2C:
- ldr r4, =0x0000157c
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- lsls r0, r5, 24
- lsrs r0, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x21
- movs r2, 0x58
- movs r3, 0
- bl AddDecorationIconObject
- ldr r1, =gUnknown_0203AB6C
- strb r0, [r1]
- b _0813ABC2
- .pool
-_0813AB5C:
- ldr r1, =gUnknown_085B31B4
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- 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
- movs r3, 0
- bl AddTextPrinterParametrized
- ldr r1, =gUnknown_085B314E
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813ABD4
- b _0813ABC2
- .pool
-_0813AB94:
- ldr r1, =gUnknown_085B31D0
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- 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
- movs r3, 0
- bl AddTextPrinterParametrized
- ldr r1, =gUnknown_085B315C
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813ABD4
-_0813ABC2:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AA60
-
- thumb_func_start sub_813ABD4
-sub_813ABD4: @ 813ABD4
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r4, =0x0000157c
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl AddItemIconObject
- ldr r4, =gUnknown_0203AB6C
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0813AC32
- ldr r3, =gSprites
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x24
- strh r1, [r0, 0x20]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x5C
- strh r1, [r0, 0x22]
-_0813AC32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813ABD4
-
- thumb_func_start sub_813AC44
-sub_813AC44: @ 813AC44
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, =gUnknown_0203AB6C
- ldrb r0, [r2]
- cmp r0, 0x40
- beq _0813AC70
- cmp r1, 0x6
- bgt _0813AC6A
- cmp r1, 0x3
- blt _0813AC6A
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySpriteAndFreeResources
-_0813AC6A:
- ldr r1, =gUnknown_0203AB6C
- movs r0, 0x40
- strb r0, [r1]
-_0813AC70:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AC44
-
- thumb_func_start sub_813AC7C
-sub_813AC7C: @ 813AC7C
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813ACB8
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_085B320C
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- b _0813ACD2
- .pool
-_0813ACB8:
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_085B31F8
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
-_0813ACD2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AC7C
-
- thumb_func_start sub_813ACE8
-sub_813ACE8: @ 813ACE8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0813AD20
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813AD18
- ldr r4, =gUnknown_0203AB5E
- ldr r0, =gUnknown_085B3220
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl SetStandardWindowBorderStyle
-_0813AD18:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_813AD34
-_0813AD20:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813ACE8
-
- thumb_func_start sub_813AD34
-sub_813AD34: @ 813AD34
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- adds r7, r5, 0
- lsrs r6, r0, 24
- movs r1, 0xF7
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0813ADAC
- ldr r4, =gUnknown_0203AB5E
- ldrb r0, [r4]
- movs r1, 0x60
- str r1, [sp]
- movs r1, 0x30
- str r1, [sp, 0x4]
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- cmp r6, 0xA
- bne _0813AD90
- ldrb r0, [r4]
- ldr r2, =gUnknown_085B3254
- lsls r1, r5, 2
- adds r1, r2
- ldr r2, [r1]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- b _0813ADAC
- .pool
-_0813AD90:
- ldrb r0, [r4]
- ldr r2, =gUnknown_085B3228
- lsls r1, r7, 2
- adds r1, r2
- ldr r2, [r1]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
-_0813ADAC:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AD34
-
- thumb_func_start sub_813ADB8
-sub_813ADB8: @ 813ADB8
- push {r4,lr}
- ldr r4, =gUnknown_0203AB5E
- 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_813ADB8
-
- thumb_func_start sub_813ADD4
-sub_813ADD4: @ 813ADD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- ldr r0, =sub_813A600
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _0813AE90
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- ldrh r0, [r6, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r4, sp
- adds r4, 0x16
- add r1, sp, 0x14
- adds r2, r4, 0
- bl get_coro_args_x18_x1A
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r5, 0
- mov r9, r4
- ldr r0, =gUnknown_085B2CF0
- mov r8, r0
- movs r4, 0
-_0813AE1E:
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- add r1, sp, 0x14
- ldrh r2, [r1]
- adds r2, r5
- lsls r2, 2
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 6
- adds r2, r1
- add r2, r8
- ldr r2, [r2]
- lsls r1, r5, 28
- lsrs r1, 24
- str r1, [sp]
- movs r7, 0xFF
- str r7, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0xA
- bl sub_8199F74
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0813AE1E
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_SelectorArrow
- mov r3, r9
- ldrh r1, [r3]
- lsls r1, 28
- lsrs r1, 24
- str r1, [sp]
- str r7, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- ldrh r0, [r6, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
-_0813AE90:
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813ADD4
-
- thumb_func_start sub_813AEB4
-sub_813AEB4: @ 813AEB4
- push {r4,lr}
- movs r1, 0
- ldr r0, =gSpecialVar_0x8005
- strh r1, [r0]
- ldr r0, =0x0000400e
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x0000400d
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r4, 0
- beq _0813AF18
- movs r2, 0
- lsls r1, 1
- ldr r3, =gUnknown_0861500C
- ldr r0, =gUnknown_085B320C
- adds r0, r1, r0
- ldrh r1, [r0]
-_0813AEE2:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r1
- beq _0813AF0C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1D
- bls _0813AEE2
- b _0813AF38
- .pool
-_0813AF0C:
- ldr r0, =gSpecialVar_0x8005
- strh r2, [r0]
- b _0813AF38
- .pool
-_0813AF18:
- movs r2, 0
- lsls r1, 1
- ldr r3, =gUnknown_0861500C
- ldr r0, =gUnknown_085B31F8
- adds r0, r1, r0
- ldrh r1, [r0]
-_0813AF24:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r1
- beq _0813AF0C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1D
- bls _0813AF24
-_0813AF38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AEB4
-
- thumb_func_start sub_813AF48
-sub_813AF48: @ 813AF48
- push {r4,r5,lr}
- ldr r0, =sub_813A600
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xFF
- beq _0813AFB6
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldr r0, =gUnknown_0203AB64
- ldr r0, [r0]
- bl Free
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_8198070
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl CopyWindowToVram
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
-_0813AFB6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AF48
-
- thumb_func_start sub_813AFC8
-sub_813AFC8: @ 813AFC8
- push {lr}
- ldr r0, =task_deoxys_sound
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813AFC8
-
- thumb_func_start task_deoxys_sound
-task_deoxys_sound: @ 813AFDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =0x000008d4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B004
- ldr r1, =gScriptResult
- movs r0, 0x3
- b _0813B06A
- .pool
-_0813B004:
- ldr r0, =0x00004035
- mov r8, r0
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, =0x00004034
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- cmp r5, 0
- beq _0813B05C
- ldr r0, =gUnknown_085B33F6
- subs r1, r5, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, r6
- bcs _0813B05C
- movs r0, 0
- bl sub_813B0B4
- mov r0, r8
- movs r1, 0
- bl VarSet
- ldr r1, =gScriptResult
- movs r0, 0
- strh r0, [r1]
- b _0813B070
- .pool
-_0813B05C:
- cmp r5, 0xA
- bne _0813B080
- ldr r0, =0x000008d4
- bl FlagSet
- ldr r1, =gScriptResult
- movs r0, 0x2
-_0813B06A:
- strh r0, [r1]
- bl EnableBothScriptContexts
-_0813B070:
- adds r0, r7, 0
- bl DestroyTask
- b _0813B0A2
- .pool
-_0813B080:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_813B0B4
- ldr r0, =0x00004035
- adds r1, r5, 0
- bl VarSet
- ldr r1, =gScriptResult
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r7, 0
- bl DestroyTask
-_0813B0A2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_deoxys_sound
-
- thumb_func_start sub_813B0B4
-sub_813B0B4: @ 813B0B4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 5
- ldr r1, =gUnknown_085B3280
- adds r0, r1
- movs r1, 0xD0
- lsls r1, 1
- movs r2, 0x8
- bl LoadPalette
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x1
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- cmp r4, 0
- bne _0813B0F0
- movs r0, 0xC4
- bl PlaySE
- b _0813B0F8
- .pool
-_0813B0F0:
- movs r0, 0x82
- lsls r0, 1
- bl PlaySE
-_0813B0F8:
- ldr r0, =sub_813B160
- movs r1, 0x8
- bl CreateTask
- ldr r3, =gFieldEffectArguments
- movs r0, 0x1
- str r0, [r3]
- movs r0, 0x3A
- str r0, [r3, 0x4]
- movs r0, 0x1A
- str r0, [r3, 0x8]
- ldr r0, =gUnknown_085B33E0
- lsls r2, r4, 1
- adds r1, r2, r0
- ldrb r1, [r1]
- str r1, [r3, 0xC]
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- str r0, [r3, 0x10]
- adds r5, r2, 0
- cmp r4, 0
- bne _0813B138
- movs r0, 0x3C
- b _0813B13A
- .pool
-_0813B138:
- movs r0, 0x5
-_0813B13A:
- str r0, [r3, 0x14]
- movs r0, 0x42
- bl FieldEffectStart
- ldr r0, =gUnknown_085B33E0
- adds r1, r5, r0
- ldrb r1, [r1]
- adds r0, 0x1
- adds r0, r5, r0
- ldrb r2, [r0]
- movs r0, 0x1
- bl Overworld_SetMapObjTemplateCoords
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B0B4
-
- thumb_func_start sub_813B160
-sub_813B160: @ 813B160
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x42
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _0813B17C
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_0813B17C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813B160
-
- thumb_func_start increment_var_x4026_on_birth_island_modulo_100
-increment_var_x4026_on_birth_island_modulo_100: @ 813B184
- push {r4,lr}
- ldr r4, =0x00004034
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00003a1a
- cmp r1, r0
- bne _0813B1C8
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x63
- bls _0813B1C0
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- b _0813B1C8
- .pool
-_0813B1C0:
- adds r0, r4, 0
- adds r1, r2, 0
- bl VarSet
-_0813B1C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end increment_var_x4026_on_birth_island_modulo_100
-
- thumb_func_start sub_813B1D0
-sub_813B1D0: @ 813B1D0
- push {lr}
- ldr r0, =0x00004035
- bl VarGet
- lsls r0, 24
- lsrs r0, 19
- ldr r1, =gUnknown_085B3280
- adds r0, r1
- movs r1, 0xD0
- lsls r1, 1
- movs r2, 0x8
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B1D0
-
- thumb_func_start set_unknown_box_id
-@ void set_unknown_box_id(char id)
-set_unknown_box_id: @ 813B204
- ldr r1, =gUnknown_0203AB6F
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end set_unknown_box_id
-
- thumb_func_start get_unknown_box_id
-get_unknown_box_id: @ 813B210
- ldr r0, =gUnknown_0203AB6F
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end get_unknown_box_id
-
- thumb_func_start sub_813B21C
-sub_813B21C: @ 813B21C
- push {r4,r5,lr}
- ldr r5, =0x000008d7
- adds r0, r5, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0813B258
- bl StorageGetCurrentBox
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _0813B258
- adds r0, r5, 0
- bl FlagSet
- movs r0, 0x1
- b _0813B25A
- .pool
-_0813B258:
- movs r0, 0
-_0813B25A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_813B21C
-
- thumb_func_start sub_813B260
-sub_813B260: @ 813B260
- push {r4-r7,lr}
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl set_unknown_box_id
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r4, r0, 24
-_0813B278:
- movs r5, 0
- lsls r6, r4, 24
- lsls r7, r4, 16
-_0813B27E:
- lsls r1, r5, 24
- lsrs r1, 24
- lsrs r0, r6, 24
- bl GetBoxedMonPtr
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- cmp r0, 0
- bne _0813B2C0
- bl get_unknown_box_id
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _0813B2A6
- ldr r0, =0x000008d7
- bl FlagClear
-_0813B2A6:
- ldr r0, =0x00004036
- lsrs r1, r7, 16
- bl VarSet
- bl sub_813B21C
- lsls r0, 24
- lsrs r0, 24
- b _0813B2DC
- .pool
-_0813B2C0:
- adds r5, 0x1
- cmp r5, 0x1D
- ble _0813B27E
- adds r4, 0x1
- cmp r4, 0xE
- bne _0813B2CE
- movs r4, 0
-_0813B2CE:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0813B278
- movs r0, 0
-_0813B2DC:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_813B260
-
- thumb_func_start sub_813B2E4
-sub_813B2E4: @ 813B2E4
- push {r4,lr}
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004038
- movs r1, 0
- bl VarSet
- movs r0, 0xDF
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813B340
- ldr r0, =0x000001bf
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B330
- ldr r0, =0x00004037
- movs r1, 0x7
- ands r4, r1
- adds r1, r4, 0
- adds r1, 0x9
- bl VarSet
- b _0813B36A
- .pool
-_0813B330:
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- bne _0813B354
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
-_0813B340:
- ldr r0, =0x00004037
- movs r1, 0x7
- ands r4, r1
- adds r1, r4, 0x1
- bl VarSet
- b _0813B36A
- .pool
-_0813B354:
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004037
- movs r1, 0x7
- ands r4, r1
- adds r1, r4, 0
- adds r1, 0x9
- bl VarSet
-_0813B36A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B2E4
-
- thumb_func_start sub_813B374
-sub_813B374: @ 813B374
- push {r4,lr}
- ldr r0, =0x00004037
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_085B3400
- subs r1, r4, 0x1
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0
- bl GetMapName
- cmp r4, 0x8
- bls _0813B3A8
- movs r0, 0x1
- b _0813B3AA
- .pool
-_0813B3A8:
- movs r0, 0
-_0813B3AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813B374
-
- thumb_func_start sub_813B3B0
-sub_813B3B0: @ 813B3B0
- push {r4-r6,lr}
- ldr r5, =0x00004038
- adds r0, r5, 0
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004037
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _0813B47C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x000003e7
- cmp r4, r0
- bls _0813B474
- adds r0, r5, 0
- movs r1, 0
- bl VarSet
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x18
- bne _0813B414
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0x69
- bgt _0813B414
- cmp r0, 0x65
- blt _0813B414
- ldr r0, =0x00004039
- movs r1, 0x1
- b _0813B478
- .pool
-_0813B414:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- adds r3, r0, 0
- cmp r1, 0
- bne _0813B444
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, 0x34
- beq _0813B436
- cmp r0, 0x34
- blt _0813B444
- cmp r0, 0x38
- bgt _0813B444
- cmp r0, 0x36
- blt _0813B444
-_0813B436:
- ldr r0, =0x00004039
- movs r1, 0x1
- b _0813B478
- .pool
-_0813B444:
- ldr r3, [r3]
- movs r2, 0x5
- ldrsb r2, [r3, r2]
- ldr r1, =gUnknown_085B3410
- subs r0, r6, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- bne _0813B468
- movs r0, 0x4
- ldrsb r0, [r3, r0]
- cmp r0, 0
- bne _0813B468
- movs r0, 0x1
- b _0813B47E
- .pool
-_0813B468:
- ldr r0, =0x00004037
- movs r1, 0
- b _0813B478
- .pool
-_0813B474:
- adds r0, r5, 0
- adds r1, r4, 0
-_0813B478:
- bl VarSet
-_0813B47C:
- movs r0, 0
-_0813B47E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_813B3B0
-
- thumb_func_start sub_813B484
-sub_813B484: @ 813B484
- push {lr}
- movs r0, 0x2
- bl sub_80AB104
- pop {r0}
- bx r0
- thumb_func_end sub_813B484
-
- thumb_func_start sub_813B490
-sub_813B490: @ 813B490
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- movs r6, 0x4
- ldrsb r6, [r4, r6]
- ldr r5, =gUnknown_085B3420
- adds r0, r5, 0x2
- mov r12, r0
- adds r7, r5, 0x1
-_0813B4A4:
- lsls r0, r3, 1
- adds r2, r0, r3
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r6, r0
- bne _0813B4CC
- movs r1, 0x5
- ldrsb r1, [r4, r1]
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r1, r0
- bne _0813B4CC
- mov r1, r12
- adds r0, r2, r1
- ldrb r0, [r0]
- b _0813B4D8
- .pool
-_0813B4CC:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xB
- bls _0813B4A4
- movs r0, 0x1
-_0813B4D8:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_813B490
-
- thumb_func_start sub_813B4E0
-sub_813B4E0: @ 813B4E0
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl sub_81D15CC
- cmp r0, 0
- blt _0813B50C
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B50C
- movs r0, 0x1
- b _0813B50E
- .pool
-_0813B50C:
- movs r0, 0
-_0813B50E:
- pop {r1}
- bx r1
- thumb_func_end sub_813B4E0
-
- thumb_func_start sub_813B514
-sub_813B514: @ 813B514
- push {lr}
- ldr r0, =0x0000403f
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _0813B52C
- movs r0, 0x1
- b _0813B52E
- .pool
-_0813B52C:
- movs r0, 0
-_0813B52E:
- pop {r1}
- bx r1
- thumb_func_end sub_813B514
-
- thumb_func_start sub_813B534
-sub_813B534: @ 813B534
- push {lr}
- ldr r2, =gUnknown_0203AB70
- ldr r1, =gBattleTypeFlags
- ldr r0, [r1]
- str r0, [r2]
- movs r0, 0
- str r0, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0813B552
- ldr r0, =sub_80B3AF8
- movs r1, 0x5
- bl CreateTask
-_0813B552:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B534
-
- thumb_func_start sub_813B568
-sub_813B568: @ 813B568
- push {lr}
- ldr r0, =sub_813B57C
- movs r1, 0x5
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B568
-
- thumb_func_start sub_813B57C
-sub_813B57C: @ 813B57C
- 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
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- bls _0813B596
- b _0813B7C6
-_0813B596:
- lsls r0, 2
- ldr r1, =_0813B5A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813B5A8:
- .4byte _0813B5D0
- .4byte _0813B5E4
- .4byte _0813B614
- .4byte _0813B6B4
- .4byte _0813B6E4
- .4byte _0813B728
- .4byte _0813B764
- .4byte _0813B772
- .4byte _0813B784
- .4byte _0813B7A8
-_0813B5D0:
- ldr r0, =sub_80B3AF8
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0813B5DE
- b _0813B7C6
-_0813B5DE:
- b _0813B790
- .pool
-_0813B5E4:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813B5F2
- b _0813B7C6
-_0813B5F2:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0813B5FE
- b _0813B790
-_0813B5FE:
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSpecialVar_0x8004
- movs r2, 0x2
- bl SendBlock
- b _0813B708
- .pool
-_0813B614:
- bl GetBlockReceivedStatus
- movs r1, 0x2
- ands r1, r0
- cmp r1, 0
- bne _0813B622
- b _0813B7C6
-_0813B622:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _0813B62E
- b _0813B790
-_0813B62E:
- ldr r5, =gSpecialVar_0x8005
- ldr r0, =gBlockRecvBuffer
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5]
- movs r0, 0x1
- bl ResetBlockReceivedFlag
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813B668
- ldrh r1, [r5]
- cmp r1, 0x1
- bne _0813B668
- ldr r0, =gScriptResult
- strh r1, [r0]
- b _0813B790
- .pool
-_0813B668:
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- adds r2, r0, 0
- cmp r1, 0
- bne _0813B68C
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0813B68C
- ldr r1, =gScriptResult
- movs r0, 0x2
- b _0813B6AC
- .pool
-_0813B68C:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _0813B6A8
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813B6A8
- ldr r1, =gScriptResult
- movs r0, 0x3
- b _0813B6AC
- .pool
-_0813B6A8:
- ldr r1, =gScriptResult
- movs r0, 0
-_0813B6AC:
- strh r0, [r1]
- b _0813B790
- .pool
-_0813B6B4:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813B6C2
- b _0813B7C6
-_0813B6C2:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0813B790
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gScriptResult
- movs r2, 0x2
- bl SendBlock
- b _0813B708
- .pool
-_0813B6E4:
- bl GetBlockReceivedStatus
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0813B7C6
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _0813B790
- ldr r1, =gScriptResult
- ldr r0, =gBlockRecvBuffer
- ldrh r0, [r0]
- strh r0, [r1]
- movs r0, 0
- bl ResetBlockReceivedFlag
-_0813B708:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0813B7C6
- .pool
-_0813B728:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0813B74C
- ldr r0, =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _0813B790
- ldr r0, =gUnknown_0824979B
- bl ShowFieldAutoScrollMessage
- b _0813B790
- .pool
-_0813B74C:
- ldr r0, =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _0813B790
- ldr r0, =gUnknown_0824979B
- bl ShowFieldAutoScrollMessage
- b _0813B790
- .pool
-_0813B764:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0813B7C6
- b _0813B790
-_0813B772:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B7C6
- bl sub_800ADF8
- b _0813B790
-_0813B784:
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B7C6
-_0813B790:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0813B7C6
- .pool
-_0813B7A8:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0813B7B4
- bl sub_800AC34
-_0813B7B4:
- ldr r0, =gBattleTypeFlags
- ldr r1, =gUnknown_0203AB70
- ldr r1, [r1]
- str r1, [r0]
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_0813B7C6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B57C
-
- thumb_func_start sub_813B7D8
-sub_813B7D8: @ 813B7D8
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813B7F8
- ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
- movs r0, 0
- movs r1, 0x1
- bl sub_81D6720
- b _0813B802
- .pool
-_0813B7F8:
- ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
- movs r0, 0x1
- movs r1, 0
- bl sub_81D6720
-_0813B802:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B7D8
-
- thumb_func_start sub_813B80C
-sub_813B80C: @ 813B80C
- push {lr}
- ldr r0, =sub_813B824
- movs r1, 0x8
- bl CreateTask
- movs r0, 0x9D
- bl PlaySE
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B80C
-
- thumb_func_start sub_813B824
-sub_813B824: @ 813B824
- 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
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r1, r0
- bne _0813B858
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x9D
- bl PlaySE
-_0813B858:
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _0813B86C
- adds r0, r5, 0
- bl DestroyTask
-_0813B86C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B824
-
- thumb_func_start sub_813B880
-sub_813B880: @ 813B880
- push {lr}
- ldr r0, =_fwalk
- 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
- movs r2, 0
- movs r0, 0x4
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r2, [r1, 0xE]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B880
-
- thumb_func_start _fwalk
-_fwalk: @ 813B8B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- lsls r1, 1
- adds r1, r5
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _0813B94E
- movs r6, 0
-_0813B8EA:
- movs r4, 0
- lsls r3, r6, 3
- mov r10, r3
- adds r7, r6, 0x1
- mov r8, r7
-_0813B8F4:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, r4
- adds r0, 0x6
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r1, r6
- adds r1, 0x4
- ldr r7, =0x00000201
- adds r2, r4, r7
- add r2, r10
- movs r7, 0x6
- ldrsh r3, [r5, r7]
- lsls r3, 5
- adds r2, r3
- lsls r2, 16
- lsrs r2, 16
- bl MapGridSetMetatileIdAt
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _0813B8F4
- mov r1, r8
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0813B8EA
- bl DrawWholeMapView
- ldrh r0, [r5, 0x6]
- adds r0, 0x1
- strh r0, [r5, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0813B94E
- mov r0, r9
- bl DestroyTask
- bl EnableBothScriptContexts
-_0813B94E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end _fwalk
-
- thumb_func_start sub_813B968
-sub_813B968: @ 813B968
- push {r4,r5,lr}
- ldr r5, =gScriptResult
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- movs r1, 0x7
- bl __udivsi3
- strh r0, [r5]
- ldrh r4, [r5]
- adds r0, r4, 0
- movs r1, 0x14
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- subs r4, r1
- strh r4, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B968
-
- thumb_func_start sub_813B9A0
-sub_813B9A0: @ 813B9A0
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x1C]
- movs r0, 0xB0
- lsls r0, 4
- cmp r1, r0
- bne _0813B9B6
- movs r0, 0x3
- bl Overworld_SetHealLocationWarp
-_0813B9B6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813B9A0
-
- thumb_func_start sub_813B9C0
-sub_813B9C0: @ 813B9C0
- push {r4,lr}
- 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
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r2, =gUnknown_085B3444
- ldrh r0, [r2]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _0813BA06
- adds r4, r1, 0
- adds r1, r2, 0
-_0813B9E6:
- ldrh r0, [r2]
- cmp r0, r3
- bne _0813B9FC
- movs r0, 0x1
- b _0813BA08
- .pool
-_0813B9FC:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r4
- bne _0813B9E6
-_0813BA06:
- movs r0, 0
-_0813BA08:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813B9C0
-
- thumb_func_start ResetFanClub
-ResetFanClub: @ 813BA10
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x0000141e
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- movs r1, 0xA1
- lsls r1, 5
- adds r0, r1
- strh r2, [r0]
- bx lr
- .pool
- thumb_func_end ResetFanClub
-
- thumb_func_start sub_813BA30
-sub_813BA30: @ 813BA30
- push {lr}
- bl sub_813BF44
- lsls r0, 24
- cmp r0, 0
- beq _0813BA52
- bl sub_813BCE8
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- movs r2, 0xA1
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
-_0813BA52:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BA30
-
- thumb_func_start sub_813BA60
-sub_813BA60: @ 813BA60
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 7
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813BAB6
- bl sub_813BF60
- bl sub_813BD84
- ldr r1, [r4]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- movs r2, 0xA1
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
- ldr r0, =0x00000315
- bl FlagClear
- ldr r0, =0x00000316
- bl FlagClear
- ldr r0, =0x00000317
- bl FlagClear
- movs r0, 0xC6
- lsls r0, 2
- bl FlagClear
- ldr r0, =0x000002da
- bl FlagClear
- ldr r0, =0x00004095
- movs r1, 0x1
- bl VarSet
-_0813BAB6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BA60
-
- thumb_func_start sub_813BADC
-sub_813BADC: @ 813BADC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =0x00004095
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0813BB58
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, =0x0000141e
- adds r3, r0, r5
- ldrh r2, [r3]
- movs r1, 0x7F
- ands r1, r2
- ldr r0, =gUnknown_085B3470
- adds r0, r6, r0
- ldrb r0, [r0]
- adds r1, r0
- cmp r1, 0x13
- ble _0813BB54
- bl sub_813BCA8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0813BB3C
- bl sub_813BB74
- ldr r0, [r4]
- adds r0, r5
- ldrh r2, [r0]
- ldr r1, =0x0000ff80
- ands r1, r2
- strh r1, [r0]
- b _0813BB58
- .pool
-_0813BB3C:
- ldr r2, [r4]
- adds r2, r5
- ldrh r1, [r2]
- ldr r0, =0x0000ff80
- ands r0, r1
- movs r1, 0x14
- orrs r0, r1
- strh r0, [r2]
- b _0813BB58
- .pool
-_0813BB54:
- adds r0, r2, r0
- strh r0, [r3]
-_0813BB58:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x7F
- ands r0, r1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BADC
-
- thumb_func_start sub_813BB74
-sub_813BB74: @ 813BB74
- push {r4-r7,lr}
- sub sp, 0x8
- movs r3, 0
- movs r5, 0
- ldr r7, =gSaveBlock1Ptr
- ldr r2, =0x0000141e
- movs r6, 0x1
-_0813BB82:
- ldr r0, [r7]
- adds r0, r2
- ldrh r1, [r0]
- ldr r0, =gUnknown_085B3474
- adds r0, r5, r0
- ldrb r4, [r0]
- asrs r1, r4
- ands r1, r6
- cmp r1, 0
- bne _0813BBC8
- adds r3, r5, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- bl Random
- adds r1, r6, 0
- ands r1, r0
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- cmp r1, 0
- beq _0813BBC8
- ldr r0, [r7]
- adds r0, r2
- adds r1, r6, 0
- lsls r1, r4
- ldrh r2, [r0]
- orrs r1, r2
- strh r1, [r0]
- b _0813BBEA
- .pool
-_0813BBC8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0813BB82
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x0000141e
- adds r2, r0
- ldr r1, =gUnknown_085B3474
- adds r1, r3, r1
- movs r0, 0x1
- ldrb r1, [r1]
- lsls r0, r1
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
-_0813BBEA:
- adds r0, r3, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BB74
-
- thumb_func_start sub_813BC00
-sub_813BC00: @ 813BC00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r10, r0
- bl sub_813BCA8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0813BC2E
- movs r0, 0
- b _0813BC8E
-_0813BC1E:
- mov r1, r8
- ldr r0, [r1]
- add r0, r9
- lsls r4, r6
- ldrh r1, [r0]
- eors r4, r1
- strh r4, [r0]
- b _0813BC8C
-_0813BC2E:
- movs r5, 0
- ldr r2, =gSaveBlock1Ptr
- mov r8, r2
- ldr r0, =0x0000141e
- mov r9, r0
- movs r4, 0x1
-_0813BC3A:
- mov r1, r8
- ldr r0, [r1]
- add r0, r9
- ldrh r1, [r0]
- ldr r7, =gUnknown_085B347C
- adds r0, r5, r7
- ldrb r6, [r0]
- asrs r1, r6
- ands r1, r4
- cmp r1, 0
- beq _0813BC5E
- mov r10, r5
- bl Random
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- bne _0813BC1E
-_0813BC5E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _0813BC3A
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x0000141e
- adds r4, r0, r2
- ldrh r1, [r4]
- mov r2, r10
- adds r0, r2, r7
- ldrb r2, [r0]
- adds r0, r1, 0
- asrs r0, r2
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0813BC8C
- adds r0, r3, 0
- lsls r0, r2
- eors r1, r0
- strh r1, [r4]
-_0813BC8C:
- mov r0, r10
-_0813BC8E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BC00
-
- thumb_func_start sub_813BCA8
-sub_813BCA8: @ 813BCA8
- push {r4,r5,lr}
- movs r3, 0
- movs r2, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r4, [r0]
- movs r5, 0x1
-_0813BCBA:
- adds r1, r2, 0
- adds r1, 0x8
- adds r0, r4, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _0813BCCE
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_0813BCCE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0813BCBA
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BCA8
-
- thumb_func_start sub_813BCE8
-sub_813BCE8: @ 813BCE8
- push {r4-r6,lr}
- movs r5, 0
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldrh r1, [r0, 0xE]
- ldr r0, =0x000003e6
- cmp r1, r0
- bhi _0813BD58
- adds r6, r2, 0
- b _0813BD32
- .pool
-_0813BD04:
- ldr r0, [r6]
- ldrh r1, [r0, 0xE]
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- movs r2, 0xA1
- lsls r2, 5
- adds r0, r2
- ldrh r0, [r0]
- subs r1, r0
- cmp r1, 0xB
- ble _0813BD58
- bl sub_813BC00
- ldr r0, [r4]
- movs r1, 0xA1
- lsls r1, 5
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0xC
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0813BD32:
- bl sub_813BCA8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _0813BD54
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r6]
- ldrh r0, [r0, 0xE]
- movs r2, 0xA1
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
- b _0813BD58
- .pool
-_0813BD54:
- cmp r5, 0x8
- bne _0813BD04
-_0813BD58:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_813BCE8
-
- thumb_func_start sub_813BD60
-sub_813BD60: @ 813BD60
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_813BD60
-
- thumb_func_start sub_813BD84
-sub_813BD84: @ 813BD84
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =0x0000141e
- adds r2, r0
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r0, r3, 0
- orrs r0, r1
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- orrs r0, r1
- movs r3, 0x80
- lsls r3, 3
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_813BD84
-
- thumb_func_start sub_813BDB4
-sub_813BDB4: @ 813BDB4
- push {lr}
- movs r3, 0
- movs r2, 0
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x8
- cmp r0, 0x7
- bhi _0813BE14
- lsls r0, 2
- ldr r1, =_0813BDD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813BDD8:
- .4byte _0813BE14
- .4byte _0813BE14
- .4byte _0813BDF8
- .4byte _0813BDFE
- .4byte _0813BE04
- .4byte _0813BE0A
- .4byte _0813BE10
- .4byte _0813BE14
-_0813BDF8:
- movs r3, 0
- movs r2, 0x3
- b _0813BE14
-_0813BDFE:
- movs r3, 0
- movs r2, 0x1
- b _0813BE14
-_0813BE04:
- movs r3, 0x1
- movs r2, 0
- b _0813BE14
-_0813BE0A:
- movs r3, 0
- movs r2, 0x4
- b _0813BE14
-_0813BE10:
- movs r3, 0x1
- movs r2, 0x5
-_0813BE14:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- adds r1, r3, 0
- bl sub_813BE30
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BDB4
-
- thumb_func_start sub_813BE30
-sub_813BE30: @ 813BE30
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r0, r5, 4
- adds r1, r6, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0813BEE8
- cmp r2, 0x5
- bhi _0813BED4
- lsls r0, r2, 2
- ldr r1, =_0813BE58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813BE58:
- .4byte _0813BED4
- .4byte _0813BE70
- .4byte _0813BE84
- .4byte _0813BE98
- .4byte _0813BEAC
- .4byte _0813BEC0
-_0813BE70:
- ldr r0, =gStringVar1
- ldr r1, =gText_Steven
- bl StringCopy
- b _0813BF04
- .pool
-_0813BE84:
- ldr r0, =gStringVar1
- ldr r1, =gText_Brawly
- bl StringCopy
- b _0813BF04
- .pool
-_0813BE98:
- ldr r0, =gStringVar1
- ldr r1, =gText_Winona
- bl StringCopy
- b _0813BF04
- .pool
-_0813BEAC:
- ldr r0, =gStringVar1
- ldr r1, =gText_Phoebe
- bl StringCopy
- b _0813BF04
- .pool
-_0813BEC0:
- ldr r0, =gStringVar1
- ldr r1, =gText_Glacia
- bl StringCopy
- b _0813BF04
- .pool
-_0813BED4:
- ldr r0, =gStringVar1
- ldr r1, =gText_Wallace
- bl StringCopy
- b _0813BF04
- .pool
-_0813BEE8:
- ldr r4, =gStringVar1
- adds r0, r4, 0
- movs r2, 0x7
- bl StringCopyN
- movs r0, 0xFF
- strb r0, [r4, 0x7]
- adds r0, r6, 0
- adds r0, 0x50
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- bl ConvertInternationalString
-_0813BF04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BE30
-
- thumb_func_start sub_813BF10
-sub_813BF10: @ 813BF10
- push {lr}
- ldr r0, =0x00004095
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0813BF40
- bl sub_813BA30
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0813BF3C
- bl sub_813BB74
- b _0813BF40
- .pool
-_0813BF3C:
- bl sub_813BC00
-_0813BF40:
- pop {r0}
- bx r0
- thumb_func_end sub_813BF10
-
- thumb_func_start sub_813BF44
-sub_813BF44: @ 813BF44
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000141e
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 7
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_813BF44
-
- thumb_func_start sub_813BF60
-sub_813BF60: @ 813BF60
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x0000141e
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x80
- orrs r0, r2
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_813BF60
-
- thumb_func_start sub_813BF7C
-sub_813BF7C: @ 813BF7C
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_813BADC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813BF7C
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s
new file mode 100644
index 000000000..432b8250e
--- /dev/null
+++ b/asm/rom_8034C54.s
@@ -0,0 +1,1312 @@
+ .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
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s
index 5b7671bf8..da5e73034 100644
--- a/asm/rotating_gate.s
+++ b/asm/rotating_gate.s
@@ -410,7 +410,7 @@ sub_80FBAE4: @ 80FBAE4
adds r0, r4, 0x4
lsls r0, 24
lsrs r4, r0, 24
- bl sub_811A138
+ bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x1
@@ -433,7 +433,7 @@ _080FBB2A:
adds r0, 0x8
lsls r0, 24
lsrs r4, r0, 24
- bl sub_811A138
+ bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x1
diff --git a/asm/roulette.s b/asm/roulette.s
index 009f30717..e03bbea91 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
@@ -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
@@ -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 55ce5736a..7317317a3 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -24,7 +24,7 @@ ScriptMenu_Multichoice: @ 80E1E08
lsrs r0, 24
cmp r0, 0x1
beq _080E1E4C
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0xFF
strh r1, [r0]
movs r0, 0
@@ -70,7 +70,7 @@ ScriptMenu_MultichoiceWithDefault: @ 80E1E58
lsrs r0, 24
cmp r0, 0x1
beq _080E1EA8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
str r4, [sp]
@@ -358,13 +358,13 @@ _080E20B8:
bne _080E20FC
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
b _080E20EC
.pool
_080E20E8:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080E20EC:
ldrb r0, [r5, 0xC]
@@ -389,7 +389,7 @@ ScriptMenu_YesNo: @ 80E2108
lsrs r0, 24
cmp r0, 0x1
beq _080E2138
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl sub_8197930
@@ -410,7 +410,7 @@ _080E213A:
thumb_func_start sub_80E2140
sub_80E2140: @ 80E2140
push {lr}
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0xFF
beq _080E2154
@@ -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
@@ -465,12 +465,12 @@ _080E219C:
_080E21A4:
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _080E21B8
.pool
_080E21B4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_080E21B8:
strh r0, [r1]
@@ -517,7 +517,7 @@ ScriptMenu_MultichoiceGrid: @ 80E21D0
b _080E22E8
.pool
_080E2210:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0xFF
strh r1, [r0]
movs r2, 0
@@ -655,13 +655,13 @@ sub_80E2308: @ 80E2308
bne _080E2360
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
b _080E2350
.pool
_080E234C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080E2350:
ldrb r0, [r5, 0xC]
@@ -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
@@ -686,7 +686,7 @@ sp109_CreatePCMenu: @ 80E236C
lsrs r0, 24
cmp r0, 0x1
beq _080E2394
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl CreatePCMenu
@@ -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
@@ -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
@@ -893,7 +893,7 @@ sub_80E2548: @ 80E2548
lsrs r0, 24
cmp r0, 0x1
beq _080E2570
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl sub_80E2578
@@ -1266,7 +1266,7 @@ _080E2860:
thumb_func_start sub_80E2878
sub_80E2878: @ 80E2878
push {lr}
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldrh r0, [r2]
cmp r0, 0x7F
beq _080E288C
@@ -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}
@@ -1648,7 +1648,7 @@ sp106_CreateStartMenu: @ 80E2B7C
lsrs r0, 24
cmp r0, 0x1
beq _080E2BA4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl CreateStartMenu
diff --git a/asm/script_movement.s b/asm/script_movement.s
index 5f06fd179..8c6a6257c 100755..100644
--- a/asm/script_movement.s
+++ b/asm/script_movement.s
@@ -553,7 +553,7 @@ _080D36DC:
adds r1, r6, 0
bl sub_80D355C
adds r0, r4, 0
- bl sub_8097404
+ bl FreezeMapObject
b _080D370E
.pool
_080D36F8:
diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s
index 98510dd9e..4f0fb850b 100644
--- a/asm/script_pokemon_util_80F87D8.s
+++ b/asm/script_pokemon_util_80F87D8.s
@@ -83,7 +83,7 @@ sub_80F8850: @ 80F8850
thumb_func_start sub_80F8864
sub_80F8864: @ 80F8864
push {lr}
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080F88A4
@@ -157,7 +157,7 @@ sub_80F88E8: @ 80F88E8
ldrb r0, [r0]
cmp r0, 0
bne _080F8930
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r0, 0x3
bne _080F8930
@@ -601,7 +601,7 @@ sub_80F8C7C: @ 80F8C7C
ldrb r0, [r0]
cmp r0, 0
bne _080F8D18
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r0, 0x3
bne _080F8D18
@@ -952,7 +952,7 @@ sub_80F8FA0: @ 80F8FA0
ands r0, r1
cmp r0, 0
bne _080F8FD8
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl GetMultiplayerId
lsls r0, 24
lsrs r0, 24
@@ -960,7 +960,7 @@ sub_80F8FA0: @ 80F8FA0
b _080F8FDE
.pool
_080F8FD8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
strh r0, [r1]
_080F8FDE:
@@ -987,11 +987,11 @@ sub_80F8FE8: @ 80F8FE8
adds r0, r1
str r0, [r2]
lsrs r0, 16
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
b _080F902A
.pool
_080F9020:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl Random
lsls r0, 16
lsrs r0, 16
@@ -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)
@@ -1343,7 +1343,7 @@ ScriptGiveEgg: @ 80F92C8
lsrs r1, 16
mov r0, sp
movs r2, 0x1
- bl sub_8070954
+ bl CreateEgg
add r2, sp, 0x64
movs r0, 0x1
strb r0, [r2]
@@ -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
@@ -1376,13 +1376,13 @@ _080F9310:
cmp r1, 0x2
bne _080F9318
_080F9314:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080F9318:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80F92F8
+ thumb_func_end HasEnoughMonsForDoubleBattle
thumb_func_start sub_80F9320
sub_80F9320: @ 80F9320
@@ -1550,12 +1550,12 @@ sub_80F9460: @ 80F9460
ldrb r1, [r0]
cmp r1, 0
bne _080F9478
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _080F947E
.pool
_080F9478:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_080F947E:
@@ -1590,12 +1590,12 @@ sub_80F94B8: @ 80F94B8
ldrb r1, [r0]
cmp r1, 0
bne _080F94D0
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _080F94D6
.pool
_080F94D0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_080F94D6:
diff --git a/asm/shop.s b/asm/shop.s
index 94756624c..97dbd07c8 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
@@ -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
@@ -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}
@@ -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
@@ -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
@@ -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 sub_81AE860
movs r0, 0x2
negs r0, r0
cmp r5, r0
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 6390ae992..88f73fe2c 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -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]
@@ -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
index 464e25c40..464e25c40 100755..100644
--- a/asm/smokescreen.s
+++ b/asm/smokescreen.s
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 4f8544eea..5b6652a6f 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -148,7 +148,7 @@ _0809F8E4:
lsls r0, 24
lsrs r0, 24
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldr r1, =gUnknown_02037619
movs r0, 0
strb r0, [r1, 0x1]
@@ -170,7 +170,7 @@ _0809F926:
b _0809F940
.pool
_0809F930:
- ldr r4, =gUnknown_0203761A
+ ldr r4, =gUnknown_02037619+1
adds r0, r4, 0
movs r1, 0x2
bl PrintStartMenuActions
@@ -356,7 +356,7 @@ sub_809FA9C: @ 809FA9C
bl is_c1_link_related_active
cmp r0, 0
bne _0809FAB2
- bl player_bitmagic
+ bl FreezeMapObjects
bl sub_808B864
bl sub_808BCF4
_0809FAB2:
@@ -449,7 +449,7 @@ _0809FB34:
beq _0809FBA0
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
b _0809FBA0
.pool
_0809FB98:
@@ -653,7 +653,7 @@ _0809FD38:
bl play_some_sound
bl RemoveExtraStartMenuWindows
bl overworld_free_bg_tilemaps
- ldr r0, =CB2_OptionsMenu
+ ldr r0, =CB2_InitOptionMenu
bl SetMainCallback2
ldr r1, =gMain
ldr r0, =sub_8086194
@@ -868,7 +868,7 @@ _0809FF00:
bl sub_8197DF8
bl sub_80984F4
bl ScriptContext2_Disable
- ldr r0, =gUnknown_08252C88
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88
bl ScriptContext1_SetupScript
movs r0, 0x1
b _0809FF22
@@ -974,13 +974,13 @@ task50_save_game: @ 809FFD0
_0809FFEC:
cmp r1, 0x3
bgt _080A0000
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _080A0000
.pool
_0809FFFC:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080A0000:
adds r0, r4, 0
@@ -1089,7 +1089,7 @@ sub_80A00A0: @ 80A00A0
lsls r0, 24
cmp r0, 0
beq _080A00D4
- ldr r0, =gUnknown_08252CA7
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CA7
ldr r1, =sub_80A00EC
bl sub_809FF98
b _080A00DC
@@ -1121,7 +1121,7 @@ sub_80A00EC: @ 80A00EC
thumb_func_start sub_80A0108
sub_80A0108: @ 80A0108
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -1226,7 +1226,7 @@ sub_80A01D0: @ 80A01D0
thumb_func_start sub_80A01EC
sub_80A01EC: @ 80A01EC
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -1415,7 +1415,7 @@ sub_80A035C: @ 80A035C
movs r1, 0
bl sub_819746C
bl remove_start_menu_window_maybe
- ldr r0, =gUnknown_08252CFB
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CFB
ldr r1, =sub_80A0388
bl sub_809FF98
movs r0, 0
@@ -1441,7 +1441,7 @@ sub_80A0388: @ 80A0388
thumb_func_start sub_80A03A4
sub_80A03A4: @ 80A03A4
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -1510,7 +1510,7 @@ _080A0418:
bl SetGpuReg
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r2, 0xA0
lsls r2, 19
mov r1, sp
@@ -1561,7 +1561,7 @@ _080A0490:
bl ResetSpriteData
bl ResetTasks
bl ResetPaletteFade
- bl dp12_8087EA4
+ bl ScanlineEffect_Clear
b _080A04FC
_080A04A2:
movs r0, 0
@@ -1683,7 +1683,7 @@ _080A05AC:
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_082C8959
+ ldr r2, =gText_SavingDontTurnOffPower
movs r4, 0
str r4, [sp]
movs r0, 0x2
@@ -1695,7 +1695,7 @@ _080A05AC:
movs r0, 0
movs r1, 0x1
movs r3, 0xFF
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x8
movs r2, 0xE
@@ -1832,7 +1832,7 @@ _080A06EC:
strb r0, [r6]
ldrb r0, [r6]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
diff --git a/asm/starter_choose.s b/asm/starter_choose.s
deleted file mode 100644
index da42959ea..000000000
--- a/asm/starter_choose.s
+++ /dev/null
@@ -1,985 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8133EDC
-sub_8133EDC: @ 8133EDC
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _08133EE8
- movs r1, 0
-_08133EE8:
- ldr r0, =gUnknown_085B1DF8
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8133EDC
-
- thumb_func_start sub_8133EF8
-sub_8133EF8: @ 8133EF8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8133EF8
-
- thumb_func_start set_256color_bg_bg0
-set_256color_bg_bg0: @ 8133F0C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xC
- 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
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r2, =0x040000d4
- str r1, [r2]
- movs r1, 0xC0
- lsls r1, 19
- str r1, [r2, 0x4]
- ldr r0, =0x8100c000
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- mov r9, r0
- str r0, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r2]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, =0x85000100
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- add r0, sp, 0x4
- mov r3, r9
- strh r3, [r0]
- str r0, [r2]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, =0x81000200
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, =gBirchHelpGfx
- bl LZ77UnCompVram
- ldr r0, =gBirchBagTilemap
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r0, =gBirchGrassTilemap
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B1E00
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085B1DCC
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r1, 0xAA
- 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
- bl dp13_810BB8C
- bl sub_8098C64
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gBirchBagGrassPal
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, =gUnknown_085B1ED8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085B1EE8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085B1EF8
- bl LoadSpritePalettes
- movs r0, 0x1
- negs r0, r0
- mov r1, r9
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_8133EF8
- bl SetVBlankCallback
- ldr r0, =sub_81341E0
- bl SetMainCallback2
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x1F
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xFE
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x7
- bl SetGpuReg
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r0, =sub_81341FC
- movs r1, 0
- 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 r3, 0x1
- mov r10, r3
- mov r1, r10
- strh r1, [r0, 0x8]
- ldr r0, =gUnknown_085B1F10
- movs r1, 0x78
- movs r2, 0x38
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gSprites
- mov r8, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- ldr r6, =gUnknown_085B1F28
- ldr r5, =gUnknown_085B1DEC
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- adds r0, r6, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- mov r0, r9
- strh r0, [r1, 0x30]
- ldrb r1, [r5, 0x2]
- ldrb r2, [r5, 0x3]
- adds r0, r6, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- mov r3, r10
- strh r3, [r1, 0x30]
- ldrb r1, [r5, 0x4]
- ldrb r2, [r5, 0x5]
- adds r0, r6, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- movs r0, 0x2
- strh r0, [r1, 0x30]
- ldr r1, =gUnknown_030011F8
- movs r0, 0xFF
- strh r0, [r1]
- 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 set_256color_bg_bg0
-
- thumb_func_start sub_81341E0
-sub_81341E0: @ 81341E0
- 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_81341E0
-
- thumb_func_start sub_81341FC
-sub_81341FC: @ 81341FC
- push {r4,lr}
- sub sp, 0xC
- 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]
- bl sub_81344C8
- movs r2, 0xAA
- lsls r2, 2
- movs r0, 0
- movs r1, 0
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r2, =gText_BirchInTrouble
- 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, =sub_813425C
- str r0, [r4]
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81341FC
-
- thumb_func_start sub_813425C
-sub_813425C: @ 813425C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r6, r0, r2
- ldrh r7, [r6, 0x8]
- ldrb r4, [r6, 0x8]
- ldr r1, =gMain
- ldrh r3, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _081342F8
- bl sub_8134604
- ldr r0, =gUnknown_085B1F40
- ldr r1, =gUnknown_085B1DEC
- lsls r2, r4, 1
- adds r3, r2, r1
- ldrb r5, [r3]
- adds r1, 0x1
- adds r2, r1
- ldrb r4, [r2]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0xC]
- ldrh r0, [r6, 0x8]
- bl sub_8133EDC
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8134690
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r4, 0
- adds r2, 0x10
- adds r2, r1, r2
- ldr r3, =gUnknown_085B1ED0
- str r3, [r2]
- adds r4, 0x1C
- adds r1, r4
- ldr r2, =sub_8134774
- str r2, [r1]
- strh r0, [r6, 0xA]
- ldr r0, =sub_8134340
- str r0, [r6]
- b _08134334
- .pool
-_081342F8:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _08134314
- cmp r4, 0
- beq _08134314
- subs r0, r7, 0x1
- strh r0, [r6, 0x8]
- ldr r0, =sub_8134640
- str r0, [r6]
- b _08134334
- .pool
-_08134314:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08134334
- cmp r4, 0x1
- bhi _08134334
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- ldr r1, =sub_8134640
- str r1, [r0]
-_08134334:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813425C
-
- thumb_func_start sub_8134340
-sub_8134340: @ 8134340
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gSprites
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _0813437E
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- bne _0813437E
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x40
- bne _0813437E
- ldr r0, =sub_8134390
- str r0, [r2]
-_0813437E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134340
-
- thumb_func_start sub_8134390
-sub_8134390: @ 8134390
- push {r4,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r0, [r4, 0x8]
- bl sub_8133EDC
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl PlayCry1
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_ConfirmStarterChoice
- 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 schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_085B1DDC
- movs r1, 0xAA
- lsls r1, 2
- movs r2, 0xD
- movs r3, 0
- bl CreateYesNoMenu
- ldr r0, =sub_8134400
- str r0, [r4]
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134390
-
- thumb_func_start sub_8134400
-sub_8134400: @ 8134400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08134426
- cmp r1, 0
- bgt _08134420
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08134450
- b _0813449A
-_08134420:
- cmp r1, 0x1
- beq _08134450
- b _0813449A
-_08134426:
- ldr r2, =gScriptResult
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- strh r0, [r2]
- bl dp13_810BB8C
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- b _0813449A
- .pool
-_08134450:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r4, [r5, 0xA]
- ldr r6, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl sub_818D820
- ldrb r0, [r5, 0xC]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r6
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, =sub_81344AC
- str r0, [r5]
-_0813449A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134400
-
- thumb_func_start sub_81344AC
-sub_81344AC: @ 81344AC
- 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_81341FC
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81344AC
-
- thumb_func_start sub_81344C8
-sub_81344C8: @ 81344C8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x34
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl sub_8133EDC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- add r1, sp, 0xC
- bl sub_81DB468
- movs r0, 0xB
- adds r1, r4, 0
- muls r1, r0
- mov r9, r1
- ldr r0, =gSpeciesNames
- add r9, r0
- ldr r0, =gUnknown_085B1DE4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x2C]
- str r1, [sp, 0x30]
- ldr r3, =gUnknown_085B1DF2
- lsls r5, 1
- adds r2, r5, r3
- mov r10, r2
- ldrb r0, [r2]
- lsls r0, 8
- ldr r1, =0xffff00ff
- ldr r2, [sp, 0x2C]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x2C]
- adds r3, 0x1
- adds r5, r3
- ldrb r1, [r5]
- lsls r1, 16
- ldr r0, =0xff00ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x2C]
- add r0, sp, 0x2C
- bl AddWindow
- ldr r4, =gUnknown_030011F8
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x7
- add r1, sp, 0xC
- movs r2, 0x68
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r4]
- lsls r2, 24
- lsrs r2, 24
- ldr r1, =gUnknown_085B1E0C
- mov r8, r1
- str r1, [sp]
- movs r6, 0
- str r6, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x7
- movs r3, 0x1
- bl box_print
- movs r0, 0x1
- mov r1, r9
- movs r2, 0x68
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r4]
- lsls r2, 24
- lsrs r2, 24
- mov r1, r8
- str r1, [sp]
- str r6, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x11
- bl box_print
- ldrb r0, [r4]
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- mov r2, r10
- ldrb r1, [r2]
- lsls r0, r1, 27
- movs r2, 0xFC
- lsls r2, 24
- adds r0, r2
- adds r1, 0xD
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 24
- ldrb r4, [r5]
- lsls r5, r4, 27
- lsrs r5, 24
- adds r4, 0x4
- lsls r4, 27
- lsrs r4, 24
- lsrs r1, 8
- orrs r1, r0
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- lsls r5, 8
- orrs r5, r4
- movs r0, 0x44
- adds r1, r5, 0
- bl SetGpuReg
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81344C8
-
- thumb_func_start sub_8134604
-sub_8134604: @ 8134604
- push {r4,lr}
- ldr r4, =gUnknown_030011F8
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strh r0, [r4]
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134604
-
- thumb_func_start sub_8134640
-sub_8134640: @ 8134640
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8134604
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8134668
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134640
-
- thumb_func_start sub_8134668
-sub_8134668: @ 8134668
- 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]
- bl sub_81344C8
- ldr r0, =sub_813425C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134668
-
- thumb_func_start sub_8134690
-sub_8134690: @ 8134690
- push {lr}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- str r1, [sp]
- str r2, [sp, 0x4]
- movs r1, 0xE
- str r1, [sp, 0x8]
- ldr r1, =0x0000ffff
- str r1, [sp, 0xC]
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x1
- bl sub_818D3E4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x5]
- add sp, 0x10
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8134690
-
- thumb_func_start sub_81346DC
-sub_81346DC: @ 81346DC
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gUnknown_085B1E28
- ldr r3, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r4, 0x20]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- lsls r0, 1
- adds r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r4, 0x22]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x4
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81346DC
-
- thumb_func_start sub_813473C
-sub_813473C: @ 813473C
- 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, 0x8
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- bne _08134768
- adds r0, r3, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- b _08134770
- .pool
-_08134768:
- adds r0, r3, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
-_08134770:
- pop {r0}
- bx r0
- thumb_func_end sub_813473C
-
- thumb_func_start sub_8134774
-sub_8134774: @ 8134774
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- ble _08134786
- subs r0, r2, 0x4
- strh r0, [r1, 0x20]
-_08134786:
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _08134794
- adds r0, r2, 0x4
- strh r0, [r1, 0x20]
-_08134794:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x40
- ble _081347A2
- subs r0, r2, 0x2
- strh r0, [r1, 0x22]
-_081347A2:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x3F
- bgt _081347B0
- adds r0, r2, 0x2
- strh r0, [r1, 0x22]
-_081347B0:
- pop {r0}
- bx r0
- thumb_func_end sub_8134774
-
- .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 ebb624d90..28cfaeb72 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
@@ -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]
@@ -414,12 +415,12 @@ _080774B2:
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
@@ -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
@@ -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
@@ -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
@@ -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:
@@ -5112,7 +5113,7 @@ _08079DDE:
_08079DF0:
add r0, sp, 0xC
movs r1, 0
- bl sub_8070ECC
+ bl NameHasGenderSymbol
lsls r0, 24
movs r2, 0x83
cmp r0, 0
@@ -5122,7 +5123,7 @@ _08079DF0:
_08079E04:
add r0, sp, 0xC
movs r1, 0xFE
- bl sub_8070ECC
+ bl NameHasGenderSymbol
lsls r0, 24
movs r2, 0x83
cmp r0, 0
@@ -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,7 +7025,7 @@ _0807AC92:
lsls r0, 1
cmp r1, r0
bls _0807ACC4
- bl sub_80097E8
+ bl CloseLink
ldr r0, =c2_800ACD4
bl SetMainCallback2
ldr r1, [r4]
@@ -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
@@ -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
@@ -7948,7 +7949,7 @@ sub_807B4D0: @ 807B4D0
adds r1, r2
ldr r0, [r0]
adds r0, r1
- bl sub_80D439C
+ bl ClearMailStruct
_0807B52A:
ldr r4, =gUnknown_020322A0
ldr r0, [r4]
@@ -7985,7 +7986,7 @@ _0807B566:
ldr r0, =gUnknown_020321C0
adds r1, r0
adds r0, r7, 0
- bl sub_80D460C
+ bl GiveMailToMon2
_0807B57C:
mov r0, r9
bl sub_807B464
@@ -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
@@ -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]
@@ -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
@@ -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]
@@ -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]
@@ -13814,7 +13815,7 @@ _0807ED98:
movs r0, 0x32
strb r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_082C8959
+ ldr r1, =gText_SavingDontTurnOffPower
_0807EDA6:
adds r0, r4, 0
bl StringExpandPlaceholders
@@ -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
@@ -14668,7 +14669,7 @@ _0807F50A:
movs r1, 0x3
strb r1, [r0]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_082C8959
+ ldr r1, =gText_SavingDontTurnOffPower
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
diff --git a/asm/trader.s b/asm/trader.s
index 8e0b17905..a43f59402 100644
--- a/asm/trader.s
+++ b/asm/trader.s
@@ -335,7 +335,7 @@ _08133CCA:
sub_8133CD8: @ 8133CD8
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r2, =0x00002e59
adds r0, r2
ldrb r0, [r0]
@@ -348,7 +348,7 @@ sub_8133CD8: @ 8133CD8
sub_8133CF4: @ 8133CF4
push {r4,r5,lr}
movs r4, 0
- ldr r5, =gScriptResult
+ ldr r5, =gSpecialVar_Result
_08133CFA:
adds r0, r4, 0
bl CountDecorationCategoryN
@@ -365,7 +365,7 @@ _08133D10:
lsrs r4, r0, 24
cmp r4, 0x7
bls _08133CFA
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_08133D20:
@@ -378,7 +378,7 @@ _08133D20:
thumb_func_start sub_8133D2C
sub_8133D2C: @ 8133D2C
push {r4-r6,lr}
- ldr r6, =gScriptResult
+ ldr r6, =gSpecialVar_Result
movs r0, 0
strh r0, [r6]
ldr r4, =gDecorations
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index bee1f4f7f..4ccd04e98 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
@@ -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
@@ -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]
@@ -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
@@ -5000,7 +5000,7 @@ _080C5240:
adds r0, r2
ldrh r0, [r0]
strh r0, [r1, 0x6]
- bl sub_8185290
+ bl CanCopyRecordedBattleSaveData
ldr r3, [r5]
movs r1, 0x1
ands r0, r1
@@ -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:
@@ -5825,7 +5825,7 @@ _080C5970:
strh r0, [r1, 0x6]
bl sub_80C52E4
ldr r0, =sub_80C58D4
- bl sub_8185E24
+ bl PlayRecordedBattle
b _080C599A
.pool
_080C5994:
@@ -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
index b814934a3..1c874f28f 100755..100644
--- a/asm/trainer_rematch.s
+++ b/asm/trainer_rematch.s
@@ -178,14 +178,14 @@ sub_81DA6CC: @ 81DA6CC
push {r4-r6,lr}
adds r5, r0, 0
movs r4, 0
- ldr r6, =gUnknown_085500A4
+ ldr r6, =gRematchTable
_081DA6D4:
lsls r0, r4, 1
lsls r1, r5, 4
adds r0, r1
adds r0, r6
ldrh r0, [r0]
- bl HasTrainerAlreadyBeenFought
+ bl HasTrainerBeenFought
lsls r0, 24
cmp r0, 0
bne _081DA6F0
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
deleted file mode 100644
index 59dd9f74b..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, =gScriptResult
- 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, =gScriptResult
- 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 20d23a878..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:
@@ -1016,11 +676,11 @@ _08166BB6:
lsls r0, 24
cmp r0, 0
bne _08166BDA
- ldr r0, =gScriptItemId
+ 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 f8cc87fe8..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 sub_8098C64
- 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.
diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s
deleted file mode 100644
index 9b6c901f6..000000000
--- a/asm/wild_encounter.s
+++ /dev/null
@@ -1,2353 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B48B8
-sub_80B48B8: @ 80B48B8
- ldr r1, =gUnknown_02038C00
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80B48B8
-
- thumb_func_start sub_80B48C4
-sub_80B48C4: @ 80B48C4
- 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
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x4]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =gUnknown_08553A7C
- lsls r1, r2, 1
- adds r1, r2
- lsls r2, r1, 1
- adds r2, r3
- adds r0, r1, 0x1
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- mov r9, r0
- adds r1, 0x2
- lsls r1, 1
- adds r1, r3
- ldrh r6, [r1]
- ldrh r5, [r2]
- cmp r5, r9
- bhi _080B496E
- ldr r0, =gMapHeader
- mov r10, r0
-_080B4906:
- movs r4, 0
- mov r1, r10
- ldr r0, [r1]
- ldr r0, [r0]
- cmp r4, r0
- bge _080B4964
- ldr r1, [sp]
- lsls r0, r1, 16
- asrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- asrs r7, r0, 16
-_080B4920:
- adds r0, r4, 0x7
- adds r1, r5, 0x7
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableAndNotWaterfall
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B4954
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r8, r4
- bne _080B4954
- cmp r7, r5
- bne _080B4954
- adds r0, r6, 0
- b _080B4974
- .pool
-_080B4954:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- mov r1, r10
- ldr r0, [r1]
- ldr r0, [r0]
- cmp r4, r0
- blt _080B4920
-_080B4964:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r9
- bls _080B4906
-_080B496E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r0, 16
-_080B4974:
- 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_80B48C4
-
- thumb_func_start sub_80B4984
-sub_80B4984: @ 80B4984
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- movs r7, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x88
- lsls r0, 6
- cmp r1, r0
- bne _080B4A7A
- add r5, sp, 0xC
- mov r4, sp
- adds r4, 0xE
- adds r0, r5, 0
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldrh r0, [r5]
- subs r0, 0x7
- strh r0, [r5]
- ldrh r0, [r4]
- subs r0, 0x7
- strh r0, [r4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, =gUnknown_08553A7C
- mov r9, r5
- mov r8, r4
- ldrh r2, [r0, 0x6]
- cmp r1, r2
- blt _080B49D0
- ldrh r3, [r0, 0x8]
- cmp r1, r3
- bgt _080B49D0
- movs r7, 0x1
-_080B49D0:
- mov r2, r8
- movs r3, 0
- ldrsh r1, [r2, r3]
- ldrh r2, [r0, 0xC]
- cmp r1, r2
- blt _080B49E4
- ldrh r0, [r0, 0xE]
- cmp r1, r0
- bgt _080B49E4
- movs r7, 0x2
-_080B49E4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bls _080B4A08
- b _080B4A7A
- .pool
-_080B4A04:
- movs r0, 0x1
- b _080B4A7C
-_080B4A08:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00002e6a
- adds r0, r3
- ldrh r0, [r0]
- bl sub_80B4AB8
- movs r5, 0
- ldr r6, =0x000001bf
-_080B4A1A:
- bl sub_80B4A98
- lsls r1, r5, 1
- mov r2, sp
- adds r4, r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __umodsi3
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- bne _080B4A38
- strh r6, [r4]
-_080B4A38:
- ldrh r0, [r4]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080B4A4A
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080B4A4A:
- cmp r5, 0x6
- bne _080B4A1A
- mov r3, r9
- movs r1, 0
- ldrsh r0, [r3, r1]
- mov r2, r8
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r2, r7, 0
- bl sub_80B48C4
- lsls r0, 16
- lsrs r1, r0, 16
- movs r5, 0
-_080B4A66:
- lsls r0, r5, 1
- add r0, sp
- ldrh r0, [r0]
- cmp r1, r0
- beq _080B4A04
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080B4A66
-_080B4A7A:
- movs r0, 0
-_080B4A7C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B4984
-
- thumb_func_start sub_80B4A98
-sub_80B4A98: @ 80B4A98
- ldr r2, =gUnknown_02038C04
- ldr r1, [r2]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r1, =0x00003039
- adds r0, r1
- str r0, [r2]
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_80B4A98
-
- thumb_func_start sub_80B4AB8
-sub_80B4AB8: @ 80B4AB8
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gUnknown_02038C04
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80B4AB8
-
- thumb_func_start wild_pokemon_rand_grass
-wild_pokemon_rand_grass: @ 80B4AC8
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x13
- bhi _080B4AE4
- movs r0, 0
- b _080B4B7E
-_080B4AE4:
- adds r0, r1, 0
- subs r0, 0x14
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _080B4AF4
- movs r0, 0x1
- b _080B4B7E
-_080B4AF4:
- adds r0, r1, 0
- subs r0, 0x28
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bhi _080B4B04
- movs r0, 0x2
- b _080B4B7E
-_080B4B04:
- adds r0, r1, 0
- subs r0, 0x32
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bhi _080B4B14
- movs r0, 0x3
- b _080B4B7E
-_080B4B14:
- adds r0, r1, 0
- subs r0, 0x3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bhi _080B4B24
- movs r0, 0x4
- b _080B4B7E
-_080B4B24:
- adds r0, r1, 0
- subs r0, 0x46
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bhi _080B4B34
- movs r0, 0x5
- b _080B4B7E
-_080B4B34:
- adds r0, r1, 0
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B4B44
- movs r0, 0x6
- b _080B4B7E
-_080B4B44:
- adds r0, r1, 0
- subs r0, 0x55
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B4B54
- movs r0, 0x7
- b _080B4B7E
-_080B4B54:
- adds r0, r1, 0
- subs r0, 0x5A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _080B4B64
- movs r0, 0x8
- b _080B4B7E
-_080B4B64:
- adds r0, r1, 0
- subs r0, 0x5E
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _080B4B74
- movs r0, 0x9
- b _080B4B7E
-_080B4B74:
- cmp r1, 0x62
- beq _080B4B7C
- movs r0, 0xB
- b _080B4B7E
-_080B4B7C:
- movs r0, 0xA
-_080B4B7E:
- pop {r1}
- bx r1
- thumb_func_end wild_pokemon_rand_grass
-
- thumb_func_start wild_pokemon_rand_water
-wild_pokemon_rand_water: @ 80B4B84
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r1, 0x3B
- bhi _080B4BA2
- movs r0, 0
- b _080B4BD4
-_080B4BA2:
- adds r0, r1, 0
- subs r0, 0x3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1D
- bhi _080B4BB2
- movs r0, 0x1
- b _080B4BD4
-_080B4BB2:
- adds r0, r1, 0
- subs r0, 0x5A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B4BC2
- movs r0, 0x2
- b _080B4BD4
-_080B4BC2:
- adds r0, r2, 0
- subs r0, 0x5F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080B4BD2
- movs r0, 0x4
- b _080B4BD4
-_080B4BD2:
- movs r0, 0x3
-_080B4BD4:
- pop {r1}
- bx r1
- thumb_func_end wild_pokemon_rand_water
-
- thumb_func_start sub_80B4BD8
-sub_80B4BD8: @ 80B4BD8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- movs r5, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0x1
- beq _080B4C12
- cmp r4, 0x1
- bgt _080B4C02
- cmp r4, 0
- beq _080B4C08
- b _080B4C6C
-_080B4C02:
- cmp r6, 0x2
- beq _080B4C36
- b _080B4C6C
-_080B4C08:
- movs r5, 0x1
- cmp r1, 0x45
- bhi _080B4C6C
- movs r5, 0
- b _080B4C6C
-_080B4C12:
- cmp r1, 0x3B
- bhi _080B4C18
- movs r5, 0x2
-_080B4C18:
- adds r0, r1, 0
- subs r0, 0x3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _080B4C26
- movs r5, 0x3
-_080B4C26:
- adds r0, r1, 0
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _080B4C6C
- movs r5, 0x4
- b _080B4C6C
-_080B4C36:
- cmp r1, 0x27
- bhi _080B4C3C
- movs r5, 0x5
-_080B4C3C:
- adds r0, r1, 0
- subs r0, 0x28
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- bhi _080B4C4A
- movs r5, 0x6
-_080B4C4A:
- adds r0, r1, 0
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE
- bhi _080B4C58
- movs r5, 0x7
-_080B4C58:
- adds r0, r1, 0
- subs r0, 0x5F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _080B4C66
- movs r5, 0x8
-_080B4C66:
- cmp r1, 0x63
- bne _080B4C6C
- movs r5, 0x9
-_080B4C6C:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B4BD8
-
- thumb_func_start sub_80B4C74
-sub_80B4C74: @ 80B4C74
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x1]
- ldrb r1, [r4]
- cmp r0, r1
- bcc _080B4C86
- ldrb r7, [r4]
- adds r6, r0, 0
- b _080B4C8A
-_080B4C86:
- ldrb r7, [r4, 0x1]
- ldrb r6, [r4]
-_080B4C8A:
- subs r4, r6, r7
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gPlayerParty
- adds r0, r5, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080B4CEA
- adds r0, r5, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x37
- beq _080B4CC8
- cmp r0, 0x48
- beq _080B4CC8
- cmp r0, 0x2E
- bne _080B4CEA
-_080B4CC8:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B4CE0
- adds r0, r6, 0
- b _080B4CF0
- .pool
-_080B4CE0:
- cmp r4, 0
- beq _080B4CEA
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080B4CEA:
- adds r0, r7, r4
- lsls r0, 24
- lsrs r0, 24
-_080B4CF0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B4C74
-
- thumb_func_start get_wild_data_index_for_map
-get_wild_data_index_for_map: @ 80B4CF8
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, =gWildMonHeaders
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0xFF
- beq _080B4D6C
- ldr r6, =0x00006a18
-_080B4D08:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r3, r0, r5
- ldrb r1, [r3]
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _080B4D58
- ldrb r1, [r3, 0x1]
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _080B4D58
- ldrh r0, [r2, 0x4]
- cmp r0, r6
- bne _080B4D44
- ldr r0, =0x0000403e
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bls _080B4D3E
- movs r0, 0
-_080B4D3E:
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080B4D44:
- adds r0, r4, 0
- b _080B4D6E
- .pool
-_080B4D58:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080B4D08
-_080B4D6C:
- ldr r0, =0x0000ffff
-_080B4D6E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end get_wild_data_index_for_map
-
- thumb_func_start sub_80B4D78
-sub_80B4D78: @ 80B4D78
- push {r4-r7,lr}
- sub sp, 0x1C
- bl GetSafariZoneFlag
- cmp r0, 0x1
- bne _080B4E0E
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4F
- bhi _080B4E0E
- bl SafariZoneGetActivePokeblock
- adds r7, r0, 0
- cmp r7, 0
- beq _080B4E0E
- movs r5, 0
-_080B4DA6:
- mov r1, sp
- adds r0, r1, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x18
- bls _080B4DA6
- movs r5, 0
-_080B4DB8:
- adds r1, r5, 0x1
- lsls r0, r1, 24
- lsrs r4, r0, 24
- adds r6, r1, 0
- cmp r4, 0x18
- bhi _080B4DE8
- add r5, sp
-_080B4DC6:
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080B4DDE
- ldrb r2, [r5]
- mov r0, sp
- adds r1, r0, r4
- ldrb r0, [r1]
- strb r0, [r5]
- strb r2, [r1]
-_080B4DDE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x18
- bls _080B4DC6
-_080B4DE8:
- lsls r0, r6, 24
- lsrs r5, r0, 24
- cmp r5, 0x17
- bls _080B4DB8
- movs r5, 0
-_080B4DF2:
- mov r1, sp
- adds r4, r1, r5
- ldrb r0, [r4]
- adds r1, r7, 0
- bl sub_8136FE4
- lsls r0, 16
- cmp r0, 0
- bgt _080B4E48
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x18
- bls _080B4DF2
-_080B4E0E:
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080B4E4C
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1C
- bne _080B4E4C
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B4E4C
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- b _080B4E54
- .pool
-_080B4E48:
- ldrb r0, [r4]
- b _080B4E5E
-_080B4E4C:
- bl Random
- lsls r0, 16
- lsrs r0, 16
-_080B4E54:
- movs r1, 0x19
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
-_080B4E5E:
- add sp, 0x1C
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B4D78
-
- thumb_func_start sub_80B4E68
-sub_80B4E68: @ 80B4E68
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- bl ZeroEnemyPartyMons
- movs r2, 0x1
- ldr r1, =gBaseStats
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _080B4E96
- cmp r0, 0
- blt _080B4E98
- cmp r0, 0xFF
- bgt _080B4E98
- cmp r0, 0xFE
- blt _080B4E98
-_080B4E96:
- movs r2, 0
-_080B4E98:
- cmp r2, 0
- beq _080B4F28
- ldr r5, =gPlayerParty
- adds r0, r5, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080B4F28
- adds r0, r5, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x38
- bne _080B4F28
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _080B4F28
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFE
- bne _080B4F00
- movs r4, 0
- b _080B4F02
- .pool
-_080B4F00:
- movs r4, 0xFE
-_080B4F02:
- bl sub_80B4D78
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gEnemyParty
- str r4, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r1, 0
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x20
- bl CreateMonWithGenderNatureLetter
- b _080B4F40
- .pool
-_080B4F28:
- bl sub_80B4D78
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gEnemyParty
- str r0, [sp]
- adds r0, r1, 0
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x20
- bl CreateMonWithNature
-_080B4F40:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B4E68
-
- thumb_func_start sub_80B4F4C
-sub_80B4F4C: @ 80B4F4C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- adds r4, r3, 0
- lsls r2, 24
- lsrs r6, r2, 24
- movs r1, 0
- mov r0, sp
- strb r1, [r0]
- cmp r3, 0x1
- beq _080B4FA0
- cmp r3, 0x1
- bgt _080B4F70
- cmp r3, 0
- beq _080B4F76
- b _080B4FBA
-_080B4F70:
- cmp r4, 0x2
- beq _080B4FB2
- b _080B4FBA
-_080B4F76:
- ldr r0, [r5, 0x4]
- movs r1, 0x8
- movs r2, 0x2A
- mov r3, sp
- bl TryGetAbilityInfluencedWildMonIndex
- lsls r0, 24
- cmp r0, 0
- bne _080B4FBA
- ldr r0, [r5, 0x4]
- movs r1, 0xD
- movs r2, 0x9
- mov r3, sp
- bl TryGetAbilityInfluencedWildMonIndex
- lsls r0, 24
- cmp r0, 0
- bne _080B4FBA
- bl wild_pokemon_rand_grass
- b _080B4FB6
-_080B4FA0:
- ldr r0, [r5, 0x4]
- movs r1, 0xD
- movs r2, 0x9
- mov r3, sp
- bl TryGetAbilityInfluencedWildMonIndex
- lsls r0, 24
- cmp r0, 0
- bne _080B4FBA
-_080B4FB2:
- bl wild_pokemon_rand_water
-_080B4FB6:
- mov r1, sp
- strb r0, [r1]
-_080B4FBA:
- mov r0, sp
- ldrb r1, [r0]
- lsls r1, 2
- ldr r0, [r5, 0x4]
- adds r0, r1
- bl sub_80B4C74
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- ands r0, r6
- cmp r0, 0
- beq _080B4FE0
- adds r0, r4, 0
- bl sub_80B58CC
- lsls r0, 24
- cmp r0, 0
- beq _080B5000
-_080B4FE0:
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- movs r0, 0xB3
- lsls r0, 1
- cmp r1, r0
- beq _080B5008
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _080B5008
- adds r0, r4, 0
- bl DoKeenEyeIntimidateWildEncounterTest
- lsls r0, 24
- cmp r0, 0
- bne _080B5008
-_080B5000:
- movs r0, 0
- b _080B501C
- .pool
-_080B5008:
- mov r0, sp
- ldrb r0, [r0]
- ldr r1, [r5, 0x4]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- adds r1, r4, 0
- bl sub_80B4E68
- movs r0, 0x1
-_080B501C:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B4F4C
-
- thumb_func_start sub_80B5024
-sub_80B5024: @ 80B5024
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_80B4BD8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 22
- ldr r0, [r5, 0x4]
- adds r0, r4
- bl sub_80B4C74
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, [r5, 0x4]
- adds r0, r4, r0
- ldrh r0, [r0, 0x2]
- bl sub_80B4E68
- ldr r0, [r5, 0x4]
- adds r4, r0
- ldrh r0, [r4, 0x2]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5024
-
- thumb_func_start SetUpMassOutbreakEncounter
-SetUpMassOutbreakEncounter: @ 80B505C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B508C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002b94
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80B58CC
- lsls r0, 24
- cmp r0, 0
- bne _080B508C
- movs r0, 0
- b _080B50C6
- .pool
-_080B508C:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, =0x00002b90
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r2, 0x4
- adds r1, r2
- ldrb r1, [r1]
- bl sub_80B4E68
- movs r4, 0
-_080B50A2:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00002b98
- adds r0, r2
- adds r0, r1
- ldrh r1, [r0]
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r0, =gEnemyParty
- bl SetMonMoveSlot
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080B50A2
- movs r0, 0x1
-_080B50C6:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end SetUpMassOutbreakEncounter
-
- thumb_func_start DoMassOutbreakEncounterTest
-DoMassOutbreakEncounterTest: @ 80B50DC
- push {r4,lr}
- ldr r4, =gSaveBlock1Ptr
- ldr r2, [r4]
- ldr r1, =0x00002b90
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080B513C
- movs r1, 0x5
- ldrsb r1, [r2, r1]
- ldr r3, =0x00002b92
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _080B513C
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- adds r3, 0x1
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _080B513C
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- ldr r1, [r4]
- ldr r2, =0x00002ba1
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080B513C
- movs r0, 0x1
- b _080B513E
- .pool
-_080B513C:
- movs r0, 0
-_080B513E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end DoMassOutbreakEncounterTest
-
- thumb_func_start DoWildEncounterRateDiceRoll
-DoWildEncounterRateDiceRoll: @ 80B5144
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB4
- lsls r1, 4
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcc _080B5168
- movs r0, 0
- b _080B516A
-_080B5168:
- movs r0, 0x1
-_080B516A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end DoWildEncounterRateDiceRoll
-
- thumb_func_start DoWildEncounterRateTest
-DoWildEncounterRateTest: @ 80B5170
- push {r4,lr}
- sub sp, 0x4
- str r0, [sp]
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r0, 4
- str r0, [sp]
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080B519A
- ldr r1, [sp]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- movs r1, 0x64
- bl __udivsi3
- str r0, [sp]
-_080B519A:
- mov r0, sp
- bl affects_encounter_rate_based_on_flags
- mov r0, sp
- bl ApplyCleanseTagWildEncounterRateReduction
- cmp r4, 0
- bne _080B5216
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080B5216
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B51E8
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _080B5210
- ldr r1, [sp]
- lsls r0, r1, 1
- adds r0, r1
- lsrs r0, 2
- b _080B5214
- .pool
-_080B51E8:
- cmp r0, 0x23
- bne _080B51F2
- ldr r0, [sp]
- lsls r0, 1
- b _080B5214
-_080B51F2:
- cmp r0, 0x49
- beq _080B5210
- cmp r0, 0x47
- bne _080B5200
- ldr r0, [sp]
- lsls r0, 1
- b _080B5214
-_080B5200:
- cmp r0, 0x8
- bne _080B5216
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x2E
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080B5216
-_080B5210:
- ldr r0, [sp]
- lsrs r0, 1
-_080B5214:
- str r0, [sp]
-_080B5216:
- ldr r0, [sp]
- movs r1, 0xB4
- lsls r1, 4
- cmp r0, r1
- bls _080B5222
- str r1, [sp]
-_080B5222:
- ldr r0, [sp]
- lsls r0, 16
- lsrs r0, 16
- bl DoWildEncounterRateDiceRoll
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end DoWildEncounterRateTest
-
- thumb_func_start DoGlobalWildEncounterDiceRoll
-DoGlobalWildEncounterDiceRoll: @ 80B523C
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3B
- bhi _080B5258
- movs r0, 0x1
- b _080B525A
-_080B5258:
- movs r0, 0
-_080B525A:
- pop {r1}
- bx r1
- thumb_func_end DoGlobalWildEncounterDiceRoll
-
- thumb_func_start sub_80B5260
-sub_80B5260: @ 80B5260
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xE0
- lsls r0, 3
- cmp r1, r0
- bne _080B5280
- movs r0, 0x53
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _080B5282
- .pool
-_080B5280:
- movs r0, 0
-_080B5282:
- pop {r1}
- bx r1
- thumb_func_end sub_80B5260
-
- thumb_func_start is_it_battle_time_2
-is_it_battle_time_2: @ 80B5288
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r6, r0, 16
- mov r9, r6
- lsls r1, 16
- lsrs r7, r1, 16
- mov r8, r7
- ldr r0, =gUnknown_02038C00
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B52A6
- b _080B54FE
-_080B52A6:
- bl get_wild_data_index_for_map
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x0000ffff
- cmp r5, r0
- bne _080B539C
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- movs r0, 0xB3
- lsls r0, 1
- cmp r1, r0
- bne _080B5330
- bl sub_81A7D00
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r7, r6
- beq _080B52D8
- bl DoGlobalWildEncounterDiceRoll
- lsls r0, 24
- cmp r0, 0
- bne _080B52D8
- b _080B54FE
-_080B52D8:
- ldr r1, =gUnknown_08553A14
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 2
- adds r1, 0x4
- adds r4, r0, r1
- ldr r0, [r4]
- ldrb r0, [r0]
- movs r1, 0
- bl DoWildEncounterRateTest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B52F8
- b _080B54FE
-_080B52F8:
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x2
- bl sub_80B4F4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B530C
- b _080B54FE
-_080B530C:
- movs r0, 0x1
- bl sub_81A7B90
- cmp r0, 0
- bne _080B5318
- b _080B54FE
-_080B5318:
- bl sub_80B06B0
- movs r0, 0x1
- b _080B5500
- .pool
-_080B5330:
- ldr r0, =0x00000169
- cmp r1, r0
- beq _080B5338
- b _080B54FE
-_080B5338:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r5, [r0]
- cmp r7, r6
- beq _080B5352
- bl DoGlobalWildEncounterDiceRoll
- lsls r0, 24
- cmp r0, 0
- bne _080B5352
- b _080B54FE
-_080B5352:
- ldr r1, =gUnknown_08553894
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 2
- adds r1, 0x4
- adds r4, r0, r1
- ldr r0, [r4]
- ldrb r0, [r0]
- movs r1, 0
- bl DoWildEncounterRateTest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B5372
- b _080B54FE
-_080B5372:
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x2
- bl sub_80B4F4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B5386
- b _080B54FE
-_080B5386:
- bl sub_81A9C04
- b _080B54F6
- .pool
-_080B539C:
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsLandWildEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B543C
- ldr r1, =gWildMonHeaders
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- adds r4, r2, 0
- cmp r0, 0
- bne _080B53C4
- b _080B54FE
-_080B53C4:
- cmp r7, r6
- beq _080B53D4
- bl DoGlobalWildEncounterDiceRoll
- lsls r0, 24
- cmp r0, 0
- bne _080B53D4
- b _080B54FE
-_080B53D4:
- ldr r1, =gWildMonHeaders
- adds r0, r4, r5
- lsls r0, 2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- movs r1, 0
- bl DoWildEncounterRateTest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B53F2
- b _080B54FE
-_080B53F2:
- bl TryStartRoamerEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B54BA
- bl DoMassOutbreakEncounterTest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B5418
- movs r0, 0x3
- bl SetUpMassOutbreakEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B54F6
-_080B5418:
- ldr r1, =gWildMonHeaders
- adds r0, r4, r5
- lsls r0, 2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x3
- bl sub_80B4F4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B54F6
- b _080B54FE
- .pool
-_080B543C:
- adds r0, r4, 0
- bl MetatileBehavior_IsWaterWildEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B5464
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080B54FE
- adds r0, r4, 0
- bl MetatileBehavior_IsBridge
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B54FE
-_080B5464:
- bl sub_80B5260
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B54FE
- ldr r1, =gWildMonHeaders
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 2
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- adds r4, r2, 0
- cmp r0, 0
- beq _080B54FE
- cmp r8, r9
- beq _080B5492
- bl DoGlobalWildEncounterDiceRoll
- lsls r0, 24
- cmp r0, 0
- beq _080B54FE
-_080B5492:
- ldr r1, =gWildMonHeaders
- adds r0, r4, r5
- lsls r0, 2
- adds r1, 0x8
- adds r4, r0, r1
- ldr r0, [r4]
- ldrb r0, [r0]
- movs r1, 0
- bl DoWildEncounterRateTest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B54FE
- bl TryStartRoamerEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B54E4
-_080B54BA:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000031dc
- adds r0, r1
- ldrb r0, [r0, 0xC]
- bl sub_80B58CC
- lsls r0, 24
- cmp r0, 0
- beq _080B54FE
- bl sub_80B072C
- movs r0, 0x1
- b _080B5500
- .pool
-_080B54E4:
- ldr r0, [r4]
- movs r1, 0x1
- movs r2, 0x3
- bl sub_80B4F4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B54FE
-_080B54F6:
- bl sub_80B0698
- movs r0, 0x1
- b _080B5500
-_080B54FE:
- movs r0, 0
-_080B5500:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end is_it_battle_time_2
-
- thumb_func_start rock_smash_wild_pokemon_encounter
-rock_smash_wild_pokemon_encounter: @ 80B550C
- push {r4,lr}
- bl get_wild_data_index_for_map
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _080B5568
- ldr r1, =gWildMonHeaders
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r1, 0xC
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _080B5554
- ldrb r0, [r4]
- movs r1, 0x1
- bl DoWildEncounterRateTest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B5568
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x3
- bl sub_80B4F4C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _080B5568
- bl sub_80B0698
-_080B5554:
- ldr r0, =gScriptResult
- strh r4, [r0]
- b _080B556E
- .pool
-_080B5568:
- ldr r1, =gScriptResult
- movs r0, 0
- strh r0, [r1]
-_080B556E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end rock_smash_wild_pokemon_encounter
-
- thumb_func_start SweetScentWildEncounter
-SweetScentWildEncounter: @ 80B5578
- push {r4,r5,lr}
- sub sp, 0x4
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- bl get_wild_data_index_for_map
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x0000ffff
- cmp r4, r0
- bne _080B562C
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- movs r0, 0xB3
- lsls r0, 1
- cmp r1, r0
- bne _080B55E4
- bl sub_81A7D00
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_08553A14
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80B4F4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B55CA
- b _080B56F2
-_080B55CA:
- movs r0, 0
- bl sub_81A7B90
- bl sub_80B06B0
- movs r0, 0x1
- b _080B56F4
- .pool
-_080B55E4:
- ldr r0, =0x00000169
- cmp r1, r0
- beq _080B55EC
- b _080B56F2
-_080B55EC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r4, [r0]
- ldr r1, =gUnknown_08553894
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80B4F4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B56F2
- bl sub_81A9C04
- b _080B56EA
- .pool
-_080B562C:
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsLandWildEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B568C
- ldr r1, =gWildMonHeaders
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r1, 0x4
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _080B56F2
- bl TryStartRoamerEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B56D4
- bl DoMassOutbreakEncounterTest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B5680
- movs r0, 0
- bl SetUpMassOutbreakEncounter
- b _080B56EA
- .pool
-_080B5680:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_80B4F4C
- b _080B56EA
-_080B568C:
- 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_IsWaterWildEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B56F2
- bl sub_80B5260
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B56F2
- ldr r1, =gWildMonHeaders
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r1, 0x8
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _080B56F2
- bl TryStartRoamerEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B56E0
-_080B56D4:
- bl sub_80B072C
- movs r0, 0x1
- b _080B56F4
- .pool
-_080B56E0:
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80B4F4C
-_080B56EA:
- bl sub_80B0698
- movs r0, 0x1
- b _080B56F4
-_080B56F2:
- movs r0, 0
-_080B56F4:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end SweetScentWildEncounter
-
- thumb_func_start GetFishingWildMonListHeader
-GetFishingWildMonListHeader: @ 80B56FC
- push {lr}
- bl get_wild_data_index_for_map
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _080B572C
- ldr r0, =gWildMonHeaders
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r0, 0x10
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _080B572C
- movs r0, 0x1
- b _080B572E
- .pool
-_080B572C:
- movs r0, 0
-_080B572E:
- pop {r1}
- bx r1
- thumb_func_end GetFishingWildMonListHeader
-
- thumb_func_start sub_80B5734
-sub_80B5734: @ 80B5734
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80B4984
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B5764
- ldr r4, =gUnknown_08553A78
- adds r0, r4, 0
- bl sub_80B4C74
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4, 0
- bl sub_80B4E68
- b _080B5784
- .pool
-_080B5764:
- ldr r4, =gWildMonHeaders
- bl get_wild_data_index_for_map
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r4, 0x10
- adds r1, r4
- ldr r0, [r1]
- adds r1, r5, 0
- bl sub_80B5024
- lsls r0, 16
- lsrs r4, r0, 16
-_080B5784:
- movs r0, 0xC
- bl IncrementGameStat
- adds r0, r4, 0
- bl sub_80EDA3C
- bl sub_80B0698
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B5734
-
- thumb_func_start wild_pokemon_rand_for_map
-wild_pokemon_rand_for_map: @ 80B57A0
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0
- strb r0, [r6]
- bl get_wild_data_index_for_map
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =0x0000ffff
- cmp r3, r0
- beq _080B57D2
- ldr r2, =gWildMonHeaders
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r0, r2, 0x4
- adds r0, r1, r0
- ldr r5, [r0]
- adds r2, 0x8
- adds r1, r2
- ldr r4, [r1]
- cmp r5, 0
- bne _080B57E0
- cmp r4, 0
- bne _080B57E6
-_080B57D2:
- movs r0, 0
- b _080B5826
- .pool
-_080B57E0:
- cmp r4, 0
- bne _080B57F4
- b _080B5818
-_080B57E6:
- movs r0, 0x1
- strb r0, [r6]
- bl wild_pokemon_rand_water
- lsls r0, 24
- ldr r1, [r4, 0x4]
- b _080B5820
-_080B57F4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4F
- bls _080B5818
- movs r0, 0x1
- strb r0, [r6]
- bl wild_pokemon_rand_water
- lsls r0, 24
- ldr r1, [r4, 0x4]
- b _080B5820
-_080B5818:
- bl wild_pokemon_rand_grass
- lsls r0, 24
- ldr r1, [r5, 0x4]
-_080B5820:
- lsrs r0, 22
- adds r0, r1
- ldrh r0, [r0, 0x2]
-_080B5826:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end wild_pokemon_rand_for_map
-
- thumb_func_start sub_80B582C
-sub_80B582C: @ 80B582C
- push {r4,lr}
- bl get_wild_data_index_for_map
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _080B5868
- ldr r1, =gWildMonHeaders
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r1, 0x8
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _080B5868
- bl wild_pokemon_rand_water
- lsls r0, 24
- ldr r1, [r4, 0x4]
- lsrs r0, 22
- adds r0, r1
- ldrh r0, [r0, 0x2]
- b _080B586A
- .pool
-_080B5868:
- movs r0, 0
-_080B586A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B582C
-
- thumb_func_start sub_80B5870
-sub_80B5870: @ 80B5870
- push {r4,r5,lr}
- bl InBattlePike
- lsls r0, 24
- cmp r0, 0
- bne _080B58C4
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B58C4
- bl InUnionRoom
- cmp r0, 0x1
- beq _080B58C4
- ldr r5, =0x00004021
- adds r0, r5, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080B58C4
- subs r4, r0, 0x1
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl VarSet
- cmp r4, 0
- bne _080B58C4
- ldr r0, =gUnknown_082A4B2A
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _080B58C6
- .pool
-_080B58C4:
- movs r0, 0
-_080B58C6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5870
-
- thumb_func_start sub_80B58CC
-sub_80B58CC: @ 80B58CC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =0x00004021
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080B5912
- movs r5, 0
-_080B58E0:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080B5920
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080B5920
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bcc _080B592A
-_080B5912:
- movs r0, 0x1
- b _080B592C
- .pool
-_080B5920:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080B58E0
-_080B592A:
- movs r0, 0
-_080B592C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B58CC
-
- thumb_func_start DoKeenEyeIntimidateWildEncounterTest
-@ _BOOL1 DoKeenEyeIntimidateWildEncounterTest(u8 wildMonLevel)
-DoKeenEyeIntimidateWildEncounterTest: @ 80B5934
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080B5988
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- beq _080B595A
- cmp r0, 0x16
- bne _080B5988
-_080B595A:
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _080B5988
- subs r0, 0x5
- cmp r5, r0
- bgt _080B5988
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B5988
- movs r0, 0
- b _080B598A
- .pool
-_080B5988:
- movs r0, 0x1
-_080B598A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end DoKeenEyeIntimidateWildEncounterTest
-
- thumb_func_start TryGetRandomWildMonIndexByType
-@ _BOOL1 TryGetRandomWildMonIndexByType(WildMonEntry *mons, u8 type, u8 numMons, u8 *monIndex)
-TryGetRandomWildMonIndexByType: @ 80B5990
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r7, sp
- mov r12, r0
- mov r8, r3
- lsls r1, 24
- lsrs r1, 24
- str r1, [r7]
- lsls r2, 24
- lsrs r2, 24
- mov r9, sp
- adds r0, r2, 0x3
- lsrs r0, 2
- lsls r0, 2
- mov r1, sp
- subs r1, r0
- mov sp, r1
- mov r5, sp
- movs r3, 0
- cmp r3, r2
- bcs _080B59D2
- movs r1, 0
-_080B59C4:
- adds r0, r5, r3
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r2
- bcc _080B59C4
-_080B59D2:
- movs r4, 0
- movs r3, 0
- cmp r4, r2
- bcs _080B5A12
- ldr r6, =gBaseStats
- mov r10, r6
-_080B59DE:
- lsls r0, r3, 2
- add r0, r12
- ldrh r1, [r0, 0x2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r6, r10
- adds r1, r0, r6
- ldrb r0, [r1, 0x6]
- ldr r6, [r7]
- cmp r0, r6
- beq _080B59FC
- ldrb r0, [r1, 0x7]
- cmp r0, r6
- bne _080B5A08
-_080B59FC:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r1, r5, r1
- strb r3, [r1]
-_080B5A08:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r2
- bcc _080B59DE
-_080B5A12:
- cmp r4, 0
- beq _080B5A1A
- cmp r4, r2
- bne _080B5A24
-_080B5A1A:
- movs r0, 0
- b _080B5A3C
- .pool
-_080B5A24:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- adds r0, r5, r0
- ldrb r0, [r0]
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x1
-_080B5A3C:
- mov sp, r9
- 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 TryGetRandomWildMonIndexByType
-
- thumb_func_start TryGetAbilityInfluencedWildMonIndex
-@ _BOOL1 TryGetAbilityInfluencedWildMonIndex(WildMonEntry *mons, u8 type, u8 abilityId, u8 *monIndex)
-TryGetAbilityInfluencedWildMonIndex: @ 80B5A50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- mov r8, r3
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080B5AA4
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- bne _080B5AA4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B5AA4
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0xC
- mov r3, r8
- bl TryGetRandomWildMonIndexByType
- lsls r0, 24
- lsrs r0, 24
- b _080B5AA6
- .pool
-_080B5AA4:
- movs r0, 0
-_080B5AA6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end TryGetAbilityInfluencedWildMonIndex
-
- thumb_func_start affects_encounter_rate_based_on_flags
-@ void affects_encounter_rate_based_on_flags(u32 *val)
-affects_encounter_rate_based_on_flags: @ 80B5AB0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x000008ad
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B5AD0
- ldr r0, [r4]
- lsrs r1, r0, 1
- adds r0, r1
- b _080B5AE2
- .pool
-_080B5AD0:
- ldr r0, =0x000008ae
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B5AE4
- ldr r0, [r4]
- lsrs r0, 1
-_080B5AE2:
- str r0, [r4]
-_080B5AE4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end affects_encounter_rate_based_on_flags
-
- thumb_func_start ApplyCleanseTagWildEncounterRateReduction
-ApplyCleanseTagWildEncounterRateReduction: @ 80B5AF0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerParty
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0xBE
- bne _080B5B0C
- ldr r0, [r4]
- lsls r0, 1
- movs r1, 0x3
- bl __udivsi3
- str r0, [r4]
-_080B5B0C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyCleanseTagWildEncounterRateReduction
-
- .align 2, 0 @ Don't pad with nop.