summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_1.s70
-rw-r--r--asm/battle_2.s508
-rw-r--r--asm/battle_3.s11164
-rw-r--r--asm/battle_4.s31160
-rw-r--r--asm/battle_5.s34
-rw-r--r--asm/battle_7.s24
-rw-r--r--asm/battle_9.s48
-rw-r--r--asm/battle_anim.s38
-rwxr-xr-xasm/battle_anim_80D51AC.s2
-rw-r--r--asm/battle_anim_80FE840.s242
-rwxr-xr-xasm/battle_anim_815A0D4.s66
-rw-r--r--asm/battle_anim_8170478.s28
-rw-r--r--asm/battle_controller_linkopponent.s4
-rw-r--r--asm/battle_controller_linkpartner.s4
-rw-r--r--asm/battle_controller_opponent.s18
-rw-r--r--asm/battle_controller_player.s74
-rw-r--r--asm/battle_controller_player_partner.s12
-rw-r--r--asm/battle_controller_recorded_opponent.s4
-rw-r--r--asm/battle_controller_recorded_player.s4
-rw-r--r--asm/battle_controller_safari.s20
-rw-r--r--asm/battle_controller_wally.s20
-rw-r--r--asm/battle_dome_cards.s1281
-rwxr-xr-xasm/battle_frontier_1.s180
-rwxr-xr-xasm/battle_frontier_2.s308
-rwxr-xr-xasm/battle_interface.s20
-rw-r--r--asm/battle_link_817C95C.s16
-rw-r--r--asm/battle_message.s234
-rw-r--r--asm/battle_records.s6
-rw-r--r--asm/battle_setup.s12
-rw-r--r--asm/battle_transition.s4
-rw-r--r--asm/berry_blender.s6
-rwxr-xr-xasm/berry_fix_program.s584
-rw-r--r--asm/berry_tag_screen.s10
-rw-r--r--asm/bike.s92
-rw-r--r--asm/braille_puzzles.s4
-rw-r--r--asm/cable_car.s26
-rw-r--r--asm/cable_club.s2
-rw-r--r--asm/clear_save_data_screen.s4
-rw-r--r--asm/contest.s72
-rw-r--r--asm/contest_link_80F57C4.s38
-rw-r--r--asm/crt0.s56
-rw-r--r--asm/daycare.s42
-rw-r--r--asm/decoration.s78
-rw-r--r--asm/diploma.s6
-rw-r--r--asm/easy_chat.s36
-rw-r--r--asm/egg_hatch.s1801
-rw-r--r--asm/evolution_scene.s232
-rw-r--r--asm/field_camera.s2
-rw-r--r--asm/field_control_avatar.s104
-rw-r--r--asm/field_door.s8
-rw-r--r--asm/field_effect.s174
-rw-r--r--asm/field_effect_helpers.s68
-rw-r--r--asm/field_ground_effect.s24
-rw-r--r--asm/field_map_obj.s20270
-rw-r--r--asm/field_player_avatar.s180
-rw-r--r--asm/field_poison.s2
-rw-r--r--asm/field_region_map.s2
-rw-r--r--asm/field_screen.s26
-rw-r--r--asm/field_tasks.s34
-rw-r--r--asm/fieldmap.s14
-rw-r--r--asm/fldeff_80F9BCC.s64
-rwxr-xr-xasm/fldeff_cut.s16
-rw-r--r--asm/fldeff_emotion.s4
-rwxr-xr-xasm/fldeff_groundshake.s2
-rwxr-xr-xasm/fldeff_softboiled.s4
-rw-r--r--asm/fldeff_strength.s4
-rw-r--r--asm/fldeff_sweetscent.s4
-rw-r--r--asm/fldeff_teleport.s2
-rw-r--r--asm/intro.s18
-rwxr-xr-xasm/item_menu.s28
-rw-r--r--asm/item_use.s12
-rwxr-xr-xasm/learn_move.s22
-rw-r--r--asm/librfu.s4
-rw-r--r--asm/lilycove_lady.s1931
-rw-r--r--asm/link.s258
-rw-r--r--asm/macros.inc31
-rw-r--r--asm/macros/window.inc4
-rw-r--r--asm/mail.s4
-rw-r--r--asm/main_menu.s10
-rw-r--r--asm/map_obj_8097404.s26
-rw-r--r--asm/map_obj_lock.s2
-rw-r--r--asm/mauville_old_man.s6
-rwxr-xr-xasm/menu.s12
-rw-r--r--asm/metatile_behavior.s2610
-rw-r--r--asm/money.s311
-rw-r--r--asm/mystery_event_menu.s12
-rw-r--r--asm/mystery_event_script.s2
-rw-r--r--asm/naming_screen.s24
-rw-r--r--asm/option_menu.s30
-rwxr-xr-xasm/party_menu.s212
-rw-r--r--asm/player_pc.s34
-rwxr-xr-xasm/pokeball.s14
-rw-r--r--asm/pokeblock_feed.s6
-rw-r--r--asm/pokedex.s6
-rw-r--r--asm/pokemon_2.s356
-rwxr-xr-xasm/pokemon_icon.s16
-rw-r--r--asm/pokemon_item_effect.s4
-rwxr-xr-xasm/pokemon_storage_system.s32
-rwxr-xr-xasm/pokemon_summary_screen.s92
-rwxr-xr-xasm/pokenav.s80
-rw-r--r--asm/porthole.s282
-rw-r--r--asm/record_mixing.s4
-rw-r--r--asm/recorded_battle.s12
-rw-r--r--asm/region_map.s8
-rw-r--r--asm/reset_rtc_screen.s22
-rw-r--r--asm/reset_save_heap.s64
-rw-r--r--asm/reshow_battle_screen.s24
-rw-r--r--asm/roamer.s502
-rw-r--r--asm/rom3.s176
-rw-r--r--asm/rom4.s64
-rw-r--r--asm/rom6.s84
-rw-r--r--asm/rom_80A5C6C.s24
-rw-r--r--asm/roulette.s2
-rw-r--r--asm/save.s164
-rw-r--r--asm/save_failed_screen.s16
-rw-r--r--asm/scrcmd.s12
-rw-r--r--asm/script_menu.s28
-rw-r--r--asm/secret_base.s32
-rw-r--r--asm/shop.s50
-rw-r--r--asm/slot_machine.s10
-rw-r--r--asm/start_menu.s8
-rw-r--r--asm/tileset.s1793
-rw-r--r--asm/title_screen.s18
-rw-r--r--asm/trade.s22
-rw-r--r--asm/trader.s10
-rw-r--r--asm/trainer_card.s58
-rw-r--r--asm/trainer_see.s10
-rw-r--r--asm/truck_scene.s589
-rw-r--r--asm/tv.s98
-rwxr-xr-xasm/unk_text_util_2.s583
-rw-r--r--asm/unknown_task.s10
-rwxr-xr-xasm/use_pokeblock.s10
-rwxr-xr-xasm/walda_phrase.s6
-rw-r--r--asm/wallclock.s6
-rw-r--r--asm/wild_encounter.s12
135 files changed, 2681 insertions, 78043 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
index 8b0c99138..636bafbea 100644
--- a/asm/battle_1.s
+++ b/asm/battle_1.s
@@ -1548,7 +1548,7 @@ _080358E0:
.4byte _08035A70
_08035904:
ldr r4, =gUnknown_0831ABA8
- ldr r5, =gUnknown_02022FF0
+ ldr r5, =gBattleTerrain
ldrb r1, [r5]
lsls r0, r1, 2
adds r0, r1
@@ -1886,9 +1886,9 @@ sub_8035C4C: @ 8035C4C
ldrb r2, [r0]
cmp r2, 0x3
bne _08035C68
- ldr r0, =gUnknown_085CCBAD
+ ldr r0, =gText_Draw
movs r1, 0x15
- bl battle_show_message_maybe
+ bl sub_814F9EC
b _08035D68
.pool
_08035C68:
@@ -1962,12 +1962,12 @@ _08035CE2:
cmp r0, 0
beq _08035D36
_08035CFC:
- ldr r0, =gUnknown_085CCB9E
+ ldr r0, =gText_Win
movs r1, 0x17
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCBA5
+ bl sub_814F9EC
+ ldr r0, =gText_Loss
movs r1, 0x16
- bl battle_show_message_maybe
+ bl sub_814F9EC
b _08035D68
.pool
_08035D20:
@@ -1983,21 +1983,21 @@ _08035D20:
cmp r0, 0
beq _08035D58
_08035D36:
- ldr r0, =gUnknown_085CCB9E
+ ldr r0, =gText_Win
movs r1, 0x16
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCBA5
+ bl sub_814F9EC
+ ldr r0, =gText_Loss
movs r1, 0x17
- bl battle_show_message_maybe
+ bl sub_814F9EC
b _08035D68
.pool
_08035D58:
- ldr r0, =gUnknown_085CCB9E
+ ldr r0, =gText_Win
movs r1, 0x17
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCBA5
+ bl sub_814F9EC
+ ldr r0, =gText_Loss
movs r1, 0x16
- bl battle_show_message_maybe
+ bl sub_814F9EC
_08035D68:
pop {r0}
bx r0
@@ -2068,14 +2068,14 @@ _08035DDC:
_08035DE6:
adds r0, r1, 0
movs r1, 0x11
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x4
b _08035E14
_08035DF4:
adds r0, r1, 0
movs r1, 0x12
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x4
str r0, [sp]
@@ -2085,7 +2085,7 @@ _08035DF4:
_08035E08:
adds r0, r1, 0
movs r1, 0x13
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x8
_08035E14:
@@ -2099,7 +2099,7 @@ _08035E1A:
_08035E22:
adds r0, r1, 0
movs r1, 0x14
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldrb r1, [r4, 0x18]
movs r0, 0x8
str r0, [sp]
@@ -2139,14 +2139,14 @@ _08035E66:
adds r1, r0, r4
adds r0, r1, 0
movs r1, 0xF
- bl battle_show_message_maybe
+ bl sub_814F9EC
lsls r0, r6, 3
subs r0, r6
lsls r0, 2
adds r1, r0, r4
adds r0, r1, 0
movs r1, 0x10
- bl battle_show_message_maybe
+ bl sub_814F9EC
movs r4, 0x7
str r4, [sp]
adds r0, r7, 0
@@ -2236,7 +2236,7 @@ _08035F64:
ldrsh r0, [r5, r1]
cmp r0, 0
beq _08035FCC
- ldr r4, =gUnknown_02022E18
+ ldr r4, =gBattle_BG1_X
ldrh r0, [r5, 0xA]
bl Sin2
lsls r0, 16
@@ -2251,7 +2251,7 @@ _08035F7E:
adds r0, r2, 0
subs r0, r1
strh r0, [r4]
- ldr r4, =gUnknown_02022E1C
+ ldr r4, =gBattle_BG2_X
ldrh r0, [r5, 0xC]
bl Sin2
lsls r0, 16
@@ -2266,16 +2266,16 @@ _08035F9C:
adds r0, r3, 0
subs r0, r1
strh r0, [r4]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldr r2, =0x0000ffdc
adds r1, r2, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
b _08036038
.pool
_08035FCC:
- ldr r4, =gUnknown_02022E18
+ ldr r4, =gBattle_BG1_X
ldrh r0, [r5, 0xA]
bl Sin2
lsls r0, 16
@@ -2290,7 +2290,7 @@ _08035FDE:
adds r0, r3, 0
subs r0, r1
strh r0, [r4]
- ldr r4, =gUnknown_02022E1A
+ ldr r4, =gBattle_BG1_Y
ldrh r0, [r5, 0xA]
bl Cos2
lsls r0, 16
@@ -2302,7 +2302,7 @@ _08035FFC:
asrs r0, 5
subs r0, 0xA4
strh r0, [r4]
- ldr r4, =gUnknown_02022E1C
+ ldr r4, =gBattle_BG2_X
ldrh r0, [r5, 0xC]
bl Sin2
lsls r0, 16
@@ -2317,7 +2317,7 @@ _08036014:
adds r0, r2, 0
subs r0, r1
strh r0, [r4]
- ldr r4, =gUnknown_02022E1E
+ ldr r4, =gBattle_BG2_Y
ldrh r0, [r5, 0xC]
bl Cos2
lsls r0, 16
@@ -2504,11 +2504,11 @@ sub_8036154: @ 8036154
movs r0, 0x4A
movs r1, 0x36
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldr r2, =0x0000ff5c
adds r1, r2, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
ldr r0, =gUnknown_0831AA00
bl LoadCompressedObjectPicUsingHeap
@@ -2633,7 +2633,7 @@ _08036350:
cmp r0, 0
bne _0803639C
ldr r4, =gUnknown_0831ABA8
- ldr r5, =gUnknown_02022FF0
+ ldr r5, =gBattleTerrain
ldrb r1, [r5]
lsls r0, r1, 2
adds r0, r1
@@ -2779,7 +2779,7 @@ _080364A8:
.4byte _08036518
_080364CC:
ldr r2, =gUnknown_0831ABA8
- ldr r0, =gUnknown_02022FF0
+ ldr r0, =gBattleTerrain
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
@@ -2889,7 +2889,7 @@ _080365B4:
.4byte _08036624
_080365D8:
ldr r2, =gUnknown_0831ABA8
- ldr r0, =gUnknown_02022FF0
+ ldr r0, =gBattleTerrain
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
@@ -3004,7 +3004,7 @@ _080366C8:
.4byte _08036740
_080366EC:
ldr r2, =gUnknown_0831ABA8
- ldr r0, =gUnknown_02022FF0
+ ldr r0, =gBattleTerrain
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
diff --git a/asm/battle_2.s b/asm/battle_2.s
index dd3e6d38c..996579313 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -157,20 +157,20 @@ _080368BE:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
strh r1, [r0]
ldr r0, =gUnknown_02022E22
strh r1, [r0]
bl sub_80B0BD0
- ldr r2, =gUnknown_02022FF0
+ ldr r2, =gBattleTerrain
strb r0, [r2]
ldr r4, =gBattleTypeFlags
ldr r0, [r4]
@@ -191,7 +191,7 @@ _080368FE:
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x4
strb r0, [r1]
- ldr r0, =vblank_cb_08078BB4
+ ldr r0, =VBlankCB_Battle
bl SetVBlankCallback
bl sub_803269C
ldr r2, [r4]
@@ -1399,7 +1399,7 @@ _080373E0:
str r0, [r2]
ldr r0, =sub_8039EF0
str r0, [r1]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
bl SetMainCallback2
ldr r2, =gBattleTypeFlags
ldr r1, [r2]
@@ -1999,7 +1999,7 @@ _080379A0:
str r0, [r2]
ldr r0, =sub_8039EF0
str r0, [r1]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
bl SetMainCallback2
ldr r2, =gBattleTypeFlags
ldr r1, [r2]
@@ -3130,7 +3130,7 @@ _080383BC:
str r0, [r2]
ldr r0, =sub_8039EF0
str r0, [r1]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
bl SetMainCallback2
ldr r3, =gBattleTypeFlags
ldr r2, [r3]
@@ -3156,8 +3156,8 @@ _080383F8:
.pool
thumb_func_end sub_8037DF4
- thumb_func_start sub_8038420
-sub_8038420: @ 8038420
+ thumb_func_start BattleMainCB2
+BattleMainCB2: @ 8038420
push {lr}
sub sp, 0x4
bl AnimateSprites
@@ -3203,7 +3203,7 @@ _08038482:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8038420
+ thumb_func_end BattleMainCB2
thumb_func_start sub_803849C
sub_803849C: @ 803849C
@@ -3906,8 +3906,8 @@ _08038A1E:
.pool
thumb_func_end sub_8038A04
- thumb_func_start vblank_cb_08078BB4
-vblank_cb_08078BB4: @ 8038A28
+ thumb_func_start VBlankCB_Battle
+VBlankCB_Battle: @ 8038A28
push {lr}
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -3925,23 +3925,23 @@ _08038A3A:
ldrh r1, [r0]
movs r0, 0x12
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r1, [r0]
movs r0, 0x18
bl SetGpuReg
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r1, [r0]
movs r0, 0x1A
bl SetGpuReg
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r1, [r0]
movs r0, 0x1C
bl SetGpuReg
@@ -3972,7 +3972,7 @@ _08038A3A:
pop {r0}
bx r0
.pool
- thumb_func_end vblank_cb_08078BB4
+ thumb_func_end VBlankCB_Battle
thumb_func_start nullsub_17
nullsub_17: @ 8038B00
@@ -4371,15 +4371,15 @@ _08038E1A:
strh r4, [r0]
ldr r0, =gUnknown_02022E16
strh r4, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r4, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r4, [r0]
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
strh r4, [r0]
ldr r0, =gUnknown_02022E22
strh r4, [r0]
@@ -4399,7 +4399,7 @@ _08038E1A:
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x4
strb r0, [r1]
- ldr r0, =vblank_cb_08078BB4
+ ldr r0, =VBlankCB_Battle
bl SetVBlankCallback
ldr r0, =task00_0800F6FC
movs r1, 0
@@ -4662,7 +4662,7 @@ _0803912C:
bl sub_800ADF8
ldr r0, =gUnknown_0824978D
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
b _08039172
.pool
_0803914C:
@@ -4842,15 +4842,15 @@ sub_80392A8: @ 80392A8
strh r4, [r0]
ldr r0, =gUnknown_02022E16
strh r4, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r4, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r4, [r0]
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
strh r4, [r0]
ldr r0, =gUnknown_02022E22
strh r4, [r0]
@@ -4873,7 +4873,7 @@ _080392FE:
ldr r1, =gReservedSpritePaletteCount
movs r0, 0x4
strb r0, [r1]
- ldr r0, =vblank_cb_08078BB4
+ ldr r0, =VBlankCB_Battle
bl SetVBlankCallback
ldr r0, =sub_803937C
bl SetMainCallback2
@@ -4995,9 +4995,9 @@ _08039470:
beq _0803947E
b _0803975E
_0803947E:
- ldr r0, =gUnknown_085CD28F
+ ldr r0, =gText_RecordBattleToPass
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleCommunication
ldrb r0, [r1]
adds r0, 0x1
@@ -5018,13 +5018,13 @@ _080394AC:
movs r2, 0x1D
movs r3, 0xD
bl sub_8056A3C
- ldr r0, =gUnknown_085CCABB
+ ldr r0, =gText_BattleYesNoChoice
movs r1, 0xC
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r4, =gBattleCommunication
movs r0, 0x1
strb r0, [r4, 0x1]
- bl sub_8056B74
+ bl BattleCreateCursorAt
b _080396EA
.pool
_080394D8:
@@ -5042,7 +5042,7 @@ _080394EC:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
- bl sub_8056BAC
+ bl BattleDestroyCursorAt
movs r0, 0
b _0803951E
.pool
@@ -5059,11 +5059,11 @@ _08039510:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
- bl sub_8056BAC
+ bl BattleDestroyCursorAt
movs r0, 0x1
_0803951E:
strb r0, [r4, 0x1]
- bl sub_8056B74
+ bl BattleCreateCursorAt
b _0803975E
_08039526:
movs r5, 0x1
@@ -5130,7 +5130,7 @@ _0803958A:
bl sub_800ADF8
ldr r0, =gUnknown_0824978D
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
_080395B4:
ldr r1, =gBattleCommunication
ldrb r0, [r1]
@@ -5213,12 +5213,12 @@ _08039678:
bne _080396A0
movs r0, 0x37
bl PlaySE
- ldr r0, =gUnknown_085CD2CB
+ ldr r0, =gText_BattleRecordedOnPass
_08039686:
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
movs r0, 0x80
strb r0, [r4, 0x1]
b _080396EA
@@ -5256,7 +5256,7 @@ _080396A8:
bl sub_800ADF8
ldr r0, =gUnknown_0824978D
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
_080396EA:
ldrb r0, [r4]
adds r0, 0x1
@@ -6357,8 +6357,8 @@ sub_8039F40: @ 8039F40
mov r12, r1
ldr r5, =gDisableStructs
movs r4, 0
- ldr r7, =gUnknown_02024240
- ldr r6, =gUnknown_02024268
+ ldr r7, =gUnknownMovesUsedByBanks
+ ldr r6, =gLockedMoves
_08039F70:
ldr r0, =gStatuses3
adds r0, r4, r0
@@ -6434,7 +6434,7 @@ _08039FDC:
strb r1, [r0]
ldr r2, =gBattleWeather
strh r1, [r2]
- ldr r1, =gUnknown_020243D0
+ ldr r1, =gWishFutureKnock
movs r2, 0
movs r3, 0
_0803A004:
@@ -6492,13 +6492,13 @@ _0803A0AE:
lsrs r0, 31
movs r1, 0
strb r0, [r3, 0x1D]
- ldr r0, =gUnknown_02024212
+ ldr r0, =gMultiHitCounter
strb r1, [r0]
ldr r0, =gBattleOutcome
strb r1, [r0]
ldr r0, =gBattleExecBuffer
str r1, [r0]
- ldr r0, =gUnknown_0202432E
+ ldr r0, =gPaydayMoney
movs r2, 0
strh r1, [r0]
ldr r1, =gBattleResources
@@ -6510,10 +6510,10 @@ _0803A0AE:
ldr r0, [r0, 0xC]
adds r0, 0x20
strb r2, [r0]
- ldr r5, =gUnknown_0202432C
+ ldr r5, =gPauseCounterBattle
ldr r6, =gBattleMoveDamage
ldr r7, =gUnknown_020243FC
- ldr r0, =gUnknown_03005D54
+ ldr r0, =gLeveledUpInBattle
mov r8, r0
ldr r1, =gAbsentBankFlags
mov r9, r1
@@ -6678,8 +6678,8 @@ _0803A1E4:
.pool
thumb_func_end sub_8039F40
- thumb_func_start sub_803A284
-sub_803A284: @ 803A284
+ thumb_func_start SwitchInClearStructs
+SwitchInClearStructs: @ 803A284
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -7073,7 +7073,7 @@ _0803A540:
mov r1, r9
ldrb r0, [r1]
lsls r0, 1
- ldr r3, =gUnknown_02024240
+ ldr r3, =gUnknownMovesUsedByBanks
adds r0, r3
strh r4, [r0]
ldrb r0, [r1]
@@ -7254,10 +7254,10 @@ _0803A6B4:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803A284
+ thumb_func_end SwitchInClearStructs
- thumb_func_start sub_803A75C
-sub_803A75C: @ 803A75C
+ thumb_func_start UndoEffectsAfterFainting
+UndoEffectsAfterFainting: @ 803A75C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -7584,7 +7584,7 @@ _0803A852:
strh r2, [r0]
ldrb r0, [r1]
lsls r0, 1
- ldr r1, =gUnknown_02024240
+ ldr r1, =gUnknownMovesUsedByBanks
adds r0, r1
strh r2, [r0]
ldr r2, =gActiveBank
@@ -7786,7 +7786,7 @@ _0803AB6C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803A75C
+ thumb_func_end UndoEffectsAfterFainting
thumb_func_start bc_8012FAC
bc_8012FAC: @ 803ABC0
@@ -7806,9 +7806,9 @@ _0803ABD4:
movs r0, 0
movs r1, 0
movs r2, 0
- bl dp01_build_cmdbuf_x00_a_b_0
+ bl EmitGetMonData
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
@@ -7849,15 +7849,15 @@ bc_load_battlefield: @ 803AC34
cmp r5, 0
bne _0803AC64
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r4, =gActiveBank
strb r0, [r4]
- ldr r0, =gUnknown_02022FF0
+ ldr r0, =gBattleTerrain
ldrb r1, [r0]
movs r0, 0
bl dp01_build_cmdbuf_x2E_a
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
ldr r1, =gBattleMainFunc
ldr r0, =sub_803AC84
str r0, [r1]
@@ -8040,7 +8040,7 @@ _0803ADCA:
movs r0, 0
bl dp01_build_cmdbuf_x07_7_7_7
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803ADE4:
ldr r5, =gBattleTypeFlags
ldr r0, [r5]
@@ -8057,7 +8057,7 @@ _0803ADE4:
movs r0, 0
bl dp01_build_cmdbuf_x07_7_7_7
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803AE0A:
ldrb r0, [r4]
bl GetBankSide
@@ -8114,7 +8114,7 @@ _0803AE96:
movs r0, 0
bl dp01_build_cmdbuf_x04_4_4_4
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
ldr r1, =gBattlePartyID
ldrb r0, [r4]
lsls r0, 1
@@ -8153,7 +8153,7 @@ _0803AEEA:
movs r0, 0
bl dp01_build_cmdbuf_x07_7_7_7
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803AEF6:
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -8172,7 +8172,7 @@ _0803AEF6:
movs r0, 0
bl dp01_build_cmdbuf_x07_7_7_7
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803AF20:
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -8274,15 +8274,15 @@ _0803AFFA:
cmp r7, 0x5
ble _0803AFAA
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r4, =gActiveBank
strb r0, [r4]
movs r0, 0
mov r1, sp
movs r2, 0x80
- bl dp01_build_cmdbuf_x30_TODO
+ bl EmitCmd48
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
movs r7, 0
mov r6, r8
mov r5, sp
@@ -8326,15 +8326,15 @@ _0803B072:
cmp r7, 0x5
ble _0803B026
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r4, =gActiveBank
strb r0, [r4]
movs r0, 0
mov r1, sp
movs r2, 0x80
- bl dp01_build_cmdbuf_x30_TODO
+ bl EmitCmd48
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
ldr r1, =gBattleMainFunc
ldr r0, =bc_battle_begin_message
b _0803B10A
@@ -8404,12 +8404,12 @@ bc_battle_begin_message: @ 803B120
cmp r0, 0
bne _0803B142
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gActiveBank
strb r0, [r1]
ldrb r1, [r1]
movs r0, 0
- bl b_std_message
+ bl PrepareStringBattle
ldr r1, =gBattleMainFunc
ldr r0, =sub_803B180
str r0, [r1]
@@ -8431,7 +8431,7 @@ bc_8013568: @ 803B158
str r0, [r1]
movs r0, 0
movs r1, 0
- bl b_std_message
+ bl PrepareStringBattle
_0803B170:
pop {r0}
bx r0
@@ -8468,12 +8468,12 @@ sub_803B180: @ 803B180
_0803B1B8:
movs r0, 0x1
_0803B1BA:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
movs r0, 0x1
- bl b_std_message
+ bl PrepareStringBattle
ldr r1, =gBattleMainFunc
ldr r0, =sub_803B25C
str r0, [r1]
@@ -8522,7 +8522,7 @@ _0803B20E:
movs r0, 0
bl dp01_build_cmdbuf_x2F_2F_2F_2F
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803B228:
ldrb r0, [r4]
adds r0, 0x1
@@ -8596,7 +8596,7 @@ _0803B2B2:
movs r0, 0
bl dp01_build_cmdbuf_x2F_2F_2F_2F
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
ldr r1, =0x00008040
@@ -8738,12 +8738,12 @@ _0803B3F6:
cmp r0, 0
bne _0803B412
adds r0, r3, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
movs r0, 0x1
- bl b_std_message
+ bl PrepareStringBattle
_0803B412:
ldr r1, =gBattleMainFunc
ldr r0, =sub_803B4C8
@@ -8793,7 +8793,7 @@ _0803B45E:
movs r0, 0
bl dp01_build_cmdbuf_x2F_2F_2F_2F
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803B478:
ldrb r0, [r4]
adds r0, 0x1
@@ -8877,7 +8877,7 @@ _0803B51A:
movs r0, 0
bl dp01_build_cmdbuf_x2F_2F_2F_2F
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x40
@@ -8947,9 +8947,9 @@ _0803B5B2:
ldrb r1, [r0]
movs r0, 0
movs r2, 0
- bl dp01_build_cmdbuf_x05_a_b_c
+ bl EmitSwitchInAnim
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803B5D4:
ldrb r0, [r4]
adds r0, 0x1
@@ -9177,7 +9177,7 @@ _0803B79A:
ldrb r1, [r0]
movs r0, 0
movs r2, 0
- bl berry_effects_maybe
+ bl ItemBattleEffects
lsls r0, 24
cmp r0, 0
beq _0803B7BC
@@ -9207,8 +9207,8 @@ _0803B7DA:
ldr r1, =gBattleStruct
mov r8, r1
movs r7, 0x6
- ldr r6, =gUnknown_0202421C
- ldr r2, =gUnknown_02024274
+ ldr r6, =gActionForBanks
+ ldr r2, =gChosenMovesByBanks
movs r4, 0xFF
movs r3, 0
_0803B7EA:
@@ -9235,13 +9235,13 @@ _0803B7EA:
ldr r1, =gAbsentBankFlags
ldrb r1, [r1]
strb r1, [r0]
- ldr r0, =gUnknown_085CC23E
+ ldr r0, =gText_EmptyString3
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleMainFunc
ldr r0, =sub_803BE74
str r0, [r1]
- bl sub_803F988
+ bl ResetSentPokesToOpponentValue
ldr r1, =gBattleCommunication
movs r2, 0
adds r0, r1, 0x7
@@ -9307,7 +9307,7 @@ _0803B866:
beq _0803B8B2
bl StopCryAndClearCrySongs
ldr r0, =gUnknown_082DB8BE
- bl b_call_bc_move_exec
+ bl BattleScriptExecute
_0803B8B2:
add sp, 0x4
pop {r3-r5}
@@ -9328,7 +9328,7 @@ bc_8013B1C: @ 803B904
cmp r0, 0
bne _0803B994
ldr r1, =gBattleMainFunc
- ldr r0, =sub_803B9BC
+ ldr r0, =BattleTurnPassed
str r0, [r1]
ldr r3, =gNoOfAllBanks
ldr r1, =gBattleCommunication
@@ -9404,8 +9404,8 @@ _0803B994:
.pool
thumb_func_end bc_8013B1C
- thumb_func_start sub_803B9BC
-sub_803B9BC: @ 803B9BC
+ thumb_func_start BattleTurnPassed
+BattleTurnPassed: @ 803B9BC
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -9416,13 +9416,13 @@ sub_803B9BC: @ 803B9BC
ldrb r0, [r0]
cmp r0, 0
bne _0803B9EA
- bl sub_80401D0
+ bl UpdateTurnCounters
lsls r0, 24
cmp r0, 0
beq _0803B9DE
b _0803BB78
_0803B9DE:
- bl sub_8040924
+ bl TurnBasedEffects
lsls r0, 24
cmp r0, 0
beq _0803B9EA
@@ -9506,15 +9506,15 @@ _0803BAB2:
ldr r4, =gNoOfAllBanks
ldr r0, =gAbsentBankFlags
mov r12, r0
- ldr r1, =gUnknown_085CC23E
+ ldr r1, =gText_EmptyString3
mov r9, r1
ldrb r0, [r4]
cmp r2, r0
bge _0803BAE0
- ldr r7, =gUnknown_0202421C
+ ldr r7, =gActionForBanks
movs r6, 0xFF
movs r5, 0
- ldr r3, =gUnknown_02024274
+ ldr r3, =gChosenMovesByBanks
_0803BACC:
adds r1, r2, r7
ldrb r0, [r1]
@@ -9546,7 +9546,7 @@ _0803BAE6:
strb r1, [r0]
mov r0, r9
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleMainFunc
ldr r0, =sub_803BE74
str r0, [r1]
@@ -9561,7 +9561,7 @@ _0803BAE6:
cmp r0, 0
beq _0803BB5C
ldr r0, =gUnknown_082DB881
- bl b_call_bc_move_exec
+ bl BattleScriptExecute
b _0803BB78
.pool
_0803BB5C:
@@ -9577,7 +9577,7 @@ _0803BB5C:
cmp r0, 0
bne _0803BB78
ldr r0, =gUnknown_082DB8BE
- bl b_call_bc_move_exec
+ bl BattleScriptExecute
_0803BB78:
pop {r3,r4}
mov r8, r3
@@ -9586,10 +9586,10 @@ _0803BB78:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803B9BC
+ thumb_func_end BattleTurnPassed
- thumb_func_start sub_803BB88
-sub_803BB88: @ 803BB88
+ thumb_func_start IsRunningFromBattleImpossible
+IsRunningFromBattleImpossible: @ 803BB88
push {r4-r7,lr}
sub sp, 0x4
ldr r1, =gBattleMons
@@ -9830,7 +9830,7 @@ _0803BD92:
pop {r1}
bx r1
.pool
- thumb_func_end sub_803BB88
+ thumb_func_end IsRunningFromBattleImpossible
thumb_func_start sub_803BDA0
sub_803BDA0: @ 803BDA0
@@ -10013,7 +10013,7 @@ _0803BF0C:
beq _0803BF68
eors r5, r1
adds r0, r5, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, [r4]
adds r1, 0x91
ldrb r1, [r1]
@@ -10027,7 +10027,7 @@ _0803BF0C:
bne _0803BF68
ldr r4, =gBattleCommunication
adds r0, r5, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -10049,7 +10049,7 @@ _0803BF68:
ands r3, r0
cmp r3, 0
beq _0803BFD0
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
adds r0, r2, r0
movs r1, 0xD
strb r1, [r0]
@@ -10092,7 +10092,7 @@ _0803BFD0:
cmp r1, 0
beq _0803C00C
_0803BFF0:
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
adds r0, r2, r0
strb r3, [r0]
ldr r1, =gBattleCommunication
@@ -10100,7 +10100,7 @@ _0803BFF0:
bl _0803CC72
.pool
_0803C00C:
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
ldrb r1, [r0]
ldr r0, =gBattleBufferB
ldrb r2, [r0, 0x1]
@@ -10140,8 +10140,8 @@ _0803C058:
adds r0, r4
ldrb r1, [r0]
adds r0, r5, 0
- bl sub_8184FBC
- ldr r1, =gUnknown_0202421C
+ bl RecordedBattle_SetBankAction
+ ldr r1, =gActionForBanks
ldrb r0, [r6]
adds r1, r0, r1
lsls r0, 9
@@ -10178,7 +10178,7 @@ _0803C0A8:
.4byte _0803C6C4
.4byte _0803C4B4
_0803C0DC:
- bl sub_80400C8
+ bl AreAllMovesUnusable
lsls r0, 24
cmp r0, 0
beq _0803C134
@@ -10223,7 +10223,7 @@ _0803C134:
ldrh r2, [r0, 0x6]
cmp r2, 0
beq _0803C188
- ldr r1, =gUnknown_02024274
+ ldr r1, =gChosenMovesByBanks
lsls r0, r4, 1
adds r0, r1
strh r2, [r0]
@@ -10488,7 +10488,7 @@ _0803C374:
str r0, [sp]
movs r0, 0
movs r2, 0x6
- bl dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
+ bl EmitChoosePokemon
b _0803C42E
.pool
_0803C3B0:
@@ -10497,7 +10497,7 @@ _0803C3B0:
adds r4, r0, 0
cmp r1, 0x2
bne _0803C3D8
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
ldrb r0, [r0]
cmp r0, 0x2
bne _0803C3D8
@@ -10511,7 +10511,7 @@ _0803C3D8:
ldrb r0, [r4]
cmp r0, 0x3
bne _0803C410
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
ldrb r0, [r0, 0x1]
cmp r0, 0x2
bne _0803C410
@@ -10531,7 +10531,7 @@ _0803C3EE:
movs r1, 0
_0803C400:
movs r3, 0
- bl dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
+ bl EmitChoosePokemon
b _0803C42E
.pool
_0803C410:
@@ -10548,11 +10548,11 @@ _0803C410:
movs r1, 0
movs r2, 0x6
movs r3, 0
- bl dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
+ bl EmitChoosePokemon
_0803C42E:
ldr r0, =gActiveBank
ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
b _0803C6C4
.pool
_0803C440:
@@ -10596,7 +10596,7 @@ _0803C48C:
movs r0, 0
bl sub_8033E6C
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
b _0803C6C4
.pool
_0803C4B4:
@@ -10612,7 +10612,7 @@ _0803C4B4:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -10625,7 +10625,7 @@ _0803C4B4:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattleMons
lsls r0, 24
lsrs r0, 24
@@ -10645,7 +10645,7 @@ _0803C4B4:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
muls r0, r7
@@ -10660,17 +10660,17 @@ _0803C532:
movs r0, 0
bl dp01_build_cmdbuf_x32_32_32_32
ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
bl _0803CD70
.pool
_0803C550:
- ldr r4, =gUnknown_0202421C
+ ldr r4, =gActionForBanks
ldrb r0, [r5]
bl GetBankIdentity
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -10682,7 +10682,7 @@ _0803C550:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
@@ -10695,7 +10695,7 @@ _0803C590:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -10712,7 +10712,7 @@ _0803C5B6:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -10725,7 +10725,7 @@ _0803C5B6:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 20
adds r0, r4
@@ -10739,7 +10739,7 @@ _0803C5B6:
eors r0, r6
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
@@ -10763,7 +10763,7 @@ _0803C628:
ands r0, r1
cmp r0, 0
beq _0803C690
- ldr r4, =gUnknown_0202421C
+ ldr r4, =gActionForBanks
ldr r6, =gActiveBank
ldrb r0, [r6]
bl GetBankIdentity
@@ -10771,7 +10771,7 @@ _0803C628:
eors r0, r5
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -10788,7 +10788,7 @@ _0803C628:
_0803C668:
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -10803,7 +10803,7 @@ _0803C690:
eors r0, r1
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
@@ -10813,7 +10813,7 @@ _0803C6AE:
bl dp01_build_cmdbuf_x32_32_32_32
ldr r0, =gActiveBank
ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
b _0803CD70
.pool
_0803C6C4:
@@ -10866,14 +10866,14 @@ _0803C720:
cmp r0, 0x3
bne _0803C760
ldr r0, =gUnknown_082DAAFE
- bl b_call_bc_move_exec
+ bl BattleScriptExecute
ldr r1, =gBattleCommunication
ldrb r0, [r4]
adds r0, r1
b _0803CC20
.pool
_0803C760:
- bl sub_803BB88
+ bl IsRunningFromBattleImpossible
lsls r0, 24
cmp r0, 0
beq _0803C7C4
@@ -10945,7 +10945,7 @@ _0803C7D8:
beq _0803C804
b _0803CD04
_0803C804:
- ldr r1, =gUnknown_0202421C
+ ldr r1, =gActionForBanks
adds r0, r5, r1
ldrb r0, [r0]
adds r2, r1, 0
@@ -11067,12 +11067,12 @@ _0803C91C:
lsls r1, r0, 9
adds r1, r5
ldrb r1, [r1]
- bl sub_8184FBC
+ bl RecordedBattle_SetBankAction
ldrb r0, [r6]
lsls r1, r0, 9
adds r1, r7
ldrb r1, [r1]
- bl sub_8184FBC
+ bl RecordedBattle_SetBankAction
_0803C942:
ldrb r0, [r6]
ldr r4, =gBattleStruct
@@ -11083,7 +11083,7 @@ _0803C942:
adds r0, r5
ldrb r0, [r0]
strb r0, [r1]
- ldr r0, =gUnknown_02024274
+ ldr r0, =gChosenMovesByBanks
ldrb r2, [r6]
lsls r5, r2, 1
adds r5, r0
@@ -11271,7 +11271,7 @@ _0803CAFA:
bne _0803CB3C
adds r0, r5, 0
eors r0, r1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattleStruct
ldr r1, [r1]
adds r1, 0x91
@@ -11287,19 +11287,19 @@ _0803CB3C:
movs r0, 0
movs r1, 0
adds r2, r4, 0
- bl sub_8034464
+ bl EmitLinkStandbyMsg
b _0803CB66
.pool
_0803CB5C:
movs r0, 0
movs r1, 0x1
adds r2, r4, 0
- bl sub_8034464
+ bl EmitLinkStandbyMsg
_0803CB66:
ldr r4, =gActiveBank
_0803CB68:
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803CB6E:
ldr r0, =gBattleCommunication
ldrb r1, [r4]
@@ -11410,7 +11410,7 @@ _0803CC38:
lsls r1, 8
orrs r0, r1
str r0, [r2]
- ldr r1, =gUnknown_0202421C
+ ldr r1, =gActionForBanks
ldrb r0, [r5]
adds r0, r1
movs r1, 0x3
@@ -11515,7 +11515,7 @@ _0803CD1E:
cmp r4, r5
bge _0803CD70
_0803CD4A:
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
adds r0, r4, r0
ldrb r0, [r0]
cmp r0, 0x2
@@ -11602,7 +11602,7 @@ sub_803CDF8: @ 803CDF8
lsls r1, r0, 9
adds r1, r2
ldrb r1, [r1]
- bl sub_8184FBC
+ bl RecordedBattle_SetBankAction
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x42
@@ -12033,7 +12033,7 @@ _0803D198:
b _0803D254
.pool
_0803D1B8:
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
mov r3, r9
adds r1, r3, r0
ldrb r1, [r1]
@@ -12209,7 +12209,7 @@ sub_803D2E8: @ 803D2E8
b _0803D54A
_0803D310:
ldr r7, =gUnknown_0202407A
- ldr r6, =gUnknown_0202421C
+ ldr r6, =gActionForBanks
mov r2, r8
ldr r5, =gTurnOrder
_0803D318:
@@ -12245,7 +12245,7 @@ _0803D354:
ldrb r2, [r2]
cmp r3, r2
bcs _0803D3C0
- ldr r0, =gUnknown_0202421C
+ ldr r0, =gActionForBanks
ldrb r1, [r0]
adds r4, r0, 0
cmp r1, 0x3
@@ -12269,7 +12269,7 @@ _0803D376:
b _0803D3BE
.pool
_0803D3A4:
- ldr r1, =gUnknown_0202421C
+ ldr r1, =gActionForBanks
ldrb r0, [r1]
ldr r4, =gActiveBank
mov r8, r4
@@ -12289,7 +12289,7 @@ _0803D3C0:
cmp r3, 0x5
bne _0803D448
ldr r6, =gUnknown_0202407A
- ldr r1, =gUnknown_0202421C
+ ldr r1, =gActionForBanks
mov r2, r8
ldrb r0, [r2]
adds r0, r1
@@ -12349,7 +12349,7 @@ _0803D448:
ldrb r0, [r1]
cmp r0, 0
beq _0803D48E
- ldr r6, =gUnknown_0202421C
+ ldr r6, =gActionForBanks
mov r2, r8
ldr r5, =gUnknown_0202407A
ldr r4, =gTurnOrder
@@ -12387,7 +12387,7 @@ _0803D48E:
ldrb r0, [r4]
cmp r0, 0
beq _0803D4D2
- ldr r6, =gUnknown_0202421C
+ ldr r6, =gActionForBanks
ldr r5, =gUnknown_0202407A
ldr r4, =gTurnOrder
_0803D4A2:
@@ -12704,7 +12704,7 @@ _0803D71C:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
- ldr r1, =gUnknown_02024274
+ ldr r1, =gChosenMovesByBanks
ldrb r3, [r5]
lsls r0, r3, 1
adds r0, r1
@@ -12739,7 +12739,7 @@ _0803D71C:
cmp r0, 0
blt _0803D7A0
ldr r0, =gUnknown_082DB1FF
- bl b_call_bc_move_exec
+ bl BattleScriptExecute
b _0803D7E8
.pool
_0803D7A0:
@@ -12752,7 +12752,7 @@ _0803D7A0:
bcc _0803D71C
_0803D7AE:
bl b_clear_atk_up_if_hit_flag_unless_enraged
- ldr r1, =gUnknown_02024082
+ ldr r1, =gCurrentMoveTurn
movs r0, 0
strb r0, [r1]
ldr r1, =gFightStateTracker
@@ -12800,7 +12800,7 @@ _0803D828:
ldr r5, =gBattleStruct
ldr r0, [r5]
adds r0, 0x4B
- ldr r4, =gUnknown_02024082
+ ldr r4, =gCurrentMoveTurn
ldrb r1, [r4]
strb r1, [r0]
ldr r1, =gUnknown_0831BC0C
@@ -12870,7 +12870,7 @@ sub_803D8C0: @ 803D8C0
ldrb r0, [r4]
strb r0, [r1]
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBankAttacker
strb r0, [r1]
ldr r1, =gBattlescriptCurrInstr
@@ -12891,7 +12891,7 @@ _0803D920:
ands r2, r0
cmp r2, 0
beq _0803D95C
- bl sub_805EA60
+ bl BattleMusicStop
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DAA87
str r0, [r1]
@@ -12912,7 +12912,7 @@ _0803D95C:
beq _0803D968
b _0803DA9E
_0803D968:
- bl sub_805EA60
+ bl BattleMusicStop
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DA92D
str r0, [r1]
@@ -13075,7 +13075,7 @@ _0803DB44:
ldrb r0, [r4]
strb r0, [r1]
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBankAttacker
strb r0, [r1]
ldr r1, =gBattlescriptCurrInstr
@@ -13335,7 +13335,7 @@ _0803DDD2:
ldr r0, =sub_803DE40
str r0, [r1]
ldr r1, =gUnknown_030061E8
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
str r0, [r1]
b _0803DE2A
.pool
@@ -13371,7 +13371,7 @@ sub_803DE40: @ 803DE40
cmp r0, 0
bne _0803DE86
bl ResetSpriteData
- ldr r0, =gUnknown_03005D54
+ ldr r0, =gLeveledUpInBattle
ldrb r0, [r0]
cmp r0, 0
beq _0803DE62
@@ -13409,7 +13409,7 @@ _0803DEA2:
thumb_func_start bc_evolution_cutscene
bc_evolution_cutscene: @ 803DEB4
push {r4-r6,lr}
- ldr r0, =gUnknown_03005D54
+ ldr r0, =gLeveledUpInBattle
ldrb r1, [r0]
adds r3, r0, 0
cmp r1, 0
@@ -13454,7 +13454,7 @@ _0803DEC2:
.pool
_0803DF20:
adds r6, 0x1
- ldr r3, =gUnknown_03005D54
+ ldr r3, =gLeveledUpInBattle
cmp r6, 0x5
ble _0803DEC2
ldrb r0, [r3]
@@ -13476,7 +13476,7 @@ sub_803DF48: @ 803DF48
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
cmp r1, r0
bne _0803DF5A
ldr r1, =gBattleMainFunc
@@ -13642,7 +13642,7 @@ sub_803E0B8: @ 803E0B8
str r0, [sp]
ldr r6, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -13676,7 +13676,7 @@ _0803E110:
strb r2, [r0]
ldr r0, =gBattleMoveFlags
strb r2, [r0]
- ldr r0, =gUnknown_02024212
+ ldr r0, =gMultiHitCounter
strb r2, [r0]
ldr r0, =gBattleCommunication
strb r2, [r0, 0x6]
@@ -13706,7 +13706,7 @@ _0803E110:
ands r0, r1
strb r0, [r3]
ldr r2, =gCurrentMove
- ldr r1, =gUnknown_020241EC
+ ldr r1, =gLastUsedMove
movs r0, 0xA5
strh r0, [r1]
strh r0, [r2]
@@ -13746,8 +13746,8 @@ _0803E1BC:
beq _0803E204
_0803E1E2:
ldr r3, =gCurrentMove
- ldr r2, =gUnknown_020241EC
- ldr r1, =gUnknown_02024268
+ ldr r2, =gLastUsedMove
+ ldr r1, =gLockedMoves
lsls r0, r4, 1
adds r0, r1
ldrh r0, [r0]
@@ -13776,7 +13776,7 @@ _0803E204:
cmp r1, r0
bne _0803E268
ldr r2, =gCurrentMove
- ldr r0, =gUnknown_020241EC
+ ldr r0, =gLastUsedMove
strh r3, [r0]
strh r3, [r2]
ldrb r1, [r6]
@@ -13807,7 +13807,7 @@ _0803E268:
mov r0, r8
strb r2, [r0]
ldr r3, =gCurrentMove
- ldr r2, =gUnknown_020241EC
+ ldr r2, =gLastUsedMove
ldrb r0, [r0]
lsls r0, 1
ldrb r1, [r6]
@@ -13861,7 +13861,7 @@ _0803E2DC:
adds r0, r1
adds r3, 0xC
adds r0, r3
- ldr r1, =gUnknown_02024274
+ ldr r1, =gChosenMovesByBanks
lsls r2, 1
adds r2, r1
ldrh r3, [r0]
@@ -13869,7 +13869,7 @@ _0803E2DC:
cmp r3, r2
beq _0803E334
ldr r1, =gCurrentMove
- ldr r0, =gUnknown_020241EC
+ ldr r0, =gLastUsedMove
strh r3, [r0]
strh r3, [r1]
ldrh r0, [r1]
@@ -13885,7 +13885,7 @@ _0803E316:
.pool
_0803E334:
ldr r1, =gCurrentMove
- ldr r0, =gUnknown_020241EC
+ ldr r0, =gLastUsedMove
strh r3, [r0]
strh r3, [r1]
_0803E33C:
@@ -14058,14 +14058,14 @@ _0803E480:
cmp r0, 0x1F
bne _0803E4CE
adds r0, r2, 0
- bl sub_8048728
+ bl BankGetTurnOrder
lsls r0, 24
lsrs r0, 24
ldr r3, [sp]
cmp r0, r3
bcs _0803E4CE
ldrb r0, [r4]
- bl sub_8048728
+ bl BankGetTurnOrder
lsls r0, 24
lsrs r0, 24
str r0, [sp]
@@ -14086,7 +14086,7 @@ _0803E4E0:
b _0803E5E2
_0803E4E8:
ldr r2, =gBattleMoves
- ldr r0, =gUnknown_020241EC
+ ldr r0, =gLastUsedMove
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -14124,7 +14124,7 @@ _0803E548:
_0803E558:
movs r0, 0x2
_0803E55A:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBankTarget
strb r0, [r1]
b _0803E578
@@ -14173,7 +14173,7 @@ _0803E5C4:
eors r0, r1
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
strb r0, [r5]
ldrb r1, [r7]
ldrb r2, [r5]
@@ -14218,7 +14218,7 @@ _0803E630:
cmp r0, 0
beq _0803E6E0
ldr r2, =gBattleMoves
- ldr r0, =gUnknown_020241EC
+ ldr r0, =gLastUsedMove
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -14257,7 +14257,7 @@ _0803E684:
_0803E694:
movs r0, 0x2
_0803E696:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBankTarget
strb r0, [r1]
ldr r0, =gAbsentBankFlags
@@ -14323,7 +14323,7 @@ _0803E730:
eors r0, r1
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
strb r0, [r5]
ldrb r1, [r6]
ldrb r2, [r5]
@@ -14341,7 +14341,7 @@ _0803E758:
eors r0, r1
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
strb r0, [r5]
_0803E76A:
ldr r0, =gBattleTypeFlags
@@ -14400,13 +14400,13 @@ _0803E7EC:
movs r0, 0x4
strb r0, [r1, 0x5]
ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB6AD
+ ldr r0, =BattleScript_MoveUsedLoafingAround
str r0, [r1]
b _0803E824
.pool
_0803E808:
ldr r4, =gBattlescriptCurrInstr
- ldr r3, =gUnknown_082D86A8
+ ldr r3, =gBattleScriptsForMoveEffects
ldr r2, =gBattleMoves
ldr r0, =gCurrentMove
ldrh r1, [r0]
@@ -14450,7 +14450,7 @@ bs2_8016374: @ 803E868
push {r4,lr}
ldr r3, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -14515,7 +14515,7 @@ sub_803E90C: @ 803E90C
ldr r4, =gBankAttacker
ldr r2, =gBankTarget
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -14823,8 +14823,8 @@ _0803EBF6:
.pool
thumb_func_end sub_803E90C
- thumb_func_start sub_803EC20
-sub_803EC20: @ 803EC20
+ thumb_func_start CanRunFromBattle
+CanRunFromBattle: @ 803EC20
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -15052,7 +15052,7 @@ _0803EE06:
_0803EE12:
cmp r7, 0
beq _0803EE24
- ldr r1, =gUnknown_02024082
+ ldr r1, =gCurrentMoveTurn
ldr r0, =gNoOfAllBanks
ldrb r0, [r0]
strb r0, [r1]
@@ -15069,14 +15069,14 @@ _0803EE24:
pop {r1}
bx r1
.pool
- thumb_func_end sub_803EC20
+ thumb_func_end CanRunFromBattle
thumb_func_start sub_803EE48
sub_803EE48: @ 803EE48
push {r4-r6,lr}
ldr r4, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r5, =gUnknown_02024082
+ ldr r5, =gCurrentMoveTurn
ldrb r0, [r5]
adds r0, r1
ldrb r0, [r0]
@@ -15097,7 +15097,7 @@ sub_803EE48: @ 803EE48
cmp r1, 0
beq _0803EEE0
adds r4, r2, 0
- ldr r6, =gUnknown_0202421C
+ ldr r6, =gActionForBanks
ldr r5, =gBattleOutcome
_0803EE7C:
ldrb r0, [r4]
@@ -15157,7 +15157,7 @@ _0803EF0C:
cmp r0, 0
bne _0803EF4C
ldrb r0, [r4]
- bl sub_803EC20
+ bl CanRunFromBattle
lsls r0, 24
cmp r0, 0
bne _0803EF98
@@ -15214,7 +15214,7 @@ _0803EF98:
sub_803EFA8: @ 803EFA8
ldr r2, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -15239,7 +15239,7 @@ sub_803EFA8: @ 803EFA8
bs5_8016AC0: @ 803EFF0
ldr r2, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -15272,7 +15272,7 @@ sub_803F050: @ 803F050
push {r4-r6,lr}
ldr r3, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -15359,7 +15359,7 @@ sub_803F120: @ 803F120
push {r4,lr}
ldr r2, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -15445,7 +15445,7 @@ bs8_exit_by_flight: @ 803F1F0
push {r4,lr}
ldr r2, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r4, =gUnknown_02024082
+ ldr r4, =gCurrentMoveTurn
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -15468,7 +15468,7 @@ bs8_exit_by_flight: @ 803F1F0
bs9_8016C9C: @ 803F22C
ldr r3, =gBankAttacker
ldr r1, =gTurnOrder
- ldr r0, =gUnknown_02024082
+ ldr r0, =gCurrentMoveTurn
ldrb r0, [r0]
adds r0, r1
ldrb r2, [r0]
@@ -15529,7 +15529,7 @@ _0803F2C0:
thumb_func_start bsD_proceed
bsD_proceed: @ 803F2CC
- ldr r1, =gUnknown_02024082
+ ldr r1, =gCurrentMoveTurn
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
@@ -15552,7 +15552,7 @@ bsD_proceed: @ 803F2CC
bsC_8016D70: @ 803F300
push {r4-r6,lr}
ldr r1, =gTurnOrder
- ldr r2, =gUnknown_02024082
+ ldr r2, =gCurrentMoveTurn
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
@@ -15619,8 +15619,8 @@ bsC_8016D70: @ 803F300
.pool
thumb_func_end bsC_8016D70
- thumb_func_start get_battle_side_of_something
-get_battle_side_of_something: @ 803F3CC
+ thumb_func_start GetBattleBank
+GetBattleBank: @ 803F3CC
push {lr}
lsls r0, 24
lsrs r1, r0, 24
@@ -15661,7 +15661,7 @@ _0803F430:
b _0803F47A
.pool
_0803F43C:
- ldr r0, =gUnknown_0202420E
+ ldr r0, =gEffectBank
ldrb r0, [r0]
b _0803F47A
.pool
@@ -15674,7 +15674,7 @@ _0803F44C:
b _0803F47A
.pool
_0803F458:
- ldr r0, =gUnknown_0202420D
+ ldr r0, =gBank1
ldrb r0, [r0]
b _0803F47A
.pool
@@ -15690,16 +15690,16 @@ _0803F46C:
_0803F470:
movs r0, 0x3
_0803F472:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
_0803F47A:
pop {r1}
bx r1
- thumb_func_end get_battle_side_of_something
+ thumb_func_end GetBattleBank
- thumb_func_start sub_803F480
-sub_803F480: @ 803F480
+ thumb_func_start PressurePPLose
+PressurePPLose: @ 803F480
push {r4-r7,lr}
sub sp, 0x4
lsls r0, 24
@@ -15786,19 +15786,19 @@ _0803F4DE:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl dp01_build_cmdbuf_x02_a_b_varargs
+ bl EmitSetMonData
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803F532:
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
.pool
- thumb_func_end sub_803F480
+ thumb_func_end PressurePPLose
- thumb_func_start sub_803F548
-sub_803F548: @ 803F548
+ thumb_func_start PressurePPLoseOnUsingImprision
+PressurePPLoseOnUsingImprision: @ 803F548
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -15933,9 +15933,9 @@ _0803F5F0:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl dp01_build_cmdbuf_x02_a_b_varargs
+ bl EmitSetMonData
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803F658:
add sp, 0x4
pop {r3-r5}
@@ -15946,10 +15946,10 @@ _0803F658:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803F548
+ thumb_func_end PressurePPLoseOnUsingImprision
- thumb_func_start sub_803F67C
-sub_803F67C: @ 803F67C
+ thumb_func_start PressurePPLoseOnUsingPerishSong
+PressurePPLoseOnUsingPerishSong: @ 803F67C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -16065,9 +16065,9 @@ _0803F6FE:
movs r0, 0
movs r2, 0
movs r3, 0x1
- bl dp01_build_cmdbuf_x02_a_b_varargs
+ bl EmitSetMonData
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_0803F762:
add sp, 0x4
pop {r3-r5}
@@ -16078,7 +16078,7 @@ _0803F762:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803F67C
+ thumb_func_end PressurePPLoseOnUsingPerishSong
thumb_func_start sub_803F790
sub_803F790: @ 803F790
@@ -16132,8 +16132,8 @@ _0803F7EE:
.pool
thumb_func_end sub_803F790
- thumb_func_start dp01_battle_side_mark_buffer_for_execution
-dp01_battle_side_mark_buffer_for_execution: @ 803F800
+ thumb_func_start MarkBufferBankForExecution
+MarkBufferBankForExecution: @ 803F800
push {lr}
lsls r0, 24
lsrs r3, r0, 24
@@ -16167,7 +16167,7 @@ _0803F844:
pop {r0}
bx r0
.pool
- thumb_func_end dp01_battle_side_mark_buffer_for_execution
+ thumb_func_end MarkBufferBankForExecution
thumb_func_start sub_803F850
sub_803F850: @ 803F850
@@ -16252,8 +16252,8 @@ CancelMultiTurnMoves: @ 803F8A0
.pool
thumb_func_end CancelMultiTurnMoves
- thumb_func_start sub_803F90C
-sub_803F90C: @ 803F90C
+ thumb_func_start HasMoveFailed
+HasMoveFailed: @ 803F90C
push {lr}
lsls r0, 24
ldr r1, =gProtectStructs
@@ -16298,10 +16298,10 @@ _0803F95C:
_0803F95E:
pop {r1}
bx r1
- thumb_func_end sub_803F90C
+ thumb_func_end HasMoveFailed
- thumb_func_start b_std_message
-b_std_message: @ 803F964
+ thumb_func_start PrepareStringBattle
+PrepareStringBattle: @ 803F964
push {r4,lr}
adds r2, r0, 0
lsls r2, 16
@@ -16312,18 +16312,18 @@ b_std_message: @ 803F964
adds r1, r2, 0
bl dp01_build_cmdbuf_x10_TODO
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
pop {r4}
pop {r0}
bx r0
.pool
- thumb_func_end b_std_message
+ thumb_func_end PrepareStringBattle
- thumb_func_start sub_803F988
-sub_803F988: @ 803F988
+ thumb_func_start ResetSentPokesToOpponentValue
+ResetSentPokesToOpponentValue: @ 803F988
push {r4-r6,lr}
movs r3, 0
- ldr r0, =gUnknown_020243FE
+ ldr r0, =gSentPokesToOpponent
strb r3, [r0]
strb r3, [r0, 0x1]
movs r1, 0
@@ -16351,7 +16351,7 @@ _0803F9B6:
ldrb r0, [r2]
cmp r1, r0
bge _0803F9D6
- ldr r5, =gUnknown_020243FE
+ ldr r5, =gSentPokesToOpponent
movs r4, 0x2
_0803F9C4:
adds r0, r1, 0
@@ -16368,7 +16368,7 @@ _0803F9D6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803F988
+ thumb_func_end ResetSentPokesToOpponentValue
thumb_func_start sub_803F9EC
sub_803F9EC: @ 803F9EC
@@ -16389,7 +16389,7 @@ sub_803F9EC: @ 803F9EC
lsls r0, 24
lsrs r0, 25
mov r12, r0
- ldr r1, =gUnknown_020243FE
+ ldr r1, =gSentPokesToOpponent
adds r0, r1
strb r4, [r0]
adds r5, r4, 0
@@ -16453,7 +16453,7 @@ _0803FA8C:
ldrb r0, [r5]
cmp r3, r0
bge _0803FAC2
- ldr r0, =gUnknown_020243FE
+ ldr r0, =gSentPokesToOpponent
mov r12, r0
movs r7, 0x2
ldr r6, =gBitTable
diff --git a/asm/battle_3.s b/asm/battle_3.s
deleted file mode 100644
index f2e384c86..000000000
--- a/asm/battle_3.s
+++ /dev/null
@@ -1,11164 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start b_movescr_stack_push
-b_movescr_stack_push: @ 803FAD8
- push {r4,lr}
- ldr r1, =gBattleResources
- ldr r1, [r1]
- ldr r3, [r1, 0x8]
- adds r4, r3, 0
- adds r4, 0x20
- ldrb r1, [r4]
- adds r2, r1, 0x1
- strb r2, [r4]
- lsls r1, 24
- lsrs r1, 22
- adds r3, r1
- str r0, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end b_movescr_stack_push
-
- thumb_func_start b_movescr_stack_push_cursor
-b_movescr_stack_push_cursor: @ 803FAFC
- ldr r0, =gBattleResources
- ldr r0, [r0]
- ldr r2, [r0, 0x8]
- adds r3, r2, 0
- adds r3, 0x20
- ldrb r0, [r3]
- adds r1, r0, 0x1
- strb r1, [r3]
- lsls r0, 24
- lsrs r0, 22
- adds r2, r0
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- str r0, [r2]
- bx lr
- .pool
- thumb_func_end b_movescr_stack_push_cursor
-
- thumb_func_start b_movescr_stack_pop_cursor
-b_movescr_stack_pop_cursor: @ 803FB24
- ldr r3, =gBattlescriptCurrInstr
- ldr r0, =gBattleResources
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- adds r2, r1, 0
- adds r2, 0x20
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 22
- adds r1, r0
- ldr r0, [r1]
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end b_movescr_stack_pop_cursor
-
- thumb_func_start sub_803FB4C
-sub_803FB4C: @ 803FB4C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r2, =gBattleMons
- ldr r1, =gBattleBufferB
- ldr r3, =gActiveBank
- ldrb r4, [r3]
- lsls r0, r4, 9
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- movs r1, 0x58
- muls r1, r4
- adds r0, r1
- adds r2, 0xC
- adds r0, r2
- ldrh r5, [r0]
- ldr r1, =gBattleStruct
- lsls r0, r4, 1
- adds r0, 0xC8
- ldr r1, [r1]
- adds r1, r0
- mov r8, r1
- ldr r1, =gDisableStructs
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x4]
- adds r7, r3, 0
- adds r3, r1, 0
- cmp r0, r5
- bne _0803FC06
- cmp r5, 0
- beq _0803FC06
- ldr r0, =gBattleScripting
- strb r4, [r0, 0x17]
- ldr r0, =gCurrentMove
- strh r5, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0803FBF8
- ldr r1, =gUnknown_02024230
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DAE2A
- str r1, [r0]
- ldr r0, =gProtectStructs
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- b _0803FC06
- .pool
-_0803FBF8:
- ldr r0, =gUnknown_02024220
- ldrb r1, [r7]
- lsls r1, 2
- adds r1, r0
- ldr r0, =gUnknown_082DAE1F
- str r0, [r1]
- movs r6, 0x1
-_0803FC06:
- ldr r1, =gLastUsedMovesByBanks
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r5, r0
- bne _0803FC90
- cmp r5, 0xA5
- beq _0803FC90
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _0803FC90
- adds r0, r2, 0
- bl CancelMultiTurnMoves
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0803FC7C
- ldr r1, =gUnknown_02024230
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB098
- str r1, [r0]
- ldr r0, =gProtectStructs
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- b _0803FC8E
- .pool
-_0803FC7C:
- ldr r1, =gUnknown_02024220
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB089
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0803FC8E:
- ldr r3, =gDisableStructs
-_0803FC90:
- ldrb r0, [r7]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r1, 0x13]
- lsls r0, 28
- cmp r0, 0
- beq _0803FD1A
- ldr r0, =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _0803FD1A
- ldr r0, =gCurrentMove
- strh r5, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0803FD08
- ldr r1, =gUnknown_02024230
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB0AF
- str r1, [r0]
- ldr r0, =gProtectStructs
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- b _0803FD1A
- .pool
-_0803FD08:
- ldr r1, =gUnknown_02024220
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB0A0
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0803FD1A:
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r1, r5, 0
- bl sub_8040130
- lsls r0, 24
- cmp r0, 0
- beq _0803FD8E
- ldr r0, =gCurrentMove
- strh r5, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0803FD7C
- ldr r1, =gUnknown_02024230
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB185
- str r1, [r0]
- ldr r0, =gProtectStructs
- ldrb r1, [r4]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- b _0803FD8E
- .pool
-_0803FD7C:
- ldr r1, =gUnknown_02024220
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB181
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0803FD8E:
- ldr r1, =gBattleMons
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _0803FDC4
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x7]
- b _0803FDCE
- .pool
-_0803FDC4:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
-_0803FDCE:
- ldr r2, =gStringBank
- ldr r1, =gActiveBank
- ldrb r0, [r1]
- strb r0, [r2]
- ldr r0, =gBattleMons
- mov r12, r0
- adds r7, r1, 0
- cmp r4, 0x1D
- bne _0803FE58
- mov r0, r8
- ldrh r1, [r0]
- adds r2, r1, 0
- cmp r2, 0
- beq _0803FE58
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _0803FE58
- cmp r2, r5
- beq _0803FE58
- ldr r0, =gCurrentMove
- strh r1, [r0]
- ldr r2, =gLastUsedItem
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- add r0, r12
- ldrh r0, [r0, 0x2E]
- strh r0, [r2]
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 10
- ands r1, r0
- ldrb r2, [r7]
- cmp r1, 0
- beq _0803FE48
- ldr r0, =gProtectStructs
- lsls r1, r2, 4
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- b _0803FE58
- .pool
-_0803FE48:
- ldr r1, =gUnknown_02024220
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB812
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0803FE58:
- ldr r0, =gBattleBufferB
- ldrb r3, [r7]
- lsls r1, r3, 9
- adds r0, 0x2
- adds r1, r0
- movs r0, 0x58
- muls r0, r3
- ldrb r1, [r1]
- adds r0, r1
- mov r1, r12
- adds r1, 0x24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803FEB8
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0803FEA8
- ldr r0, =gProtectStructs
- lsls r1, r3, 4
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1, 0x2]
- b _0803FEB8
- .pool
-_0803FEA8:
- ldr r1, =gUnknown_02024220
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB076
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0803FEB8:
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_803FB4C
-
- thumb_func_start CheckMoveLimitations
-CheckMoveLimitations: @ 803FECC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r3, r2, 24
- ldr r1, =gBattleStruct
- lsls r0, r7, 1
- adds r0, 0xC8
- ldr r1, [r1]
- adds r1, r0
- str r1, [sp, 0x4]
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r1, r0, r1
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _0803FF1C
- ldr r2, =gEnigmaBerries
- lsls r1, r7, 3
- subs r0, r1, r7
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x7]
- str r0, [sp]
- b _0803FF2E
- .pool
-_0803FF1C:
- ldrh r0, [r1, 0x2E]
- str r3, [sp, 0x14]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, r7, 3
- ldr r3, [sp, 0x14]
-_0803FF2E:
- ldr r0, =gStringBank
- strb r7, [r0]
- movs r0, 0
- mov r9, r0
- lsls r2, r7, 1
- str r2, [sp, 0xC]
- ldr r5, =gDisableStructs
- mov r12, r5
- ldr r0, =gBattleMons
- movs r2, 0x58
- adds r6, r7, 0
- muls r6, r2
- str r6, [sp, 0x8]
- ldr r2, =gBattleMons + 0xC
- adds r5, r6, r2
- movs r6, 0
- str r6, [sp, 0x10]
- mov r10, r0
- subs r0, r1, r7
- lsls r0, 2
- mov r8, r0
- ldr r6, =gBitTable
-_0803FF5A:
- ldrh r0, [r5]
- cmp r0, 0
- bne _0803FF70
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0803FF70
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0803FF70:
- ldr r0, [sp, 0x8]
- add r0, r9
- mov r1, r10
- adds r1, 0x24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803FF90
- movs r0, 0x2
- ands r0, r3
- cmp r0, 0
- beq _0803FF90
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0803FF90:
- mov r1, r8
- add r1, r12
- ldrh r0, [r5]
- ldrh r1, [r1, 0x4]
- cmp r0, r1
- bne _0803FFAC
- movs r0, 0x4
- ands r0, r3
- cmp r0, 0
- beq _0803FFAC
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0803FFAC:
- movs r0, 0x58
- adds r2, r7, 0
- muls r2, r0
- ldr r1, [sp, 0x10]
- adds r0, r1, r2
- ldr r1, =gBattleMons + 0xC
- adds r0, r1
- mov r12, r0
- ldr r1, =gLastUsedMovesByBanks
- ldr r0, [sp, 0xC]
- adds r1, r0, r1
- str r1, [sp, 0x18]
- mov r1, r12
- ldrh r1, [r1]
- mov r12, r1
- ldr r0, [sp, 0x18]
- ldrh r0, [r0]
- cmp r12, r0
- bne _0803FFEE
- movs r0, 0x8
- ands r0, r3
- cmp r0, 0
- beq _0803FFEE
- mov r0, r10
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- bge _0803FFEE
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0803FFEE:
- ldr r0, =gDisableStructs
- add r0, r8
- ldrb r0, [r0, 0x13]
- lsls r0, 28
- cmp r0, 0
- beq _0804001C
- movs r0, 0x10
- ands r0, r3
- cmp r0, 0
- beq _0804001C
- ldr r2, =gBattleMoves
- ldrh r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0804001C
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0804001C:
- ldrh r1, [r5]
- adds r0, r7, 0
- str r3, [sp, 0x14]
- bl sub_8040130
- lsls r0, 24
- ldr r3, [sp, 0x14]
- cmp r0, 0
- beq _0804003E
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _0804003E
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0804003E:
- ldr r1, =gDisableStructs
- mov r0, r8
- adds r2, r0, r1
- ldrb r0, [r2, 0xE]
- lsls r0, 28
- mov r12, r1
- cmp r0, 0
- beq _0804005E
- ldrh r0, [r2, 0x6]
- ldrh r1, [r5]
- cmp r0, r1
- beq _0804005E
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0804005E:
- ldr r2, [sp]
- cmp r2, 0x1D
- bne _08040080
- ldr r0, [sp, 0x4]
- ldrh r1, [r0]
- cmp r1, 0
- beq _08040080
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _08040080
- ldrh r2, [r5]
- cmp r1, r2
- beq _08040080
- ldr r0, [r6]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_08040080:
- adds r6, 0x4
- adds r5, 0x2
- ldr r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x10]
- movs r1, 0x1
- add r9, r1
- mov r2, r9
- cmp r2, 0x3
- bgt _08040096
- b _0803FF5A
-_08040096:
- adds r0, r4, 0
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckMoveLimitations
-
- thumb_func_start sub_80400C8
-sub_80400C8: @ 80400C8
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0xFF
- bl CheckMoveLimitations
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bne _0804010C
- ldr r0, =gProtectStructs
- ldrb r1, [r4]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r1, =gUnknown_02024220
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =gUnknown_082DB072
- str r1, [r0]
- b _0804011E
- .pool
-_0804010C:
- ldr r0, =gProtectStructs
- ldrb r1, [r4]
- lsls r1, 4
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0804011E:
- movs r0, 0
- cmp r3, 0xF
- bne _08040126
- movs r0, 0x1
-_08040126:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80400C8
-
- thumb_func_start sub_8040130
-sub_8040130: @ 8040130
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- movs r6, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r6, r0
- bge _080401B4
- ldr r7, =gBattleMons + 0xC
- mov r8, r7
-_0804015A:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- adds r3, r4, 0x1
- cmp r9, r0
- beq _080401AA
- ldr r1, =gStatuses3
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _080401AA
- movs r2, 0
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- adds r0, r1, r7
- ldrh r0, [r0]
- cmp r5, r0
- beq _080401A0
- mov r4, r8
- adds r0, r1, r4
-_08040192:
- adds r0, 0x2
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080401AA
- ldrh r1, [r0]
- cmp r5, r1
- bne _08040192
-_080401A0:
- cmp r2, 0x3
- bgt _080401AA
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080401AA:
- adds r4, r3, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _0804015A
-_080401B4:
- adds r0, r6, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8040130
-
- thumb_func_start sub_80401D0
-sub_80401D0: @ 80401D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r9, r0
- ldr r1, =gBankAttacker
- mov r2, r9
- strb r2, [r1]
- ldr r0, =gNoOfAllBanks
- ldrb r4, [r0]
- adds r6, r1, 0
- mov r10, r0
- ldr r7, =gBankTarget
- ldr r3, =gBattleStruct
- mov r12, r3
- cmp r9, r4
- bcs _08040224
- ldr r2, =gAbsentBankFlags
- ldrb r1, [r2]
- ldr r5, =gBitTable
- ldr r0, [r5]
- ands r1, r0
- cmp r1, 0
- beq _08040224
- adds r3, r6, 0
-_08040206:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r4
- bcs _08040224
- ldrb r0, [r2]
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r5
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _08040206
-_08040224:
- movs r0, 0
- strb r0, [r7]
- mov r0, r10
- ldrb r4, [r0]
- cmp r4, 0
- beq _0804025E
- ldr r2, =gAbsentBankFlags
- ldrb r1, [r2]
- ldr r5, =gBitTable
- ldr r0, [r5]
- ands r1, r0
- cmp r1, 0
- beq _0804025E
- adds r3, r7, 0
-_08040240:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r4
- bcs _0804025E
- ldrb r0, [r2]
- ldrb r1, [r7]
- lsls r1, 2
- adds r1, r5
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _08040240
-_0804025E:
- mov r1, r12
- ldr r0, [r1]
- ldrb r0, [r0, 0x3]
- cmp r0, 0xA
- bls _0804026A
- b _080408F6
-_0804026A:
- lsls r0, 2
- ldr r1, =_08040290
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08040290:
- .4byte _080402BC
- .4byte _08040342
- .4byte _08040408
- .4byte _080404D4
- .4byte _080405B0
- .4byte _08040668
- .4byte _0804071C
- .4byte _080407A0
- .4byte _08040810
- .4byte _08040868
- .4byte _080408EC
-_080402BC:
- movs r5, 0
- ldr r1, =gNoOfAllBanks
- mov r10, r1
- ldrb r2, [r1]
- cmp r5, r2
- bge _080402D6
- ldr r2, =gTurnOrder
-_080402CA:
- adds r0, r5, r2
- strb r5, [r0]
- adds r5, 0x1
- ldrb r3, [r1]
- cmp r5, r3
- blt _080402CA
-_080402D6:
- movs r5, 0
- b _08040324
- .pool
-_080402E4:
- adds r4, r5, 0x1
- adds r6, r4, 0
- ldrb r1, [r1]
- cmp r6, r1
- bge _08040322
- ldr r7, =gTurnOrder
- ldr r0, =gNoOfAllBanks
- mov r10, r0
- lsls r1, r5, 24
- mov r8, r1
-_080402F8:
- adds r0, r5, r7
- ldrb r0, [r0]
- adds r1, r4, r7
- ldrb r1, [r1]
- movs r2, 0
- bl b_first_side
- lsls r0, 24
- cmp r0, 0
- beq _08040318
- lsls r1, r4, 24
- lsrs r1, 24
- mov r2, r8
- lsrs r0, r2, 24
- bl sub_803CEDC
-_08040318:
- adds r4, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _080402F8
-_08040322:
- adds r5, r6, 0
-_08040324:
- mov r1, r10
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r5, r0
- blt _080402E4
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- ldr r0, [r2]
- adds r0, 0xDB
- movs r1, 0
- strb r1, [r0]
- mov r12, r2
-_08040342:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08040350
- b _0804062C
-_08040350:
- ldr r3, =gActiveBank
- mov r8, r3
- movs r7, 0
- ldr r6, =gBankAttacker
- ldr r5, =gBattleTextBuff1
-_0804035A:
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r4, [r0]
- ldr r2, =gSideTimers
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x1]
- strb r0, [r6]
- mov r3, r8
- strb r0, [r3]
- ldr r0, =gSideAffecting
- adds r3, r1, r0
- ldrh r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080403BC
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
- movs r4, 0xFF
- lsls r0, 24
- cmp r0, 0
- bne _080403BC
- ldrh r0, [r3]
- ldr r2, =0x0000fffe
- adds r1, r2, 0
- ands r0, r1
- strh r0, [r3]
- ldr r0, =gUnknown_082DACFA
- bl b_call_bc_move_exec
- movs r0, 0xFD
- strb r0, [r5]
- movs r0, 0x2
- strb r0, [r5, 0x1]
- movs r0, 0x73
- strb r0, [r5, 0x2]
- strb r7, [r5, 0x3]
- ldrb r0, [r5, 0x4]
- orrs r0, r4
- strb r0, [r5, 0x4]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080403BC:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0xDB
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r12, r2
- mov r3, r9
- cmp r3, 0
- beq _080403D2
- b _080408FE
-_080403D2:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0804035A
- b _0804062C
- .pool
-_08040408:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08040416
- b _08040570
-_08040416:
- movs r0, 0x2
- mov r10, r0
- movs r2, 0
- mov r8, r2
- ldr r7, =gBankAttacker
- ldr r5, =gBattleTextBuff1
-_08040422:
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r4, [r0]
- ldr r2, =gSideTimers
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x3]
- strb r0, [r7]
- ldr r3, =gActiveBank
- strb r0, [r3]
- ldr r0, =gSideAffecting
- adds r3, r1, r0
- ldrh r1, [r3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804048A
- ldrb r0, [r2, 0x2]
- subs r0, 0x1
- strb r0, [r2, 0x2]
- movs r6, 0xFF
- lsls r0, 24
- cmp r0, 0
- bne _0804048A
- ldrh r0, [r3]
- ldr r2, =0x0000fffd
- adds r1, r2, 0
- ands r0, r1
- strh r0, [r3]
- ldr r0, =gUnknown_082DACFA
- bl b_call_bc_move_exec
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- movs r0, 0xFD
- strb r0, [r5]
- mov r3, r10
- strb r3, [r5, 0x1]
- movs r0, 0x71
- strb r0, [r5, 0x2]
- mov r0, r8
- strb r0, [r5, 0x3]
- ldrb r0, [r5, 0x4]
- orrs r0, r6
- strb r0, [r5, 0x4]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0804048A:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0xDB
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r12, r2
- mov r1, r9
- cmp r1, 0
- beq _080404A0
- b _080408FE
-_080404A0:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08040422
- b _08040570
- .pool
-_080404D4:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _08040570
- ldr r0, =gActiveBank
- mov r10, r0
- movs r2, 0
- mov r8, r2
- ldr r7, =gBankAttacker
- ldr r5, =gBattleTextBuff1
-_080404EC:
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r4, [r0]
- ldr r1, =gSideTimers
- lsls r3, r4, 1
- adds r0, r3, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1, 0x5]
- strb r0, [r7]
- mov r2, r10
- strb r0, [r2]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0804054E
- subs r0, 0x1
- strb r0, [r1, 0x4]
- movs r6, 0xFF
- lsls r0, 24
- cmp r0, 0
- bne _0804054E
- ldr r2, =gSideAffecting
- adds r2, r3, r2
- ldrh r0, [r2]
- ldr r3, =0x0000feff
- adds r1, r3, 0
- ands r0, r1
- strh r0, [r2]
- ldr r0, =gUnknown_082DACFA
- bl b_call_bc_move_exec
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- movs r0, 0xFD
- strb r0, [r5]
- movs r0, 0x2
- strb r0, [r5, 0x1]
- movs r0, 0x36
- strb r0, [r5, 0x2]
- mov r0, r8
- strb r0, [r5, 0x3]
- ldrb r0, [r5, 0x4]
- orrs r0, r6
- strb r0, [r5, 0x4]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0804054E:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0xDB
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r12, r2
- mov r1, r9
- cmp r1, 0
- beq _08040564
- b _080408FE
-_08040564:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080404EC
-_08040570:
- mov r2, r9
- cmp r2, 0
- beq _08040578
- b _080408FE
-_08040578:
- mov r3, r12
- ldr r0, [r3]
- ldrb r1, [r0, 0x3]
- adds r1, 0x1
- strb r1, [r0, 0x3]
- ldr r0, [r3]
- adds r0, 0xDB
- strb r2, [r0]
- b _080408F6
- .pool
-_080405B0:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _0804062C
- ldr r6, =gActiveBank
- ldr r5, =gBankAttacker
-_080405C0:
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r4, [r0]
- ldr r2, =gSideTimers
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x7]
- strb r0, [r5]
- strb r0, [r6]
- ldr r0, =gSideAffecting
- adds r3, r1, r0
- ldrh r1, [r3]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804060A
- ldrb r0, [r2, 0x6]
- subs r0, 0x1
- strb r0, [r2, 0x6]
- lsls r0, 24
- cmp r0, 0
- bne _0804060A
- ldrh r0, [r3]
- ldr r2, =0x0000ffdf
- adds r1, r2, 0
- ands r0, r1
- strh r0, [r3]
- ldr r0, =gUnknown_082DAD0B
- bl b_call_bc_move_exec
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0804060A:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0xDB
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r12, r2
- mov r3, r9
- cmp r3, 0
- beq _08040620
- b _080408FE
-_08040620:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDB
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080405C0
-_0804062C:
- mov r0, r9
- cmp r0, 0
- beq _08040634
- b _080408FE
-_08040634:
- mov r1, r12
- ldr r0, [r1]
- ldrb r1, [r0, 0x3]
- adds r1, 0x1
- strb r1, [r0, 0x3]
- mov r2, r12
- ldr r0, [r2]
- adds r0, 0xDB
- mov r3, r9
- strb r3, [r0]
- b _080408F6
- .pool
-_08040668:
- mov r2, r12
- ldr r0, [r2]
- adds r0, 0xDB
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080406E8
- ldr r4, =gActiveBank
- ldr r5, =gTurnOrder
-_0804067C:
- ldr r0, [r2]
- adds r0, 0xDB
- ldrb r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r4]
- ldr r0, =gUnknown_020243D0
- adds r0, 0x20
- ldrb r2, [r4]
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080406C4
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _080406C4
- ldr r1, =gBattleMons
- ldrb r2, [r4]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _080406C4
- ldr r0, =gBankTarget
- strb r2, [r0]
- ldr r0, =gUnknown_082DB0B7
- bl b_call_bc_move_exec
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080406C4:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0xDB
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r12, r2
- mov r3, r9
- cmp r3, 0
- beq _080406DA
- b _080408FE
-_080406DA:
- ldr r0, [r2]
- adds r0, 0xDB
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0804067C
-_080406E8:
- mov r0, r9
- cmp r0, 0
- beq _080406F0
- b _080408FE
-_080406F0:
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- b _080408F6
- .pool
-_0804071C:
- ldr r3, =gBattleWeather
- ldrh r2, [r3]
- movs r0, 0x7
- ands r0, r2
- cmp r0, 0
- bne _0804072A
- b _080408C8
-_0804072A:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- bne _08040776
- ldr r1, =gUnknown_020243D0
- adds r1, 0x28
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _08040768
- ldr r0, =0x0000fffe
- ands r0, r2
- ldr r1, =0x0000fffd
- ands r0, r1
- strh r0, [r3]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- b _08040794
- .pool
-_08040768:
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _08040782
- b _08040790
-_08040776:
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _08040790
-_08040782:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _08040794
- .pool
-_08040790:
- ldr r0, =gBattleCommunication
- strb r1, [r0, 0x5]
-_08040794:
- ldr r0, =gUnknown_082DAC2C
- b _080408BA
- .pool
-_080407A0:
- ldr r3, =gBattleWeather
- ldrh r2, [r3]
- movs r0, 0x18
- ands r0, r2
- cmp r0, 0
- bne _080407AE
- b _080408C8
-_080407AE:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _080407E8
- ldr r1, =gUnknown_020243D0
- adds r1, 0x28
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _080407E8
- ldr r0, =0x0000fff7
- ands r0, r2
- strh r0, [r3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DACC9
- b _080407EC
- .pool
-_080407E8:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAC47
-_080407EC:
- str r0, [r1]
- adds r3, r1, 0
- ldr r1, =gBattleScripting
- movs r2, 0
- movs r0, 0xC
- strb r0, [r1, 0x10]
- ldr r0, =gBattleCommunication
- strb r2, [r0, 0x5]
- b _080408B8
- .pool
-_08040810:
- ldr r3, =gBattleWeather
- ldrh r2, [r3]
- movs r0, 0x60
- ands r0, r2
- cmp r0, 0
- beq _080408C8
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _08040854
- ldr r1, =gUnknown_020243D0
- adds r1, 0x28
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _08040854
- ldr r0, =0x0000ffdf
- ands r0, r2
- strh r0, [r3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DACE0
- b _08040858
- .pool
-_08040854:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DACD2
-_08040858:
- str r0, [r1]
- adds r3, r1, 0
- b _080408B8
- .pool
-_08040868:
- ldr r3, =gBattleWeather
- ldrh r2, [r3]
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080408C8
- ldr r1, =gUnknown_020243D0
- adds r1, 0x28
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _080408A4
- ldr r0, =0x0000ff7f
- ands r0, r2
- strh r0, [r3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DACC9
- b _080408A8
- .pool
-_080408A4:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAC47
-_080408A8:
- str r0, [r1]
- adds r3, r1, 0
- ldr r1, =gBattleScripting
- movs r0, 0xD
- strb r0, [r1, 0x10]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
-_080408B8:
- ldr r0, [r3]
-_080408BA:
- bl b_call_bc_move_exec
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080408C8:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- mov r12, r2
- b _080408F6
- .pool
-_080408EC:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080408F6:
- mov r3, r9
- cmp r3, 0
- bne _080408FE
- b _0804025E
-_080408FE:
- ldr r0, =gBattleMainFunc
- ldr r1, [r0]
- ldr r0, =sub_803B9BC
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80401D0
-
- thumb_func_start sub_8040924
-sub_8040924: @ 8040924
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0
- mov r9, r0
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0x01000020
- orrs r0, r1
- str r0, [r2]
- ldr r5, =gBattleStruct
- ldr r2, [r5]
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r2, 0x1]
- adds r7, r5, 0
- mov r8, r0
- ldrb r3, [r0]
- cmp r1, r3
- bcc _08040954
- bl _08041338
-_08040954:
- bl _0804132E
- .pool
-_08040968:
- ldr r3, =gActiveBank
- ldr r4, =gBankAttacker
- ldr r1, =gTurnOrder
- ldr r5, [r5]
- ldrb r0, [r5, 0x1]
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r4]
- strb r0, [r3]
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- adds r6, r3, 0
- cmp r1, 0
- beq _080409B0
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
- strb r0, [r5, 0x1]
- bl _0804131C
- .pool
-_080409B0:
- ldrb r0, [r5]
- cmp r0, 0x13
- bls _080409BA
- bl _08041312
-_080409BA:
- lsls r0, 2
- ldr r1, =_080409C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080409C8:
- .4byte _08040A18
- .4byte _08040A78
- .4byte _08040A96
- .4byte _08040AC6
- .4byte _08040B44
- .4byte _08040B8C
- .4byte _08040C0C
- .4byte _08040C54
- .4byte _08040CB8
- .4byte _08040D00
- .4byte _08040E60
- .4byte _08040F7C
- .4byte _08041024
- .4byte _080410E8
- .4byte _0804119C
- .4byte _080411BC
- .4byte _08041208
- .4byte _08041238
- .4byte _08040AAE
- .4byte _08041304
-_08040A18:
- ldr r1, =gStatuses3
- ldrb r3, [r6]
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- bne _08040A30
- bl _080412DE
-_08040A30:
- ldr r0, =gBattleMons
- movs r1, 0x58
- muls r1, r3
- adds r0, r1, r0
- ldrh r2, [r0, 0x28]
- ldrh r5, [r0, 0x2C]
- cmp r2, r5
- bne _08040A44
- bl _080412DE
-_08040A44:
- cmp r2, 0
- bne _08040A4C
- bl _080412DE
-_08040A4C:
- ldr r1, =gBattleMoveDamage
- ldrh r0, [r0, 0x2C]
- lsrs r0, 4
- str r0, [r1]
- cmp r0, 0
- bne _08040A5C
- movs r0, 0x1
- str r0, [r1]
-_08040A5C:
- ldr r0, [r1]
- negs r0, r0
- str r0, [r1]
- ldr r0, =gUnknown_082DB0EE
- bl _080412D0
- .pool
-_08040A78:
- ldrb r1, [r6]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08040A92
- bl _080412DE
-_08040A92:
- bl _080412D4
-_08040A96:
- ldrb r1, [r6]
- movs r0, 0x1
- movs r2, 0
- bl berry_effects_maybe
- lsls r0, 24
- cmp r0, 0
- bne _08040AAA
- bl _080412DE
-_08040AAA:
- bl _080412D4
-_08040AAE:
- ldrb r1, [r6]
- movs r0, 0x1
- movs r2, 0x1
- bl berry_effects_maybe
- lsls r0, 24
- cmp r0, 0
- bne _08040AC2
- bl _080412DE
-_08040AC2:
- bl _080412D4
-_08040AC6:
- ldr r0, =gStatuses3
- ldrb r2, [r6]
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08040ADC
- bl _080412DE
-_08040ADC:
- ldr r3, =gBattleMons
- movs r5, 0x3
- ands r5, r1
- movs r1, 0x58
- adds r0, r5, 0
- muls r0, r1
- adds r0, r3
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08040AF4
- bl _080412DE
-_08040AF4:
- adds r0, r2, 0
- muls r0, r1
- adds r0, r3
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08040B04
- bl _080412DE
-_08040B04:
- ldr r0, =gBankTarget
- strb r5, [r0]
- ldr r2, =gBattleMoveDamage
- ldrb r0, [r6]
- muls r0, r1
- adds r0, r3
- ldrh r0, [r0, 0x2C]
- lsrs r0, 3
- str r0, [r2]
- cmp r0, 0
- bne _08040B1E
- movs r0, 0x1
- str r0, [r2]
-_08040B1E:
- ldr r1, =gBattleScripting
- strb r5, [r1, 0x10]
- ldrb r0, [r4]
- strb r0, [r1, 0x11]
- ldr r0, =gUnknown_082DAD15
- b _080412D0
- .pool
-_08040B44:
- ldr r2, =gBattleMons
- ldrb r1, [r6]
- movs r0, 0x58
- adds r3, r1, 0
- muls r3, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08040B60
- b _080412DE
-_08040B60:
- adds r1, r3, r2
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- bne _08040B6A
- b _080412DE
-_08040B6A:
- ldr r2, =gBattleMoveDamage
- ldrh r0, [r1, 0x2C]
- lsrs r0, 3
- str r0, [r2]
- cmp r0, 0
- bne _08040B7A
- movs r0, 0x1
- str r0, [r2]
-_08040B7A:
- ldr r0, =gUnknown_082DB23D
- b _080412D0
- .pool
-_08040B8C:
- ldr r4, =gBattleMons
- ldrb r0, [r6]
- movs r7, 0x58
- mov r8, r7
- mov r2, r8
- muls r2, r0
- adds r3, r4, 0
- adds r3, 0x4C
- adds r0, r2, r3
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08040BAA
- b _080412DE
-_08040BAA:
- adds r1, r2, r4
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- bne _08040BB4
- b _080412DE
-_08040BB4:
- ldr r5, =gBattleMoveDamage
- ldrh r0, [r1, 0x2C]
- lsrs r0, 4
- str r0, [r5]
- cmp r0, 0
- bne _08040BC4
- movs r0, 0x1
- str r0, [r5]
-_08040BC4:
- ldrb r0, [r6]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r2, r0, r3
- ldr r1, [r2]
- movs r4, 0xF0
- lsls r4, 4
- adds r0, r1, 0
- ands r0, r4
- cmp r0, r4
- beq _08040BE4
- movs r7, 0x80
- lsls r7, 1
- adds r0, r1, r7
- str r0, [r2]
-_08040BE4:
- ldrb r0, [r6]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r3
- ldr r0, [r0]
- ands r0, r4
- lsrs r0, 8
- ldr r1, [r5]
- muls r0, r1
- str r0, [r5]
- ldr r0, =gUnknown_082DB23D
- b _080412D0
- .pool
-_08040C0C:
- ldr r2, =gBattleMons
- ldrb r1, [r6]
- movs r0, 0x58
- adds r3, r1, 0
- muls r3, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08040C28
- b _080412DE
-_08040C28:
- adds r1, r3, r2
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- bne _08040C32
- b _080412DE
-_08040C32:
- ldr r2, =gBattleMoveDamage
- ldrh r0, [r1, 0x2C]
- lsrs r0, 3
- str r0, [r2]
- cmp r0, 0
- bne _08040C42
- movs r0, 0x1
- str r0, [r2]
-_08040C42:
- ldr r0, =gUnknown_082DB25F
- b _080412D0
- .pool
-_08040C54:
- ldr r4, =gBattleMons
- ldrb r1, [r6]
- movs r0, 0x58
- muls r1, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r5, r1, r0
- ldr r2, [r5]
- movs r0, 0x80
- lsls r0, 20
- ands r0, r2
- cmp r0, 0
- bne _08040C70
- b _080412DE
-_08040C70:
- adds r3, r1, r4
- ldrh r0, [r3, 0x28]
- cmp r0, 0
- bne _08040C7A
- b _080412DE
-_08040C7A:
- adds r0, r4, 0
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08040CAC
- ldr r1, =gBattleMoveDamage
- ldrh r0, [r3, 0x2C]
- lsrs r0, 2
- str r0, [r1]
- cmp r0, 0
- bne _08040C9A
- movs r0, 0x1
- str r0, [r1]
-_08040C9A:
- ldr r0, =gUnknown_082DB33F
- b _080412D0
- .pool
-_08040CAC:
- ldr r0, =0xf7ffffff
- ands r2, r0
- str r2, [r5]
- b _080412DE
- .pool
-_08040CB8:
- ldr r2, =gBattleMons
- ldrb r1, [r6]
- movs r0, 0x58
- adds r3, r1, 0
- muls r3, r0
- adds r0, r2, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 21
- ands r0, r1
- cmp r0, 0
- bne _08040CD6
- b _080412DE
-_08040CD6:
- adds r1, r3, r2
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- bne _08040CE0
- b _080412DE
-_08040CE0:
- ldr r2, =gBattleMoveDamage
- ldrh r0, [r1, 0x2C]
- lsrs r0, 2
- str r0, [r2]
- cmp r0, 0
- bne _08040CF0
- movs r0, 0x1
- str r0, [r2]
-_08040CF0:
- ldr r0, =gUnknown_082DB350
- b _080412D0
- .pool
-_08040D00:
- ldr r3, =gBattleMons
- mov r8, r3
- ldrb r0, [r6]
- movs r3, 0x58
- adds r1, r0, 0
- muls r1, r3
- movs r5, 0x50
- add r5, r8
- mov r10, r5
- adds r4, r1, r5
- ldr r2, [r4]
- movs r5, 0xE0
- lsls r5, 8
- adds r0, r2, 0
- ands r0, r5
- cmp r0, 0
- bne _08040D24
- b _080412DE
-_08040D24:
- mov r7, r8
- adds r0, r1, r7
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08040D30
- b _080412DE
-_08040D30:
- ldr r1, =0xffffe000
- adds r0, r2, r1
- str r0, [r4]
- ldrb r4, [r6]
- adds r0, r4, 0
- muls r0, r3
- add r0, r10
- ldr r0, [r0]
- ands r0, r5
- cmp r0, 0
- beq _08040DC0
- ldr r1, =gBattleScripting
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- lsls r0, r4, 1
- adds r0, r2
- ldrb r0, [r0, 0x4]
- strb r0, [r1, 0x10]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x11]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0, 0x4]
- strb r0, [r1, 0x2]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB30E
- str r0, [r1]
- ldr r2, =gBattleMoveDamage
- ldrb r0, [r6]
- muls r0, r3
- add r0, r8
- ldrh r0, [r0, 0x2C]
- lsrs r0, 4
- str r0, [r2]
- cmp r0, 0
- bne _08040DEC
- movs r0, 0x1
- str r0, [r2]
- b _08040DEC
- .pool
-_08040DC0:
- ldr r2, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r2]
- movs r0, 0x2
- strb r0, [r2, 0x1]
- ldrb r1, [r6]
- ldr r0, =gBattleStruct
- ldr r3, [r0]
- lsls r1, 1
- adds r1, r3
- ldrb r0, [r1, 0x4]
- strb r0, [r2, 0x2]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r3
- ldrb r0, [r0, 0x5]
- strb r0, [r2, 0x3]
- movs r0, 0xFF
- strb r0, [r2, 0x4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB320
- str r0, [r1]
-_08040DEC:
- ldr r0, [r1]
- b _080412D0
- .pool
-_08040E00:
- movs r0, 0x8
- negs r0, r0
- ands r3, r0
- str r3, [r2]
- ldrb r0, [r6]
- mov r2, r8
- muls r2, r0
- mov r0, r10
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_082DB234
- bl b_call_bc_move_exec
- ldr r4, =gActiveBank
- ldrb r0, [r6]
- strb r0, [r4]
- ldrb r0, [r4]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- add r0, r9
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _08040EC8
- .pool
-_08040E60:
- ldr r2, =gBattleMons
- ldrb r1, [r6]
- movs r0, 0x58
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x50
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x70
- ands r1, r0
- adds r7, r2, 0
- cmp r1, 0
- beq _08040F6A
- movs r0, 0
- strb r0, [r4]
- mov r5, r8
- ldrb r0, [r5]
- cmp r0, 0
- beq _08040EC8
- mov r10, r7
- adds r6, r4, 0
- movs r1, 0x58
- mov r8, r1
- movs r3, 0x4C
- adds r3, r7
- mov r9, r3
- str r0, [sp, 0x4]
- movs r5, 0x7
- mov r12, r5
-_08040E9A:
- ldrb r4, [r6]
- mov r1, r8
- muls r1, r4
- mov r0, r9
- adds r2, r1, r0
- ldr r3, [r2]
- adds r0, r3, 0
- mov r5, r12
- ands r0, r5
- cmp r0, 0
- beq _08040EBA
- adds r0, r1, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x2B
- bne _08040E00
-_08040EBA:
- adds r0, r4, 0x1
- strb r0, [r6]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp, 0x4]
- cmp r0, r1
- bcc _08040E9A
-_08040EC8:
- ldr r2, =gBankAttacker
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08040EE8
- movs r3, 0x2
- mov r9, r3
- b _08041318
- .pool
-_08040EE8:
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- strb r0, [r2]
- ldr r2, =gBattleMons
- ldrb r0, [r5]
- movs r7, 0x58
- adds r1, r0, 0
- muls r1, r7
- adds r6, r2, 0
- adds r6, 0x50
- adds r1, r6
- ldr r0, [r1]
- subs r0, 0x10
- str r0, [r1]
- ldrb r0, [r5]
- bl sub_803F90C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08040F2C
- ldrb r0, [r5]
- bl CancelMultiTurnMoves
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _08040F60
- .pool
-_08040F2C:
- ldrb r3, [r5]
- adds r0, r3, 0
- muls r0, r7
- adds r2, r0, r6
- ldr r0, [r2]
- movs r1, 0x70
- ands r0, r1
- cmp r0, 0
- beq _08040F54
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 5
- orrs r0, r1
- str r0, [r2]
- b _08040F60
- .pool
-_08040F54:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- adds r0, r3, 0
- bl CancelMultiTurnMoves
-_08040F60:
- ldr r0, =gUnknown_082DB2A6
- bl b_call_bc_move_exec
- movs r5, 0x1
- mov r9, r5
-_08040F6A:
- mov r7, r9
- cmp r7, 0x2
- bne _08040F72
- b _08041312
-_08040F72:
- b _080412DE
- .pool
-_08040F7C:
- ldr r1, =gBattleMons
- ldrb r0, [r6]
- movs r7, 0x58
- muls r0, r7
- adds r5, r1, 0
- adds r5, 0x50
- adds r2, r0, r5
- ldr r1, [r2]
- movs r4, 0xC0
- lsls r4, 4
- adds r0, r1, 0
- ands r0, r4
- cmp r0, 0
- bne _08040F9A
- b _080412DE
-_08040F9A:
- ldr r3, =0xfffffc00
- adds r0, r1, r3
- str r0, [r2]
- ldrb r0, [r6]
- bl sub_803F90C
- lsls r0, 24
- cmp r0, 0
- beq _08040FBC
- ldrb r0, [r6]
- bl CancelMultiTurnMoves
- b _080412DE
- .pool
-_08040FBC:
- ldrb r0, [r6]
- muls r0, r7
- adds r2, r0, r5
- ldr r1, [r2]
- adds r0, r1, 0
- ands r0, r4
- cmp r0, 0
- beq _08040FCE
- b _080412DE
-_08040FCE:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- bne _08040FDA
- b _080412DE
-_08040FDA:
- ldr r0, =0xffffefff
- ands r1, r0
- str r1, [r2]
- ldrb r0, [r6]
- muls r0, r7
- adds r0, r5
- ldr r0, [r0]
- movs r4, 0x7
- ands r0, r4
- cmp r0, 0
- beq _08040FF2
- b _080412DE
-_08040FF2:
- ldr r1, =gBattleCommunication
- movs r0, 0x47
- strb r0, [r1, 0x3]
- movs r0, 0x1
- movs r1, 0
- bl sub_8048760
- ldrb r0, [r6]
- muls r0, r7
- adds r0, r5
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- bne _08041010
- b _080412D4
-_08041010:
- ldr r0, =gUnknown_082DB2AF
- bl b_call_bc_move_exec
- b _080412D4
- .pool
-_08041024:
- ldr r0, =gDisableStructs
- ldrb r3, [r6]
- lsls r1, r3, 3
- subs r1, r3
- lsls r1, 2
- adds r5, r1, r0
- ldrb r1, [r5, 0xB]
- lsls r1, 28
- adds r7, r0, 0
- cmp r1, 0
- bne _0804103C
- b _080412DE
-_0804103C:
- movs r4, 0
- ldr r2, =gBattleMons
- movs r0, 0x58
- adds r1, r3, 0
- muls r1, r0
- adds r2, 0xC
- adds r1, r2
- ldrh r0, [r5, 0x4]
- ldrh r1, [r1]
- cmp r0, r1
- beq _0804107A
- mov r12, r7
- mov r8, r2
- adds r5, r6, 0
- movs r3, 0x58
-_0804105A:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0804107A
- ldrb r2, [r5]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- add r1, r12
- lsls r0, r4, 1
- muls r2, r3
- adds r0, r2
- add r0, r8
- ldrh r1, [r1, 0x4]
- ldrh r0, [r0]
- cmp r1, r0
- bne _0804105A
-_0804107A:
- cmp r4, 0x4
- bne _080410AC
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- movs r1, 0
- strh r1, [r0, 0x4]
- ldrb r0, [r6]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0xB]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0xB]
- b _080412DE
- .pool
-_080410AC:
- ldrb r0, [r6]
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- adds r2, r7
- ldrb r3, [r2, 0xB]
- lsls r1, r3, 28
- lsrs r1, 28
- subs r1, 0x1
- movs r0, 0xF
- ands r1, r0
- movs r0, 0x10
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0xB]
- adds r2, r1, 0
- cmp r2, 0
- beq _080410D4
- b _080412DE
-_080410D4:
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x4]
- ldr r0, =gUnknown_082DAE23
- b _080412D0
- .pool
-_080410E8:
- ldr r3, =gDisableStructs
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r2, r0, r3
- ldrb r5, [r2, 0xE]
- lsls r4, r5, 28
- cmp r4, 0
- bne _080410FE
- b _080412DE
-_080410FE:
- ldr r7, =gBattleMons
- mov r8, r7
- ldrb r0, [r2, 0xC]
- lsls r0, 1
- movs r7, 0x58
- muls r1, r7
- adds r0, r1
- mov r1, r8
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r2, 0x6]
- cmp r0, r1
- beq _0804113C
- movs r0, 0
- strh r0, [r2, 0x6]
- ldrb r0, [r6]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0xE]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0xE]
- b _080412DE
- .pool
-_0804113C:
- lsrs r1, r4, 28
- subs r1, 0x1
- movs r0, 0xF
- ands r1, r0
- movs r4, 0x10
- negs r4, r4
- adds r0, r4, 0
- ands r0, r5
- orrs r0, r1
- strb r0, [r2, 0xE]
- cmp r1, 0
- beq _08041172
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- muls r1, r7
- ldrb r0, [r0, 0xC]
- adds r1, r0
- mov r0, r8
- adds r0, 0x24
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08041172
- b _080412DE
-_08041172:
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x6]
- ldrb r0, [r6]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0xE]
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0xE]
- ldr r0, =gUnknown_082DAE37
- b _080412D0
- .pool
-_0804119C:
- ldr r0, =gStatuses3
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x18
- ands r0, r2
- cmp r0, 0
- beq _080411B4
- adds r0, r2, 0
- subs r0, 0x8
- str r0, [r1]
-_080411B4:
- ldr r1, [r7]
- b _080412E2
- .pool
-_080411BC:
- ldr r2, =gDisableStructs
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r3, r0, r2
- ldrb r2, [r3, 0x12]
- lsls r1, r2, 28
- cmp r1, 0
- beq _080411F6
- lsrs r1, 28
- subs r1, 0x1
- movs r0, 0xF
- ands r1, r0
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x12]
- cmp r1, 0
- bne _080411F6
- ldr r0, =gStatuses3
- ldrb r2, [r6]
- lsls r2, 2
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xfffffdff
- ands r0, r1
- str r0, [r2]
-_080411F6:
- ldr r1, [r7]
- b _080412E2
- .pool
-_08041208:
- ldr r2, =gDisableStructs
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r3, r0, r2
- ldrb r2, [r3, 0x13]
- lsls r1, r2, 28
- cmp r1, 0
- beq _0804122E
- lsrs r1, 28
- subs r1, 0x1
- movs r0, 0xF
- ands r1, r0
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x13]
-_0804122E:
- ldr r1, [r7]
- b _080412E2
- .pool
-_08041238:
- ldr r4, =gStatuses3
- ldrb r0, [r6]
- lsls r0, 2
- adds r2, r0, r4
- ldr r1, [r2]
- movs r3, 0xC0
- lsls r3, 5
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _080412DE
- ldr r5, =0xfffff800
- adds r0, r1, r5
- str r0, [r2]
- ldrb r2, [r6]
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- ands r0, r3
- cmp r0, 0
- bne _080412DE
- ldr r3, =gBattleMons
- movs r5, 0x58
- adds r1, r2, 0
- muls r1, r5
- adds r4, r3, 0
- adds r4, 0x4C
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080412DE
- adds r0, r1, r3
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x48
- beq _080412DE
- cmp r0, 0xF
- beq _080412DE
- adds r0, r2, 0
- bl sub_8050650
- lsls r0, 24
- cmp r0, 0
- bne _080412DE
- ldrb r0, [r6]
- bl CancelMultiTurnMoves
- bl Random
- ldrb r1, [r6]
- adds r2, r1, 0
- muls r2, r5
- adds r2, r4
- movs r1, 0x3
- ands r1, r0
- adds r1, 0x2
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r6]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gUnknown_0202420E
- ldrb r0, [r6]
- strb r0, [r1]
- ldr r0, =gUnknown_082DB378
-_080412D0:
- bl b_call_bc_move_exec
-_080412D4:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080412DE:
- ldr r0, =gBattleStruct
- ldr r1, [r0]
-_080412E2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08041312
- .pool
-_08041304:
- ldr r1, [r7]
- movs r0, 0
- strb r0, [r1]
- ldr r1, [r7]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
-_08041312:
- mov r7, r9
- cmp r7, 0
- beq _0804131C
-_08041318:
- mov r0, r9
- b _08041344
-_0804131C:
- ldr r5, =gBattleStruct
- ldr r2, [r5]
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r2, 0x1]
- adds r7, r5, 0
- mov r8, r0
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08041338
-_0804132E:
- ldrb r0, [r2]
- cmp r0, 0x13
- bhi _08041338
- bl _08040968
-_08041338:
- ldr r0, =gHitMarker
- ldr r1, [r0]
- ldr r2, =0xfeffffdf
- ands r1, r2
- str r1, [r0]
- movs r0, 0
-_08041344:
- 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_8040924
-
- thumb_func_start sub_8041364
-sub_8041364: @ 8041364
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0x01000020
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gBattleStruct
- ldr r3, [r1]
- movs r4, 0xD0
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- mov r10, r2
- adds r6, r1, 0
- cmp r0, 0x1
- bne _0804138E
- b _08041548
-_0804138E:
- cmp r0, 0x1
- bgt _080413A4
- cmp r0, 0
- beq _080413AC
- b _08041708
- .pool
-_080413A4:
- cmp r0, 0x2
- bne _080413AA
- b _0804169A
-_080413AA:
- b _08041708
-_080413AC:
- ldr r2, =0x000001a1
- adds r0, r3, r2
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r0]
- mov r8, r1
- ldrb r7, [r1]
- cmp r0, r7
- bcc _080413BE
- b _08041532
-_080413BE:
- ldr r4, =gActiveBank
- ldr r5, =gBattleTextBuff1
- ldr r7, =gUnknown_020243D0
- movs r0, 0x18
- adds r0, r7
- mov r12, r0
-_080413CA:
- ldr r0, [r6]
- adds r3, r0, r2
- ldrb r0, [r3]
- strb r0, [r4]
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0804140C
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- b _08041520
- .pool
-_0804140C:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldr r1, =gUnknown_020243D0
- ldrb r0, [r4]
- adds r2, r0, r1
- ldrb r0, [r2]
- mov r9, r1
- cmp r0, 0
- bne _08041422
- b _08041520
-_08041422:
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _08041520
- ldr r1, =gBattleMons
- ldrb r2, [r4]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08041520
- lsls r0, r2, 1
- add r0, r12
- ldrh r0, [r0]
- cmp r0, 0xF8
- bne _0804145C
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x5]
- b _08041462
- .pool
-_0804145C:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
-_08041462:
- movs r0, 0xFD
- strb r0, [r5]
- movs r6, 0x2
- movs r0, 0x2
- strb r0, [r5, 0x1]
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- strb r0, [r5, 0x2]
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r5, 0x3]
- movs r0, 0xFF
- strb r0, [r5, 0x4]
- ldr r5, =gBankTarget
- ldrb r0, [r4]
- strb r0, [r5]
- ldr r1, =gBankAttacker
- adds r0, r7, 0x4
- ldrb r2, [r4]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r2, =gBattleMoveDamage
- ldrb r0, [r4]
- lsls r0, 2
- adds r1, r7, 0
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldr r2, =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r0, r2
- ldr r1, =0x0000ffff
- str r1, [r0]
- ldr r0, =gUnknown_082DAFE4
- bl b_call_bc_move_exec
- ldrb r1, [r4]
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _080414CC
- b _08041664
-_080414CC:
- eors r1, r6
- mov r3, r9
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080414DA
- b _08041664
-_080414DA:
- ldrb r0, [r5]
- bl GetBankIdentity
- ldr r2, =gSideAffecting
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- ldr r4, =0x0000ffbf
- adds r2, r4, 0
- ands r1, r2
- strh r1, [r0]
- b _08041664
- .pool
-_08041520:
- ldr r0, [r6]
- ldr r2, =0x000001a1
- adds r0, r2
- ldrb r0, [r0]
- mov r1, r8
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08041532
- b _080413CA
-_08041532:
- ldr r0, [r6]
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r3, =0x000001a1
- adds r1, r0, r3
- movs r0, 0
- strb r0, [r1]
-_08041548:
- adds r3, r6, 0
- ldr r0, [r6]
- ldr r2, =0x000001a1
- adds r0, r2
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r0]
- mov r8, r1
- ldrb r4, [r1]
- cmp r0, r4
- bcc _0804155E
- b _08041684
-_0804155E:
- ldr r5, =gActiveBank
- ldr r4, =gBattleTextBuff1
- ldr r7, =gDisableStructs
- mov r12, r7
- ldr r0, =gBankAttacker
- mov r9, r0
-_0804156A:
- ldr r1, =gTurnOrder
- ldr r0, [r3]
- adds r3, r0, r2
- ldrb r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- mov r1, r9
- strb r0, [r1]
- strb r0, [r5]
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080415BC
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- b _08041670
- .pool
-_080415BC:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldr r7, =gStatuses3
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08041670
- movs r0, 0xFD
- strb r0, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x3]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r0, [r0, 0xF]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r4, 0x4]
- movs r0, 0xFF
- strb r0, [r4, 0x5]
- ldrb r2, [r5]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- mov r3, r12
- adds r4, r0, r3
- ldrb r3, [r4, 0xF]
- lsls r1, r3, 28
- cmp r1, 0
- bne _08041644
- lsls r2, 2
- adds r2, r7
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldr r3, =gBattleMoveDamage
- ldr r2, =gBattleMons
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- str r0, [r3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAF05
- b _0804165C
- .pool
-_08041644:
- lsrs r1, 28
- subs r1, 0x1
- movs r0, 0xF
- ands r1, r0
- movs r7, 0x10
- negs r7, r7
- adds r0, r7, 0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4, 0xF]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAF20
-_0804165C:
- str r0, [r1]
- ldr r0, [r1]
- bl b_call_bc_move_exec
-_08041664:
- movs r0, 0x1
- b _08041714
- .pool
-_08041670:
- adds r3, r6, 0
- ldr r0, [r6]
- ldr r2, =0x000001a1
- adds r0, r2
- ldrb r0, [r0]
- mov r1, r8
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08041684
- b _0804156A
-_08041684:
- ldr r0, [r6]
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r6]
- ldr r3, =0x000001a1
- adds r1, r0, r3
- movs r0, 0
- strb r0, [r1]
-_0804169A:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _08041708
- ldr r0, [r6]
- adds r0, 0xDA
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08041708
- ldr r1, =gBattleMons
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- beq _08041708
- adds r0, r1, 0
- adds r0, 0x80
- ldrh r0, [r0]
- cmp r0, 0
- beq _08041708
- movs r4, 0
-_080416C6:
- lsls r0, r4, 24
- lsrs r0, 24
- bl CancelMultiTurnMoves
- adds r4, 0x1
- cmp r4, 0x1
- ble _080416C6
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB8F3
- str r0, [r1]
- bl b_call_bc_move_exec
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- movs r4, 0xD0
- lsls r4, 1
- adds r1, r4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08041664
- .pool
-_08041708:
- mov r7, r10
- ldr r0, [r7]
- ldr r1, =0xfeffffdf
- ands r0, r1
- str r0, [r7]
- movs r0, 0
-_08041714:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8041364
-
- thumb_func_start sub_8041728
-sub_8041728: @ 8041728
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08041770
- b _08041A0A
- .pool
-_08041744:
- ldr r0, =gUnknown_082DA7C4
- bl b_call_bc_move_exec
- ldr r0, [r5]
- adds r0, 0x4D
- movs r1, 0x2
- b _08041764
- .pool
-_08041758:
- ldr r0, =gUnknown_082DA7CD
- bl b_call_bc_move_exec
- ldr r0, [r5]
- adds r0, 0x4D
- movs r1, 0x5
-_08041764:
- strb r1, [r0]
-_08041766:
- movs r0, 0x1
- b _08041A0C
- .pool
-_08041770:
- ldr r0, =gBattleStruct
- mov r8, r0
-_08041774:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x4D
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _08041782
- b _080419FC
-_08041782:
- lsls r0, 2
- ldr r1, =_08041794
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08041794:
- .4byte _080417B4
- .4byte _08041806
- .4byte _080418A0
- .4byte _080418E2
- .4byte _080418F6
- .4byte _08041960
- .4byte _08041994
- .4byte _080419FC
-_080417B4:
- mov r4, r8
- ldr r0, [r4]
- adds r0, 0x4E
- movs r1, 0
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0x4D
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r5, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r5, r0
- bge _08041806
- ldr r6, =gAbsentBankFlags
-_080417D4:
- ldrb r0, [r6]
- ldr r2, =gBitTable
- lsls r1, r5, 2
- adds r1, r2
- ldr r4, [r1]
- ands r0, r4
- cmp r0, 0
- beq _080417FC
- lsls r0, r5, 24
- lsrs r0, 24
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- bne _080417FC
- ldrb r0, [r6]
- bics r0, r4
- strb r0, [r6]
-_080417FC:
- adds r5, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r5, r0
- blt _080417D4
-_08041806:
- ldr r0, =gBattleStruct
- mov r8, r0
- ldr r1, =gUnknown_0202420D
- mov r12, r1
- ldr r2, =gBankTarget
- mov r5, r8
- ldr r7, =gBattleMons
- ldr r6, =gBattlePartyID
-_08041816:
- ldr r3, [r5]
- adds r1, r3, 0
- adds r1, 0x4E
- ldrb r0, [r1]
- strb r0, [r2]
- mov r4, r12
- strb r0, [r4]
- ldrb r4, [r1]
- movs r0, 0x58
- muls r0, r4
- adds r0, r7
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _0804185E
- adds r0, r3, 0
- adds r0, 0xDF
- ldrb r1, [r0]
- ldr r3, =gBitTable
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804185E
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- lsls r0, r4, 2
- adds r0, r3
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804185E
- b _08041744
-_0804185E:
- ldr r0, [r5]
- adds r0, 0x4E
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, =gNoOfAllBanks
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r0]
- cmp r1, r0
- bne _08041816
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x4D
- movs r1, 0x3
- strb r1, [r0]
- b _080419FC
- .pool
-_080418A0:
- ldr r0, =gUnknown_0202420D
- ldrb r0, [r0]
- bl sub_803F9EC
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0x4E
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080418D8
- ldr r0, [r2]
- adds r0, 0x4D
- movs r1, 0x3
- strb r1, [r0]
- b _080419FA
- .pool
-_080418D8:
- ldr r0, [r2]
- adds r0, 0x4D
- movs r1, 0x1
- strb r1, [r0]
- b _080419FA
-_080418E2:
- mov r4, r8
- ldr r0, [r4]
- adds r0, 0x4E
- movs r1, 0
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0x4D
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080418F6:
- ldr r0, =gUnknown_0202420D
- mov r12, r0
- ldr r7, =gBankTarget
- ldr r5, =gBattleStruct
- ldr r2, =gBattleMons
- ldr r6, =gBitTable
-_08041902:
- ldr r0, [r5]
- adds r4, r0, 0
- adds r4, 0x4E
- ldrb r0, [r4]
- strb r0, [r7]
- mov r1, r12
- strb r0, [r1]
- ldrb r3, [r4]
- movs r0, 0x58
- muls r0, r3
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08041930
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08041930
- b _08041758
-_08041930:
- adds r0, r3, 0x1
- strb r0, [r4]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _08041902
- b _08041978
- .pool
-_08041960:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x4E
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, =gNoOfAllBanks
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r0]
- cmp r1, r0
- bne _08041988
-_08041978:
- mov r4, r8
- ldr r0, [r4]
- adds r0, 0x4D
- movs r1, 0x6
- strb r1, [r0]
- b _080419FC
- .pool
-_08041988:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x4D
- movs r1, 0x4
- strb r1, [r0]
- b _080419FC
-_08041994:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080419AE
- b _08041766
-_080419AE:
- str r0, [sp]
- movs r0, 0xB
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _080419C4
- b _08041766
-_080419C4:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- bl berry_effects_maybe
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080419D8
- b _08041766
-_080419D8:
- str r0, [sp]
- movs r0, 0x6
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _080419EE
- b _08041766
-_080419EE:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0x4D
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080419FA:
- mov r8, r2
-_080419FC:
- mov r4, r8
- ldr r0, [r4]
- adds r0, 0x4D
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _08041A0A
- b _08041774
-_08041A0A:
- movs r0, 0
-_08041A0C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8041728
-
- thumb_func_start b_clear_atk_up_if_hit_flag_unless_enraged
-b_clear_atk_up_if_hit_flag_unless_enraged: @ 8041A1C
- push {r4-r6,lr}
- movs r3, 0
- ldr r0, =gNoOfAllBanks
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r3, r0
- bge _08041A54
- ldr r4, =gUnknown_02024274
- movs r6, 0x80
- lsls r6, 16
- ldr r2, =gBattleMons + 0x50
-_08041A32:
- ldr r1, [r2]
- adds r0, r1, 0
- ands r0, r6
- cmp r0, 0
- beq _08041A48
- ldrh r0, [r4]
- cmp r0, 0x63
- beq _08041A48
- ldr r0, =0xff7fffff
- ands r1, r0
- str r1, [r2]
-_08041A48:
- adds r4, 0x2
- adds r2, 0x58
- adds r3, 0x1
- ldrb r0, [r5]
- cmp r3, r0
- blt _08041A32
-_08041A54:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end b_clear_atk_up_if_hit_flag_unless_enraged
-
- thumb_func_start sub_8041A6C
-sub_8041A6C: @ 8041A6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r0, 0
- mov r9, r0
- ldr r1, =gBattleScripting + 4
- mov r10, r1
- ldr r2, =gBattleStruct
- mov r8, r2
- b _08041A9A
- .pool
-_08041A90:
- mov r3, r9
- cmp r3, 0
- beq _08041A9A
- bl _08042388
-_08041A9A:
- mov r4, r8
- ldr r0, [r4]
- ldr r7, =0x000001a3
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0xE
- bls _08041AAC
- bl _08042376
-_08041AAC:
- lsls r0, 2
- ldr r1, =_08041AC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08041AC0:
- .4byte _08041AFC
- .4byte _08041B48
- .4byte _08041C90
- .4byte _08041D50
- .4byte _08041DC4
- .4byte _08041E40
- .4byte _08041EB8
- .4byte _08041F38
- .4byte _08041FC0
- .4byte _08042028
- .4byte _08042114
- .4byte _08042194
- .4byte _08042234
- .4byte _0804231C
- .4byte _08042376
-_08041AFC:
- ldr r1, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r2, [r3]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- ldr r1, =0xfdffffff
- ands r0, r1
- str r0, [r2]
- ldr r0, =gStatuses3
- ldrb r2, [r3]
- lsls r2, 2
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xffffbfff
- ands r0, r1
- str r0, [r2]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x000001a3
- adds r1, r0, r2
- bl _08042370
- .pool
-_08041B48:
- ldr r7, =gBattleMons
- ldr r4, =gBankAttacker
- ldrb r1, [r4]
- movs r5, 0x58
- adds r0, r1, 0
- muls r0, r5
- adds r6, r7, 0
- adds r6, 0x4C
- adds r0, r6
- ldr r0, [r0]
- movs r3, 0x7
- mov r8, r3
- ands r0, r3
- cmp r0, 0
- bne _08041B68
- b _08041C6E
-_08041B68:
- adds r0, r1, 0
- bl sub_8050650
- lsls r0, 24
- cmp r0, 0
- beq _08041BC8
- ldrb r0, [r4]
- adds r2, r0, 0
- muls r2, r5
- adds r2, r6
- ldr r0, [r2]
- movs r1, 0x8
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldrb r0, [r4]
- adds r2, r0, 0
- muls r2, r5
- adds r0, r7, 0
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB220
- str r0, [r1]
- movs r4, 0x2
- mov r9, r4
- b _08041C6E
- .pool
-_08041BC8:
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r5
- adds r0, r1, r7
- adds r0, 0x20
- ldrb r0, [r0]
- movs r3, 0x1
- cmp r0, 0x30
- bne _08041BDC
- movs r3, 0x2
-_08041BDC:
- adds r2, r1, r6
- ldr r1, [r2]
- adds r0, r1, 0
- mov r7, r8
- ands r0, r7
- cmp r0, r3
- bcs _08041BF4
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- b _08041BF8
-_08041BF4:
- subs r0, r1, r3
- str r0, [r2]
-_08041BF8:
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- 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 _08041C50
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xAD
- beq _08041C6E
- cmp r0, 0xD6
- beq _08041C6E
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB213
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- movs r0, 0x2
- mov r9, r0
- b _08041C6E
- .pool
-_08041C50:
- adds r2, 0x50
- adds r2, r1, r2
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB220
- str r0, [r1]
- movs r1, 0x2
- mov r9, r1
-_08041C6E:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldr r3, =0x000001a3
- adds r2, r0, r3
- b _0804216A
- .pool
-_08041C90:
- ldr r1, =gBattleMons
- ldr r7, =gBankAttacker
- ldrb r0, [r7]
- movs r6, 0x58
- muls r0, r6
- adds r5, r1, 0
- adds r5, 0x4C
- adds r0, r5
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08041D30
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08041D08
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x7D
- bne _08041CD6
- b _08042162
-_08041CD6:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB26A
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r2]
- b _08041D28
- .pool
-_08041D08:
- ldrb r0, [r7]
- adds r2, r0, 0
- muls r2, r6
- adds r2, r5
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB277
- str r0, [r1]
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
-_08041D28:
- movs r7, 0x2
- mov r9, r7
- ldr r0, =gBattleStruct
- mov r8, r0
-_08041D30:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x000001a3
- adds r1, r0, r2
- b _08042370
- .pool
-_08041D50:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x36
- beq _08041D66
- b _08042162
-_08041D66:
- ldr r0, =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x18]
- lsls r0, 31
- cmp r0, 0
- bne _08041D7A
- b _08042162
-_08041D7A:
- adds r0, r2, 0
- bl CancelMultiTurnMoves
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB6AD
- str r0, [r1]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- b _0804215E
- .pool
-_08041DC4:
- ldr r1, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r2, [r3]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 15
- ands r0, r1
- cmp r0, 0
- beq _08041E10
- ldr r0, =0xffbfffff
- ands r1, r0
- str r1, [r2]
- ldr r2, =gDisableStructs
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x19]
- ldrb r0, [r3]
- bl CancelMultiTurnMoves
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D9462
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- movs r7, 0x1
- mov r9, r7
-_08041E10:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldr r3, =0x000001a3
- adds r2, r0, r3
- b _0804216A
- .pool
-_08041E40:
- ldr r1, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r2, [r3]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08041E8C
- movs r0, 0x9
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- ldr r0, =gProtectStructs
- ldrb r2, [r3]
- lsls r2, 4
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldrb r0, [r3]
- bl CancelMultiTurnMoves
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB29B
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- movs r4, 0x1
- mov r9, r4
-_08041E8C:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldr r7, =0x000001a3
- adds r2, r0, r7
- b _0804216A
- .pool
-_08041EB8:
- ldr r0, =gDisableStructs
- ldr r3, =gBankAttacker
- ldrb r2, [r3]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldr r0, =gCurrentMove
- ldrh r1, [r1, 0x4]
- ldrh r0, [r0]
- cmp r1, r0
- bne _08041F04
- cmp r1, 0
- beq _08041F04
- ldr r0, =gProtectStructs
- lsls r2, 4
- adds r2, r0
- ldrb r0, [r2, 0x1]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, =gBattleScripting
- ldrb r0, [r3]
- strb r0, [r1, 0x17]
- ldrb r0, [r3]
- bl CancelMultiTurnMoves
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAE14
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- movs r0, 0x1
- mov r9, r0
-_08041F04:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldr r3, =0x000001a3
- adds r2, r0, r3
- b _0804216A
- .pool
-_08041F38:
- ldr r0, =gDisableStructs
- ldr r4, =gBankAttacker
- ldrb r3, [r4]
- lsls r1, r3, 3
- subs r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x13]
- lsls r0, 28
- cmp r0, 0
- beq _08041F8C
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _08041F8C
- ldr r0, =gProtectStructs
- lsls r2, r3, 4
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldrb r0, [r4]
- bl CancelMultiTurnMoves
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB0A4
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- movs r4, 0x1
- mov r9, r4
-_08041F8C:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldr r7, =0x000001a3
- adds r2, r0, r7
- b _0804216A
- .pool
-_08041FC0:
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- bl sub_8040130
- lsls r0, 24
- cmp r0, 0
- beq _08041FFE
- ldr r0, =gProtectStructs
- ldrb r2, [r4]
- lsls r2, 4
- adds r2, r0
- ldrb r0, [r2, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrb r0, [r4]
- bl CancelMultiTurnMoves
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB176
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- movs r0, 0x1
- mov r9, r0
-_08041FFE:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldr r3, =0x000001a3
- adds r2, r0, r3
- b _0804216A
- .pool
-_08042028:
- ldr r7, =gBattleMons
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- movs r6, 0x58
- muls r0, r6
- adds r4, r7, 0
- adds r4, 0x50
- adds r2, r0, r4
- ldr r1, [r2]
- movs r3, 0x7
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _080420FA
- subs r0, r1, 0x1
- str r0, [r2]
- ldrb r0, [r5]
- muls r0, r6
- adds r0, r4
- ldr r0, [r0]
- ands r0, r3
- cmp r0, 0
- beq _080420E8
- bl Random
- movs r1, 0x1
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _0804207C
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x5]
- bl b_movescr_stack_push_cursor
- b _080420C6
- .pool
-_0804207C:
- ldr r0, =gBattleCommunication
- movs r4, 0x1
- strb r1, [r0, 0x5]
- ldr r1, =gBankTarget
- ldrb r0, [r5]
- strb r0, [r1]
- ldrb r0, [r5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r7
- movs r0, 0x28
- str r0, [sp]
- str r2, [sp, 0x4]
- ldrb r0, [r5]
- str r0, [sp, 0x8]
- ldrb r0, [r5]
- str r0, [sp, 0xC]
- adds r0, r1, 0
- movs r2, 0x1
- movs r3, 0
- bl CalculateBaseDamage
- ldr r1, =gBattleMoveDamage
- str r0, [r1]
- ldr r0, =gProtectStructs
- ldrb r1, [r5]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- orrs r0, r4
- strb r0, [r1, 0x1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
-_080420C6:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB2BD
- b _080420F0
- .pool
-_080420E8:
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB300
-_080420F0:
- str r0, [r1]
- movs r4, 0x1
- mov r9, r4
- ldr r7, =gBattleStruct
- mov r8, r7
-_080420FA:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x000001a3
- adds r1, r0, r2
- b _08042370
- .pool
-_08042114:
- ldr r1, =gBattleMons
- ldr r4, =gBankAttacker
- ldrb r2, [r4]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08042162
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- cmp r1, 0
- bne _08042162
- ldr r0, =gProtectStructs
- ldrb r2, [r4]
- lsls r2, 4
- adds r2, r0
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB28B
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
-_0804215E:
- movs r3, 0x1
- mov r9, r3
-_08042162:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldr r4, =0x000001a3
- adds r2, r0, r4
-_0804216A:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- mov r8, r1
- b _08042376
- .pool
-_08042194:
- ldr r1, =gBattleMons
- ldr r4, =gBankAttacker
- ldrb r2, [r4]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0xF0
- lsls r0, 12
- ands r1, r0
- cmp r1, 0
- beq _0804220E
- lsrs r0, r1, 16
- bl CountTrailingZeroBits
- ldr r1, =gBattleScripting
- strb r0, [r1, 0x17]
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080421D8
- bl b_movescr_stack_push_cursor
- b _08042200
- .pool
-_080421D8:
- ldr r0, =gUnknown_082DB334
- bl b_movescr_stack_push
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r2]
- ldr r0, =gProtectStructs
- ldrb r2, [r4]
- lsls r2, 4
- adds r2, r0
- ldrb r0, [r2, 0x1]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrb r0, [r4]
- bl CancelMultiTurnMoves
-_08042200:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB327
- str r0, [r1]
- movs r7, 0x1
- mov r9, r7
- ldr r0, =gBattleStruct
- mov r8, r0
-_0804220E:
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x000001a3
- adds r1, r0, r2
- b _08042370
- .pool
-_08042234:
- ldr r1, =gBattleMons
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- movs r5, 0x58
- muls r0, r5
- adds r1, 0x50
- adds r3, r0, r1
- ldr r2, [r3]
- movs r4, 0xC0
- lsls r4, 2
- adds r0, r2, 0
- ands r0, r4
- cmp r0, 0
- beq _08042306
- ldr r7, =0xffffff00
- adds r0, r2, r7
- str r0, [r3]
- ldrb r2, [r6]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r1
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08042280
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAD71
- b _08042300
- .pool
-_08042280:
- ldr r3, =gUnknown_020241F8
- lsls r0, r2, 2
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0
- beq _080422FC
- ldr r1, =gCurrentMove
- movs r0, 0x75
- strh r0, [r1]
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- lsls r0, 1
- mov r1, r10
- str r0, [r1]
- ldr r4, =gBankTarget
- ldr r1, =gUnknown_02024288
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r4]
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080422CA
- movs r0, 0x75
- movs r1, 0x1
- bl GetMoveTarget
- strb r0, [r4]
-_080422CA:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAD7C
- str r0, [r1]
- ldr r2, =gBattleStruct
- mov r8, r2
- b _08042302
- .pool
-_080422FC:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DADC4
-_08042300:
- str r0, [r1]
-_08042302:
- movs r3, 0x1
- mov r9, r3
-_08042306:
- mov r4, r8
- ldr r0, [r4]
- ldr r7, =0x000001a3
- adds r1, r0, r7
- b _08042370
- .pool
-_0804231C:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x4C
- adds r4, r0, r1
- ldr r3, [r4]
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _08042368
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x7D
- bne _08042360
- movs r0, 0x21
- negs r0, r0
- ands r3, r0
- str r3, [r4]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB277
- str r0, [r1]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
-_08042360:
- movs r0, 0x2
- mov r9, r0
- ldr r1, =gBattleStruct
- mov r8, r1
-_08042368:
- mov r2, r8
- ldr r0, [r2]
- ldr r3, =0x000001a3
- adds r1, r0, r3
-_08042370:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08042376:
- mov r4, r8
- ldr r0, [r4]
- ldr r7, =0x000001a3
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0xE
- beq _08042388
- bl _08041A90
-_08042388:
- mov r0, r9
- cmp r0, 0x2
- bne _080423B4
- ldr r4, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [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 dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080423B4:
- mov r0, r9
- 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_8041A6C
-
- thumb_func_start sub_80423F4
-sub_80423F4: @ 80423F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08042424
- movs r0, 0
- b _080426A0
- .pool
-_08042424:
- movs r0, 0x80
- lsls r0, 15
- ands r0, r1
- cmp r0, 0
- beq _0804249C
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- ldr r1, =gEnemyParty
- mov r8, r1
- cmp r0, 0
- bne _08042442
- ldr r2, =gPlayerParty
- mov r8, r2
-_08042442:
- movs r0, 0x2
- ands r0, r4
- lsls r0, 24
- lsrs r6, r0, 25
- lsls r0, r6, 1
- adds r4, r0, r6
- adds r0, r4, 0x3
- cmp r4, r0
- bge _0804248C
- adds r7, r0, 0
-_08042456:
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08042486
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08042486
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _0804248C
-_08042486:
- adds r4, 0x1
- cmp r4, r7
- blt _08042456
-_0804248C:
- movs r1, 0
- lsls r0, r6, 1
- adds r0, r6
- b _08042556
- .pool
-_0804249C:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804256C
- movs r0, 0x80
- lsls r0, 16
- ands r1, r0
- cmp r1, 0
- beq _080424E4
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080424D0
- ldr r2, =gPlayerParty
- mov r8, r2
- adds r0, r4, 0
- bl sub_806D864
- lsls r0, 24
- lsrs r7, r0, 24
- b _08042502
- .pool
-_080424D0:
- ldr r0, =gEnemyParty
- mov r8, r0
- movs r1, 0x1
- eors r1, r4
- negs r0, r1
- orrs r0, r1
- lsrs r6, r0, 31
- b _0804250C
- .pool
-_080424E4:
- adds r0, r4, 0
- bl sub_806D864
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- ldr r1, =gEnemyParty
- mov r8, r1
- cmp r0, 0
- bne _08042502
- ldr r2, =gPlayerParty
- mov r8, r2
-_08042502:
- adds r0, r7, 0
- bl sub_806D82C
- lsls r0, 24
- lsrs r6, r0, 24
-_0804250C:
- lsls r0, r6, 1
- adds r4, r0, r6
- adds r1, r4, 0x3
- mov r9, r0
- cmp r4, r1
- bge _08042550
- adds r7, r1, 0
-_0804251A:
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804254A
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _0804254A
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08042550
-_0804254A:
- adds r4, 0x1
- cmp r4, r7
- blt _0804251A
-_08042550:
- movs r1, 0
- mov r2, r9
- adds r0, r2, r6
-_08042556:
- adds r0, 0x3
- cmp r4, r0
- bne _0804255E
- movs r1, 0x1
-_0804255E:
- adds r0, r1, 0
- b _080426A0
- .pool
-_0804256C:
- movs r0, 0x80
- lsls r0, 8
- ands r1, r0
- cmp r1, 0
- beq _080425DA
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080425DA
- ldr r0, =gEnemyParty
- mov r8, r0
- movs r6, 0x3
- cmp r4, 0x1
- bne _08042590
- movs r6, 0
-_08042590:
- adds r4, r6, 0
- adds r6, r4, 0x3
- b _0804259E
- .pool
-_0804259C:
- adds r4, 0x1
-_0804259E:
- cmp r4, r6
- bge _080425D2
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804259C
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _0804259C
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _0804259C
-_080425D2:
- movs r0, 0
- cmp r4, r6
- bne _080426A0
- b _0804269E
-_080425DA:
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08042608
- movs r0, 0x1
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x3
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gEnemyParty
- mov r8, r2
- b _08042620
- .pool
-_08042608:
- movs r0, 0
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x2
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPlayerParty
- mov r8, r0
-_08042620:
- mov r1, r10
- cmp r1, 0x6
- bne _08042630
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrb r0, [r0]
- mov r10, r0
-_08042630:
- mov r2, r9
- cmp r2, 0x6
- bne _08042640
- ldr r1, =gBattlePartyID
- lsls r0, r6, 1
- adds r0, r1
- ldrb r0, [r0]
- mov r9, r0
-_08042640:
- movs r4, 0
-_08042642:
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08042692
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08042692
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08042692
- cmp r4, r10
- beq _08042692
- cmp r4, r9
- beq _08042692
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r0, r7, r1
- adds r0, 0x5C
- ldrb r0, [r0]
- cmp r4, r0
- beq _08042692
- adds r0, r6, r1
- adds r0, 0x5C
- ldrb r0, [r0]
- cmp r4, r0
- bne _08042698
-_08042692:
- adds r4, 0x1
- cmp r4, 0x5
- ble _08042642
-_08042698:
- movs r0, 0
- cmp r4, 0x6
- bne _080426A0
-_0804269E:
- movs r0, 0x1
-_080426A0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80423F4
-
- thumb_func_start castform_switch
-castform_switch: @ 80426BC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r6
- adds r4, r0, r1
- ldrh r1, [r4]
- ldr r0, =0x00000181
- cmp r1, r0
- bne _08042760
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x3B
- bne _08042760
- ldrh r0, [r4, 0x28]
- cmp r0, 0
- beq _08042760
- str r5, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _0804270E
- str r5, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _08042734
-_0804270E:
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0
- beq _08042734
- adds r1, r4, 0
- adds r1, 0x22
- ldrb r0, [r1]
- cmp r0, 0
- beq _08042734
- strb r5, [r2]
- strb r5, [r1]
- movs r0, 0x1
- b _08042818
- .pool
-_08042734:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08042760
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _08042764
-_08042760:
- movs r0, 0
- b _08042818
-_08042764:
- ldr r1, =gBattleWeather
- ldrh r0, [r1]
- movs r2, 0xE7
- ands r2, r0
- adds r4, r1, 0
- cmp r2, 0
- bne _08042792
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r6
- adds r1, r0, r1
- adds r3, r1, 0
- adds r3, 0x21
- ldrb r0, [r3]
- cmp r0, 0
- beq _08042792
- adds r1, 0x22
- ldrb r0, [r1]
- cmp r0, 0
- beq _08042792
- strb r2, [r3]
- strb r2, [r1]
- movs r5, 0x1
-_08042792:
- ldrh r1, [r4]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _080427BE
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r6
- adds r1, r0, r1
- adds r2, r1, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0xA
- beq _080427BE
- adds r1, 0x22
- ldrb r0, [r1]
- cmp r0, 0xA
- beq _080427BE
- movs r0, 0xA
- strb r0, [r2]
- strb r0, [r1]
- movs r5, 0x2
-_080427BE:
- ldrh r1, [r4]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _080427EA
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r6
- adds r1, r0, r1
- adds r2, r1, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0xB
- beq _080427EA
- adds r1, 0x22
- ldrb r0, [r1]
- cmp r0, 0xB
- beq _080427EA
- movs r0, 0xB
- strb r0, [r2]
- strb r0, [r1]
- movs r5, 0x3
-_080427EA:
- ldrh r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08042816
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r6
- adds r1, r0, r1
- adds r2, r1, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0xF
- beq _08042816
- adds r1, 0x22
- ldrb r0, [r1]
- cmp r0, 0xF
- beq _08042816
- movs r0, 0xF
- strb r0, [r2]
- strb r0, [r1]
- movs r5, 0x4
-_08042816:
- adds r0, r5, 0
-_08042818:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end castform_switch
-
- thumb_func_start AbilityBattleEffects
-AbilityBattleEffects: @ 8042828
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- ldr r4, [sp, 0x48]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0
- mov r9, r0
- ldr r5, =gBankAttacker
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r5]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08042864
- mov r1, r10
- strb r1, [r5]
-_08042864:
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08042894
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _080428A4
- .pool
-_08042894:
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_080428A4:
- adds r7, r1, r0
- ldr r5, =gBankTarget
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r5]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080428B6
- mov r2, r10
- strb r2, [r5]
-_080428B6:
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080428E8
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _080428F8
- .pool
-_080428E8:
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_080428F8:
- adds r5, r1, r0
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x14]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804293A
- bl _0804443A
-_0804293A:
- mov r3, r8
- cmp r3, 0
- beq _08042958
- ldr r0, =gLastUsedAbility
- strb r3, [r0]
- adds r7, r0, 0
- b _0804296E
- .pool
-_08042958:
- ldr r2, =gLastUsedAbility
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r5, r10
- muls r5, r0
- adds r0, r5, 0
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r2]
- adds r7, r2, 0
-_0804296E:
- cmp r4, 0
- beq _08042980
- adds r5, r4, 0
- b _08042984
- .pool
-_08042980:
- ldr r0, =gCurrentMove
- ldrh r5, [r0]
-_08042984:
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldrb r0, [r0, 0x13]
- mov r8, r1
- cmp r0, 0
- beq _080429A0
- movs r3, 0x3F
- ands r3, r0
- b _080429AC
- .pool
-_080429A0:
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x2]
-_080429AC:
- ldr r0, [sp, 0x4]
- cmp r0, 0x13
- bls _080429B6
- bl _0804441E
-_080429B6:
- lsls r0, 2
- ldr r1, =_080429C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080429C8:
- .4byte _08042A18
- .4byte _08042CDC
- .4byte _08042EF8
- .4byte _08042F8C
- .4byte _080431AC
- .4byte _08043908
- .4byte _08043C6C
- .4byte _08043CBC
- .4byte _08043D40
- .4byte _08043DC4
- .4byte _08043FE4
- .4byte _08043E08
- .4byte _08044028
- .4byte _08044084
- .4byte _080440E0
- .4byte _080441DC
- .4byte _08044220
- .4byte _0804427C
- .4byte _080443EC
- .4byte _08044196
-_08042A18:
- ldr r2, =gBankAttacker
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r2]
- adds r5, r0, 0
- ldrb r3, [r5]
- cmp r1, r3
- bcc _08042A2A
- mov r0, r10
- strb r0, [r2]
-_08042A2A:
- ldrb r0, [r7]
- cmp r0, 0x2D
- bne _08042A32
- b _08042BA8
-_08042A32:
- cmp r0, 0x2D
- bgt _08042A64
- cmp r0, 0xD
- bne _08042A3C
- b _08042CA4
-_08042A3C:
- cmp r0, 0xD
- bgt _08042A54
- cmp r0, 0x2
- bne _08042A46
- b _08042B78
-_08042A46:
- bl _0804441E
- .pool
-_08042A54:
- cmp r0, 0x16
- bne _08042A5A
- b _08042C08
-_08042A5A:
- cmp r0, 0x24
- bne _08042A60
- b _08042C68
-_08042A60:
- bl _0804441E
-_08042A64:
- cmp r0, 0x46
- bne _08042A6A
- b _08042BD8
-_08042A6A:
- cmp r0, 0x46
- bgt _08042A78
- cmp r0, 0x3B
- bne _08042A74
- b _08042C3C
-_08042A74:
- bl _0804441E
-_08042A78:
- cmp r0, 0x4D
- bne _08042A7E
- b _08042CA4
-_08042A7E:
- cmp r0, 0xFF
- beq _08042A86
- bl _0804441E
-_08042A86:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- bne _08042B4C
- bl weather_get_current
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x3
- cmp r0, 0xA
- bhi _08042B4C
- lsls r0, 2
- ldr r1, =_08042AB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08042AB4:
- .4byte _08042AE0
- .4byte _08042B4C
- .4byte _08042AE0
- .4byte _08042B4C
- .4byte _08042B4C
- .4byte _08042B04
- .4byte _08042B4C
- .4byte _08042B4C
- .4byte _08042B4C
- .4byte _08042B28
- .4byte _08042AE0
-_08042AE0:
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08042B4C
- movs r0, 0x5
- strh r0, [r2]
- ldr r1, =gBattleScripting
- movs r0, 0xA
- strb r0, [r1, 0x10]
- mov r2, r10
- strb r2, [r1, 0x17]
- b _08042B42
- .pool
-_08042B04:
- ldr r3, =gBattleWeather
- ldrh r1, [r3]
- movs r2, 0x18
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08042B4C
- strh r2, [r3]
- ldr r1, =gBattleScripting
- movs r0, 0xC
- strb r0, [r1, 0x10]
- mov r3, r10
- strb r3, [r1, 0x17]
- b _08042B42
- .pool
-_08042B28:
- ldr r3, =gBattleWeather
- ldrh r1, [r3]
- movs r2, 0x60
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08042B4C
- strh r2, [r3]
- ldr r1, =gBattleScripting
- movs r0, 0xB
- strb r0, [r1, 0x10]
- mov r5, r10
- strb r5, [r1, 0x17]
-_08042B42:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08042B4C:
- mov r0, r9
- cmp r0, 0
- bne _08042B56
- bl _0804443A
-_08042B56:
- bl weather_get_current
- ldr r1, =gBattleCommunication
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_082DACE7
- bl b_push_move_exec
- bl _0804441E
- .pool
-_08042B78:
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08042B88
- bl _0804441E
-_08042B88:
- movs r0, 0x5
- strh r0, [r2]
- ldr r0, =gUnknown_082DB430
- bl b_push_move_exec
- ldr r0, =gBattleScripting
- mov r1, r10
- strb r1, [r0, 0x17]
- bl _080443D0
- .pool
-_08042BA8:
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08042BB8
- bl _0804441E
-_08042BB8:
- movs r0, 0x18
- strh r0, [r2]
- ldr r0, =gUnknown_082DB470
- bl b_push_move_exec
- ldr r0, =gBattleScripting
- mov r2, r10
- strb r2, [r0, 0x17]
- bl _080443D0
- .pool
-_08042BD8:
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08042BE8
- bl _0804441E
-_08042BE8:
- movs r0, 0x60
- strh r0, [r2]
- ldr r0, =gUnknown_082DB52A
- bl b_push_move_exec
- ldr r0, =gBattleScripting
- mov r3, r10
- strb r3, [r0, 0x17]
- bl _080443D0
- .pool
-_08042C08:
- ldr r0, =gSpecialStatuses
- mov r5, r10
- lsls r2, r5, 2
- adds r1, r2, r5
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3]
- lsls r0, 28
- cmp r0, 0
- bge _08042C20
- bl _0804441E
-_08042C20:
- ldr r1, =gStatuses3
- adds r1, r2, r1
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 12
- orrs r0, r2
- str r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x8
- b _08042C92
- .pool
-_08042C3C:
- mov r0, r10
- bl castform_switch
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0
- bne _08042C50
- bl _0804443A
-_08042C50:
- ldr r0, =gUnknown_082DB4A9
- bl b_push_move_exec
- ldr r0, =gBattleScripting
- mov r1, r10
- strb r1, [r0, 0x17]
- bl _080442E2
- .pool
-_08042C68:
- ldr r0, =gSpecialStatuses
- mov r3, r10
- lsls r2, r3, 2
- adds r1, r2, r3
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3]
- lsls r0, 27
- cmp r0, 0
- bge _08042C80
- bl _0804441E
-_08042C80:
- ldr r1, =gStatuses3
- adds r1, r2, r1
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 13
- orrs r0, r2
- str r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x10
-_08042C92:
- orrs r0, r1
- strb r0, [r3]
- bl _0804441E
- .pool
-_08042CA4:
- movs r6, 0
- ldrb r5, [r5]
- cmp r6, r5
- bcc _08042CB0
- bl _0804441E
-_08042CB0:
- adds r0, r6, 0
- bl castform_switch
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0
- beq _08042CC4
- bl _080442D8
-_08042CC4:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08042CB0
- bl _0804441E
- .pool
-_08042CDC:
- ldr r5, =gBattleMons
- mov r8, r5
- movs r0, 0x58
- mov r6, r10
- muls r6, r0
- adds r4, r6, r5
- ldrh r0, [r4, 0x28]
- cmp r0, 0
- bne _08042CF2
- bl _0804441E
-_08042CF2:
- ldr r0, =gBankAttacker
- mov r1, r10
- strb r1, [r0]
- ldrb r5, [r7]
- cmp r5, 0x2C
- beq _08042D22
- cmp r5, 0x2C
- bgt _08042D14
- cmp r5, 0x3
- bne _08042D08
- b _08042E84
-_08042D08:
- bl _0804441E
- .pool
-_08042D14:
- cmp r5, 0x36
- bne _08042D1A
- b _08042ED0
-_08042D1A:
- cmp r5, 0x3D
- beq _08042DA0
- bl _0804441E
-_08042D22:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08042D3E
- bl _0804441E
-_08042D3E:
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _08042D56
- bl _0804441E
-_08042D56:
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08042D66
- bl _0804441E
-_08042D66:
- ldrh r0, [r4, 0x2C]
- ldrh r2, [r4, 0x28]
- cmp r0, r2
- bhi _08042D72
- bl _0804441E
-_08042D72:
- strb r5, [r7]
- ldr r0, =gUnknown_082DB45C
- bl b_push_move_exec
- ldr r1, =gBattleMoveDamage
- ldrh r0, [r4, 0x2C]
- lsrs r0, 4
- str r0, [r1]
- cmp r0, 0
- bne _08042D8A
- movs r0, 0x1
- str r0, [r1]
-_08042D8A:
- ldr r0, [r1]
- negs r0, r0
- str r0, [r1]
- bl _080443D0
- .pool
-_08042DA0:
- mov r0, r8
- adds r0, 0x4C
- adds r5, r6, r0
- ldrb r0, [r5]
- cmp r0, 0
- bne _08042DB0
- bl _0804441E
-_08042DB0:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08042DCA
- bl _0804441E
-_08042DCA:
- ldr r0, [r5]
- movs r1, 0x88
- ands r0, r1
- cmp r0, 0
- beq _08042DDC
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC70
- bl StringCopy
-_08042DDC:
- ldr r0, [r5]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08042DEE
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC78
- bl StringCopy
-_08042DEE:
- ldr r0, [r5]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08042E00
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC80
- bl StringCopy
-_08042E00:
- ldr r0, [r5]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08042E12
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC88
- bl StringCopy
-_08042E12:
- ldr r0, [r5]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08042E24
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC90
- bl StringCopy
-_08042E24:
- str r4, [r5]
- mov r1, r8
- adds r1, 0x50
- adds r1, r6, r1
- ldr r0, [r1]
- ldr r2, =0xf7ffffff
- ands r0, r2
- str r0, [r1]
- ldr r0, =gBattleScripting
- ldr r4, =gActiveBank
- mov r3, r10
- strb r3, [r4]
- strb r3, [r0, 0x17]
- ldr r0, =gUnknown_082DB484
- bl b_push_move_exec
- str r5, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- bl _080443D0
- .pool
-_08042E84:
- ldrb r2, [r4, 0x1B]
- movs r0, 0x1B
- ldrsb r0, [r4, r0]
- cmp r0, 0xB
- ble _08042E92
- bl _0804441E
-_08042E92:
- ldr r0, =gDisableStructs
- mov r5, r10
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x16]
- cmp r0, 0x2
- bne _08042EA8
- bl _0804441E
-_08042EA8:
- adds r0, r2, 0x1
- movs r1, 0
- strb r0, [r4, 0x1B]
- ldr r4, =gBattleScripting
- movs r0, 0x11
- strb r0, [r4, 0x10]
- strb r1, [r4, 0x11]
- ldr r0, =gUnknown_082DB444
- bl b_push_move_exec
- strb r5, [r4, 0x17]
- bl _080443D0
- .pool
-_08042ED0:
- ldr r2, =gDisableStructs
- ldrb r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x18]
- lsls r0, r3, 31
- lsrs r0, 31
- movs r2, 0x1
- eors r2, r0
- movs r0, 0x2
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x18]
- bl _0804441E
- .pool
-_08042EF8:
- ldrb r0, [r7]
- cmp r0, 0x2B
- beq _08042F02
- bl _0804441E
-_08042F02:
- movs r4, 0
- ldr r0, =gUnknown_0831BCF8
- ldrh r2, [r0]
- ldr r3, =0x0000ffff
- adds r1, r0, 0
- cmp r2, r3
- bne _08042F14
- bl _0804441E
-_08042F14:
- cmp r2, r5
- beq _08042F2C
- adds r2, r1, 0
-_08042F1A:
- adds r2, 0x2
- adds r4, 0x1
- ldrh r0, [r2]
- cmp r0, r3
- bne _08042F28
- bl _0804441E
-_08042F28:
- cmp r0, r5
- bne _08042F1A
-_08042F2C:
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08042F3C
- bl _0804441E
-_08042F3C:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _08042F62
- ldr r0, =gHitMarker
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 4
- orrs r1, r2
- str r1, [r0]
-_08042F62:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB61F
- str r0, [r1]
- movs r0, 0x1
- mov r9, r0
- bl _08044424
- .pool
-_08042F8C:
- cmp r5, 0
- bne _08042F94
- bl _0804441E
-_08042F94:
- ldrb r0, [r7]
- cmp r0, 0xB
- beq _08043004
- cmp r0, 0xB
- bgt _08042FA4
- cmp r0, 0xA
- beq _08042FAA
- b _08043126
-_08042FA4:
- cmp r0, 0x12
- beq _0804305C
- b _08043126
-_08042FAA:
- cmp r3, 0xD
- beq _08042FB0
- b _08043126
-_08042FB0:
- ldr r0, =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _08042FC2
- b _08043126
-_08042FC2:
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 28
- cmp r0, 0
- bge _08042FF0
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB56F
- b _08042FF4
- .pool
-_08042FF0:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB56E
-_08042FF4:
- str r0, [r1]
- movs r1, 0x1
- b _08043124
- .pool
-_08043004:
- cmp r3, 0xB
- beq _0804300A
- b _08043126
-_0804300A:
- ldr r0, =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _0804301C
- b _08043126
-_0804301C:
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 28
- cmp r0, 0
- bge _08043048
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB56F
- b _0804304C
- .pool
-_08043048:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB56E
-_0804304C:
- str r0, [r1]
- movs r2, 0x1
- mov r9, r2
- b _08043126
- .pool
-_0804305C:
- cmp r3, 0xA
- bne _08043126
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r3, r10
- muls r3, r0
- adds r0, r3, 0
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08043126
- ldr r2, =gBattleResources
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- mov r5, r10
- lsls r1, r5, 2
- adds r0, r1
- ldr r3, [r0]
- movs r4, 0x1
- ands r3, r4
- adds r5, r1, 0
- cmp r3, 0
- bne _080430EC
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x5]
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 28
- cmp r0, 0
- bge _080430C8
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB5A8
- b _080430CC
- .pool
-_080430C8:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB5A7
-_080430CC:
- str r0, [r1]
- ldr r0, [r2]
- ldr r1, [r0, 0x4]
- adds r1, r5
- ldr r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- str r0, [r1]
- movs r0, 0x2
- mov r9, r0
- b _08043126
- .pool
-_080430EC:
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 28
- cmp r0, 0
- bge _0804311C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB5A8
- b _08043120
- .pool
-_0804311C:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB5A7
-_08043120:
- str r0, [r1]
- movs r1, 0x2
-_08043124:
- mov r9, r1
-_08043126:
- mov r2, r9
- cmp r2, 0x1
- beq _08043130
- bl _0804441E
-_08043130:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r3, r10
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0, r1
- ldrh r0, [r1, 0x2C]
- ldrh r5, [r1, 0x28]
- cmp r0, r5
- bne _0804318C
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 28
- cmp r0, 0
- bge _08043178
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB592
- str r0, [r1]
- bl _0804441E
- .pool
-_08043178:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB591
- str r0, [r1]
- bl _0804441E
- .pool
-_0804318C:
- ldr r2, =gBattleMoveDamage
- ldrh r0, [r1, 0x2C]
- lsrs r0, 2
- str r0, [r2]
- cmp r0, 0
- bne _0804319C
- mov r0, r9
- str r0, [r2]
-_0804319C:
- ldr r0, [r2]
- negs r0, r0
- str r0, [r2]
- bl _0804441E
- .pool
-_080431AC:
- ldrb r0, [r7]
- subs r0, 0x9
- cmp r0, 0x2F
- bls _080431B8
- bl _0804441E
-_080431B8:
- lsls r0, 2
- ldr r1, =_080431C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080431C8:
- .4byte _080435E4
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _08043288
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _08043350
- .4byte _0804441E
- .4byte _0804441E
- .4byte _08043410
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _08043508
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _080436C0
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804441E
- .4byte _0804379C
-_08043288:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08043298
- bl _0804441E
-_08043298:
- cmp r5, 0xA5
- bne _080432A0
- bl _0804441E
-_080432A0:
- ldr r0, =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _080432B4
- bl _0804441E
-_080432B4:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _080432DC
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _080432DC
- bl _0804441E
-_080432DC:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r2, r10
- muls r2, r0
- adds r0, r2, 0
- adds r1, r0, r1
- adds r4, r1, 0
- adds r4, 0x21
- ldrb r0, [r4]
- cmp r0, r3
- bne _080432F6
- bl _0804441E
-_080432F6:
- adds r2, r1, 0
- adds r2, 0x22
- ldrb r0, [r2]
- cmp r0, r3
- bne _08043304
- bl _0804441E
-_08043304:
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- bne _0804330E
- bl _0804441E
-_0804330E:
- strb r3, [r4]
- strb r3, [r2]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x3
- strb r0, [r1, 0x1]
- strb r3, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB64D
- str r0, [r1]
- bl _080443D0
- .pool
-_08043350:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08043360
- bl _0804441E
-_08043360:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r3, r0, r1
- ldrh r0, [r3, 0x28]
- cmp r0, 0
- bne _08043376
- bl _0804441E
-_08043376:
- ldr r0, =gProtectStructs
- lsls r1, r2, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 31
- cmp r0, 0
- beq _08043388
- bl _0804441E
-_08043388:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _080433B0
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _080433B0
- bl _0804441E
-_080433B0:
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080433CA
- bl _0804441E
-_080433CA:
- ldr r1, =gBattleMoveDamage
- ldrh r0, [r3, 0x2C]
- lsrs r0, 4
- str r0, [r1]
- cmp r0, 0
- bne _080433D8
- str r2, [r1]
-_080433D8:
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB654
- str r0, [r1]
- bl _080443D0
- .pool
-_08043410:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08043420
- bl _0804441E
-_08043420:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08043436
- bl _0804441E
-_08043436:
- ldr r0, =gProtectStructs
- lsls r1, r2, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 31
- cmp r0, 0
- beq _08043448
- bl _0804441E
-_08043448:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043470
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043470
- bl _0804441E
-_08043470:
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08043488
- bl _0804441E
-_08043488:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _080434A0
- bl _0804441E
-_080434A0:
- ldr r5, =gBattleCommunication
- movs r4, 0x3
-_080434A4:
- bl Random
- ands r0, r4
- strb r0, [r5, 0x3]
- cmp r0, 0
- beq _080434A4
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x3]
- cmp r0, 0x3
- bne _080434BC
- adds r0, 0x2
- strb r0, [r1, 0x3]
-_080434BC:
- ldrb r0, [r1, 0x3]
- adds r0, 0x40
- strb r0, [r1, 0x3]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB67C
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 6
- orrs r0, r1
- str r0, [r2]
- bl _080443D0
- .pool
-_08043508:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08043518
- bl _0804441E
-_08043518:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _0804352E
- bl _0804441E
-_0804352E:
- ldr r0, =gProtectStructs
- lsls r1, r2, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 31
- cmp r0, 0
- beq _08043540
- bl _0804441E
-_08043540:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043568
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043568
- bl _0804441E
-_08043568:
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08043580
- bl _0804441E
-_08043580:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _08043598
- bl _0804441E
-_08043598:
- ldr r1, =gBattleCommunication
- movs r0, 0x42
- strb r0, [r1, 0x3]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB67C
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 6
- orrs r0, r1
- str r0, [r2]
- bl _080443D0
- .pool
-_080435E4:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _080435F4
- bl _0804441E
-_080435F4:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _0804360A
- bl _0804441E
-_0804360A:
- ldr r0, =gProtectStructs
- lsls r1, r2, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 31
- cmp r0, 0
- beq _0804361C
- bl _0804441E
-_0804361C:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043644
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043644
- bl _0804441E
-_08043644:
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0804365C
- bl _0804441E
-_0804365C:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _08043674
- bl _0804441E
-_08043674:
- ldr r1, =gBattleCommunication
- movs r0, 0x45
- strb r0, [r1, 0x3]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB67C
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 6
- orrs r0, r1
- str r0, [r2]
- bl _080443D0
- .pool
-_080436C0:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _080436D0
- bl _0804441E
-_080436D0:
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _080436E6
- bl _0804441E
-_080436E6:
- ldr r0, =gProtectStructs
- lsls r1, r2, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 31
- cmp r0, 0
- beq _080436F8
- bl _0804441E
-_080436F8:
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08043710
- bl _0804441E
-_08043710:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043738
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043738
- bl _0804441E
-_08043738:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _08043750
- bl _0804441E
-_08043750:
- ldr r1, =gBattleCommunication
- movs r0, 0x43
- strb r0, [r1, 0x3]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB67C
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 6
- orrs r0, r1
- str r0, [r2]
- bl _080443D0
- .pool
-_0804379C:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _080437AC
- bl _0804441E
-_080437AC:
- ldr r6, =gBattleMons
- ldr r3, =gBankAttacker
- mov r8, r3
- ldrb r1, [r3]
- movs r7, 0x58
- adds r0, r1, 0
- muls r0, r7
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _080437C6
- bl _0804441E
-_080437C6:
- ldr r0, =gProtectStructs
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- lsls r0, 31
- cmp r0, 0
- beq _080437D8
- bl _0804441E
-_080437D8:
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080437F0
- bl _0804441E
-_080437F0:
- ldr r3, =gSpecialStatuses
- ldr r5, =gBankTarget
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r2, r0, 2
- adds r0, r3, 0
- adds r0, 0x8
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043818
- adds r0, r3, 0
- adds r0, 0xC
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08043818
- bl _0804441E
-_08043818:
- adds r0, r1, 0
- muls r0, r7
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08043828
- bl _0804441E
-_08043828:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _08043840
- bl _0804441E
-_08043840:
- mov r1, r8
- ldrb r0, [r1]
- muls r0, r7
- adds r0, r6
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0xC
- bne _08043854
- bl _0804441E
-_08043854:
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0x10]
- bl GetGenderFromSpeciesAndPersonality
- adds r4, r0, 0
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x14]
- bl GetGenderFromSpeciesAndPersonality
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _08043872
- bl _0804441E
-_08043872:
- mov r2, r8
- ldrb r0, [r2]
- muls r0, r7
- adds r4, r6, 0
- adds r4, 0x50
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0xF0
- lsls r1, 12
- ands r0, r1
- cmp r0, 0
- beq _0804388E
- bl _0804441E
-_0804388E:
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0x10]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080438A2
- bl _0804441E
-_080438A2:
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x14]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080438B6
- bl _0804441E
-_080438B6:
- mov r3, r8
- ldrb r0, [r3]
- adds r2, r0, 0
- muls r2, r7
- adds r2, r4
- ldr r1, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 16
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB66F
- str r0, [r1]
- bl _080443D0
- .pool
-_08043908:
- movs r5, 0
- mov r10, r5
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r10, r0
- bcc _08043918
- bl _0804441E
-_08043918:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r2, r10
- muls r2, r0
- adds r0, r2, 0
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
- subs r0, 0x7
- adds r2, r1, 0
- cmp r0, 0x41
- bls _08043932
- b _08043B96
-_08043932:
- lsls r0, 2
- ldr r1, =_08043948
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08043948:
- .4byte _08043AAC
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B70
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043AD4
- .4byte _08043B96
- .4byte _08043A50
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043A7C
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B40
- .4byte _08043B10
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043B96
- .4byte _08043AD4
-_08043A50:
- movs r0, 0x58
- mov r3, r10
- muls r3, r0
- adds r0, r3, 0
- adds r1, r2, 0
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x00000f88
- ands r0, r1
- cmp r0, 0
- bne _08043A6A
- b _08043B96
-_08043A6A:
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC70
- b _08043B5C
- .pool
-_08043A7C:
- movs r0, 0x58
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- adds r1, r2, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08043A96
- b _08043B96
-_08043A96:
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC98
- bl StringCopy
- movs r2, 0x2
- mov r9, r2
- b _08043B9C
- .pool
-_08043AAC:
- movs r0, 0x58
- mov r3, r10
- muls r3, r0
- adds r0, r3, 0
- adds r1, r2, 0
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08043B96
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC80
- b _08043B5C
- .pool
-_08043AD4:
- movs r0, 0x58
- mov r3, r10
- muls r3, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08043B96
- adds r2, 0x50
- adds r2, r3, r2
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC78
- bl StringCopy
- movs r0, 0x1
- mov r9, r0
- b _08043B9C
- .pool
-_08043B10:
- movs r0, 0x58
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- adds r1, r2, 0
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08043B96
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC88
- bl StringCopy
- movs r2, 0x1
- mov r9, r2
- b _08043B9C
- .pool
-_08043B40:
- movs r0, 0x58
- mov r3, r10
- muls r3, r0
- adds r0, r3, 0
- adds r1, r2, 0
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08043B96
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC90
-_08043B5C:
- bl StringCopy
- movs r5, 0x1
- mov r9, r5
- b _08043B9C
- .pool
-_08043B70:
- movs r0, 0x58
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- adds r1, r2, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xF0
- lsls r1, 12
- ands r0, r1
- cmp r0, 0
- beq _08043B96
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BCA0
- bl StringCopy
- movs r2, 0x3
- mov r9, r2
-_08043B96:
- mov r3, r9
- cmp r3, 0
- beq _08043C50
-_08043B9C:
- mov r5, r9
- cmp r5, 0x2
- beq _08043BD0
- cmp r5, 0x2
- bgt _08043BB4
- cmp r5, 0x1
- beq _08043BBC
- b _08043BFC
- .pool
-_08043BB4:
- mov r0, r9
- cmp r0, 0x3
- beq _08043BE8
- b _08043BFC
-_08043BBC:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r2, r10
- muls r2, r0
- adds r1, 0x4C
- adds r2, r1
- movs r0, 0
- b _08043BFA
- .pool
-_08043BD0:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r2, r10
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- movs r1, 0x8
- negs r1, r1
- b _08043BF8
- .pool
-_08043BE8:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r2, r10
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- ldr r1, =0xfff0ffff
-_08043BF8:
- ands r0, r1
-_08043BFA:
- str r0, [r2]
-_08043BFC:
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB68C
- str r0, [r1]
- ldr r0, =gBattleScripting
- mov r1, r10
- strb r1, [r0, 0x17]
- ldr r4, =gActiveBank
- 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 dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- bl _0804443A
- .pool
-_08043C50:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r10, r0
- bcs _08043C64
- b _08043918
-_08043C64:
- bl _0804441E
- .pool
-_08043C6C:
- movs r2, 0
- mov r10, r2
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r10, r0
- bcc _08043C7A
- b _0804441E
-_08043C7A:
- ldr r4, =gBattleMons
-_08043C7C:
- movs r0, 0x58
- mov r3, r10
- muls r3, r0
- adds r0, r3, 0
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x3B
- bne _08043CA0
- mov r0, r10
- bl castform_switch
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0
- beq _08043CA0
- b _080442FC
-_08043CA0:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r10, r0
- bcc _08043C7C
- b _0804441E
- .pool
-_08043CBC:
- ldrb r0, [r7]
- cmp r0, 0x1C
- beq _08043CC4
- b _0804441E
-_08043CC4:
- ldr r4, =gHitMarker
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 7
- ands r0, r1
- cmp r0, 0
- bne _08043CD4
- b _0804441E
-_08043CD4:
- ldr r0, =0xffffbfff
- ands r1, r0
- str r1, [r4]
- mov r5, r8
- ldr r1, [r5]
- adds r1, 0xB2
- ldrb r2, [r1]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0xB2
- ldrb r0, [r1]
- cmp r0, 0x6
- bne _08043CF8
- movs r0, 0x2
- strb r0, [r1]
-_08043CF8:
- ldr r1, =gBattleCommunication
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xB2
- ldrb r0, [r0]
- adds r0, 0x40
- strb r0, [r1, 0x3]
- ldr r1, =gBattleScripting
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- strb r0, [r1, 0x17]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB67F
- str r0, [r1]
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 6
- orrs r0, r1
- str r0, [r4]
- b _080443D0
- .pool
-_08043D40:
- ldrb r0, [r7]
- cmp r0, 0x1C
- beq _08043D48
- b _0804441E
-_08043D48:
- ldr r4, =gHitMarker
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 7
- ands r0, r1
- cmp r0, 0
- bne _08043D58
- b _0804441E
-_08043D58:
- ldr r0, =0xffffbfff
- ands r1, r0
- str r1, [r4]
- mov r3, r8
- ldr r1, [r3]
- adds r1, 0xB2
- ldrb r2, [r1]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0xB2
- ldrb r0, [r1]
- cmp r0, 0x6
- bne _08043D7C
- movs r0, 0x2
- strb r0, [r1]
-_08043D7C:
- ldr r1, =gBattleCommunication
- mov r3, r8
- ldr r0, [r3]
- adds r0, 0xB2
- ldrb r0, [r0]
- strb r0, [r1, 0x3]
- ldr r1, =gBattleScripting
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r1, 0x17]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB67F
- str r0, [r1]
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 6
- orrs r0, r1
- str r0, [r4]
- b _080443D0
- .pool
-_08043DC4:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r0]
- cmp r4, r1
- blt _08043DD0
- b _0804441E
-_08043DD0:
- ldr r0, =gBattleMons
- adds r5, r1, 0
- ldr r2, =gStatuses3
- adds r3, r0, 0
- adds r3, 0x20
- movs r6, 0x80
- lsls r6, 12
-_08043DDE:
- ldrb r1, [r3]
- cmp r1, 0x16
- bne _08043DEE
- ldr r0, [r2]
- ands r0, r6
- cmp r0, 0
- beq _08043DEE
- b _08044324
-_08043DEE:
- adds r2, 0x4
- adds r3, 0x58
- adds r4, 0x1
- cmp r4, r5
- blt _08043DDE
- b _0804441E
- .pool
-_08043E08:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08043E14
- b _0804441E
-_08043E14:
- ldr r5, =gActiveBank
- mov r8, r5
- ldr r0, =gBattleMons
- adds r0, 0x20
- str r0, [sp, 0x1C]
- movs r1, 0
- str r1, [sp, 0x20]
-_08043E22:
- ldr r2, [sp, 0x1C]
- ldrb r0, [r2]
- cmp r0, 0x24
- beq _08043E2C
- b _08043FBE
-_08043E2C:
- ldr r0, =gStatuses3
- ldr r3, [sp, 0x20]
- adds r0, r3, r0
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 13
- ands r1, r0
- str r3, [sp, 0x18]
- cmp r1, 0
- bne _08043E42
- b _08043FBE
-_08043E42:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBankIdentity
- movs r1, 0x1
- adds r5, r0, 0
- eors r5, r1
- ands r5, r1
- adds r0, r5, 0
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x2
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- bne _08043E74
- b _08043F84
-_08043E74:
- movs r1, 0x58
- adds r0, r6, 0
- muls r0, r1
- ldr r3, =gBattleMons
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08043F40
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- beq _08043EFC
- movs r1, 0x58
- adds r0, r7, 0
- muls r0, r1
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08043EFC
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- beq _08043EFC
- str r2, [sp, 0x24]
- bl Random
- ldr r2, [sp, 0x24]
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 1
- orrs r5, r1
- adds r0, r5, 0
- bl GetBankByPlayerAI
- mov r2, r8
- strb r0, [r2]
- ldrb r0, [r2]
- movs r3, 0x58
- muls r0, r3
- ldr r5, =gBattleMons
- adds r0, r5
- adds r0, 0x20
- ldrb r0, [r0]
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- ldrb r0, [r2]
- muls r0, r3
- adds r0, r5
- adds r0, 0x20
- ldrb r0, [r0]
- ldr r2, =gLastUsedAbility
- strb r0, [r2]
- b _08043FAC
- .pool
-_08043EFC:
- ldr r3, =gBattleMons
- movs r2, 0x58
- adds r0, r6, 0
- muls r0, r2
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08043F40
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- beq _08043F40
- mov r5, r8
- strb r6, [r5]
- adds r1, r4, 0
- muls r1, r2
- adds r1, r3
- ldrb r0, [r5]
- muls r0, r2
- adds r0, r3
- adds r0, 0x20
- ldrb r0, [r0]
- adds r1, 0x20
- strb r0, [r1]
- ldrb r0, [r5]
- muls r0, r2
- adds r0, r3
- adds r0, 0x20
- ldrb r0, [r0]
- b _08043FA8
- .pool
-_08043F40:
- ldr r3, =gBattleMons
- movs r2, 0x58
- adds r0, r7, 0
- muls r0, r2
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08043FB6
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- beq _08043FB6
- mov r5, r8
- strb r7, [r5]
- adds r1, r4, 0
- muls r1, r2
- adds r1, r3
- ldrb r0, [r5]
- muls r0, r2
- adds r0, r3
- adds r0, 0x20
- ldrb r0, [r0]
- adds r1, 0x20
- strb r0, [r1]
- ldrb r0, [r5]
- muls r0, r2
- adds r0, r3
- adds r0, 0x20
- ldrb r0, [r0]
- b _08043FA8
- .pool
-_08043F84:
- mov r2, r8
- strb r6, [r2]
- movs r3, 0x58
- adds r0, r6, 0
- muls r0, r3
- ldr r5, =gBattleMons
- adds r0, r5
- adds r2, r0, 0
- adds r2, 0x20
- ldrb r1, [r2]
- cmp r1, 0
- beq _08043FB6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08043FB6
- ldr r0, [sp, 0x1C]
- strb r1, [r0]
- ldrb r0, [r2]
-_08043FA8:
- ldr r1, =gLastUsedAbility
- strb r0, [r1]
-_08043FAC:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08043FB6:
- mov r2, r9
- cmp r2, 0
- beq _08043FBE
- b _08044340
-_08043FBE:
- ldr r3, [sp, 0x1C]
- adds r3, 0x58
- str r3, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- adds r5, 0x4
- str r5, [sp, 0x20]
- adds r4, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- bge _08043FD6
- b _08043E22
-_08043FD6:
- b _0804441E
- .pool
-_08043FE4:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r0]
- cmp r4, r1
- blt _08043FF0
- b _0804441E
-_08043FF0:
- ldr r0, =gBattleMons
- adds r5, r1, 0
- ldr r2, =gStatuses3
- adds r3, r0, 0
- adds r3, 0x20
- movs r6, 0x80
- lsls r6, 12
-_08043FFE:
- ldrb r1, [r3]
- cmp r1, 0x16
- bne _0804400E
- ldr r0, [r2]
- ands r0, r6
- cmp r0, 0
- beq _0804400E
- b _080443B4
-_0804400E:
- adds r2, 0x4
- adds r3, 0x58
- adds r4, 0x1
- cmp r4, r5
- blt _08043FFE
- b _0804441E
- .pool
-_08044028:
- mov r0, r10
- bl GetBankSide
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _0804403E
- b _0804441E
-_0804403E:
- ldr r7, =gBattleMons
-_08044040:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- adds r3, r4, 0x1
- cmp r0, r5
- beq _0804406A
- movs r0, 0x58
- muls r0, r4
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r6
- bne _0804406A
- ldr r0, =gLastUsedAbility
- strb r6, [r0]
- lsls r0, r3, 24
- lsrs r0, 24
- mov r9, r0
-_0804406A:
- adds r4, r3, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08044040
- b _0804441E
- .pool
-_08044084:
- mov r0, r10
- bl GetBankSide
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _0804409A
- b _0804441E
-_0804409A:
- ldr r7, =gBattleMons
-_0804409C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- adds r3, r4, 0x1
- cmp r0, r5
- bne _080440C6
- movs r0, 0x58
- muls r0, r4
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r6
- bne _080440C6
- ldr r0, =gLastUsedAbility
- strb r6, [r0]
- lsls r0, r3, 24
- lsrs r0, 24
- mov r9, r0
-_080440C6:
- adds r4, r3, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _0804409C
- b _0804441E
- .pool
-_080440E0:
- ldrb r0, [r7]
- cmp r0, 0xFD
- beq _08044104
- cmp r0, 0xFE
- beq _0804413C
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r4, r0
- blt _080440F8
- b _0804441E
-_080440F8:
- ldr r2, =gBattleMons
- b _08044174
- .pool
-_08044104:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08044110
- b _0804441E
-_08044110:
- ldr r5, =gStatuses3
- movs r2, 0x80
- lsls r2, 9
- adds r1, r0, 0
-_08044118:
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- ands r0, r2
- adds r3, r4, 0x1
- cmp r0, 0
- beq _0804412C
- lsls r0, r3, 24
- lsrs r0, 24
- mov r9, r0
-_0804412C:
- adds r4, r3, 0
- cmp r4, r1
- blt _08044118
- b _0804441E
- .pool
-_0804413C:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08044148
- b _0804441E
-_08044148:
- ldr r5, =gStatuses3
- movs r2, 0x80
- lsls r2, 10
- adds r1, r0, 0
-_08044150:
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- ands r0, r2
- adds r3, r4, 0x1
- cmp r0, 0
- beq _08044164
- lsls r0, r3, 24
- lsrs r0, 24
- mov r9, r0
-_08044164:
- adds r4, r3, 0
- cmp r4, r1
- blt _08044150
- b _0804441E
- .pool
-_08044174:
- movs r0, 0x58
- muls r0, r4
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- adds r3, r4, 0x1
- cmp r0, r6
- bne _0804418C
- strb r6, [r7]
- lsls r0, r3, 24
- lsrs r0, 24
- mov r9, r0
-_0804418C:
- adds r4, r3, 0
- ldrb r1, [r5]
- cmp r4, r1
- blt _08044174
- b _0804441E
-_08044196:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _080441A2
- b _0804441E
-_080441A2:
- ldr r2, =gBattleMons
- mov r8, r2
- adds r2, r0, 0
- movs r5, 0x58
-_080441AA:
- adds r0, r4, 0
- muls r0, r5
- mov r3, r8
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- adds r3, r4, 0x1
- cmp r0, r6
- bne _080441CC
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- beq _080441CC
- strb r6, [r7]
- lsls r0, r3, 24
- lsrs r0, 24
- mov r9, r0
-_080441CC:
- adds r4, r3, 0
- cmp r4, r2
- blt _080441AA
- b _0804441E
- .pool
-_080441DC:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _080441E8
- b _0804441E
-_080441E8:
- ldr r7, =gBattleMons
- adds r1, r0, 0
- movs r5, 0x58
- ldr r2, =gLastUsedAbility
-_080441F0:
- adds r0, r4, 0
- muls r0, r5
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- adds r3, r4, 0x1
- cmp r0, r6
- bne _0804420C
- cmp r4, r10
- beq _0804420C
- strb r6, [r2]
- lsls r0, r3, 24
- lsrs r0, 24
- mov r9, r0
-_0804420C:
- adds r4, r3, 0
- cmp r4, r1
- blt _080441F0
- b _0804441E
- .pool
-_08044220:
- mov r0, r10
- bl GetBankSide
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08044236
- b _0804441E
-_08044236:
- ldr r7, =gBattleMons
-_08044238:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- beq _08044264
- movs r0, 0x58
- muls r0, r4
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r6
- bne _08044264
- ldr r0, =gLastUsedAbility
- strb r6, [r0]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08044264:
- adds r4, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08044238
- b _0804441E
- .pool
-_0804427C:
- mov r0, r10
- bl GetBankSide
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08044292
- b _0804441E
-_08044292:
- ldr r7, =gBattleMons
-_08044294:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- bne _080442C0
- movs r0, 0x58
- muls r0, r4
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r6
- bne _080442C0
- ldr r0, =gLastUsedAbility
- strb r6, [r0]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080442C0:
- adds r4, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _08044294
- b _0804441E
- .pool
-_080442D8:
- ldr r0, =gUnknown_082DB4A9
- bl b_push_move_exec
- ldr r0, =gBattleScripting
- strb r6, [r0, 0x17]
-_080442E2:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x7F
- mov r1, r9
- subs r1, 0x1
- strb r1, [r0]
- b _0804441E
- .pool
-_080442FC:
- ldr r0, =gUnknown_082DB4A9
- bl b_push_move_exec
- ldr r0, =gBattleScripting
- mov r5, r10
- strb r5, [r0, 0x17]
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x7F
- mov r1, r9
- subs r1, 0x1
- strb r1, [r0]
- b _0804443A
- .pool
-_08044324:
- strb r1, [r7]
- ldr r0, [r2]
- ldr r1, =0xfff7ffff
- ands r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_082DB4B8
- bl b_push_move_exec
- b _080443C8
- .pool
-_08044340:
- ldr r0, =gUnknown_082DB452
- bl b_push_move_exec
- ldr r1, =gStatuses3
- ldr r0, [sp, 0x18]
- adds r1, r0, r1
- ldr r0, [r1]
- ldr r2, =0xffefffff
- ands r0, r2
- str r0, [r1]
- ldr r0, =gBattleScripting
- strb r4, [r0, 0x17]
- ldr r1, =gBattleTextBuff1
- movs r4, 0xFD
- strb r4, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- strb r0, [r1, 0x2]
- ldr r3, =gBattlePartyID
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattleTextBuff2
- strb r4, [r1]
- movs r0, 0x9
- strb r0, [r1, 0x1]
- ldr r0, =gLastUsedAbility
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x3]
- b _0804441E
- .pool
-_080443B4:
- strb r1, [r7]
- ldr r0, [r2]
- ldr r1, =0xfff7ffff
- ands r0, r1
- str r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB4C1
- str r0, [r1]
-_080443C8:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xD8
- strb r4, [r0]
-_080443D0:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- b _0804441E
- .pool
-_080443EC:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r0]
- cmp r4, r1
- bge _0804441E
- ldr r0, =gBattleMons
- adds r2, r1, 0
- adds r1, r0, 0
- adds r1, 0x20
- ldr r3, =gLastUsedAbility
-_08044400:
- ldrb r0, [r1]
- cmp r0, r6
- bne _08044416
- cmp r4, r10
- beq _08044416
- strb r6, [r3]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08044416:
- adds r1, 0x58
- adds r4, 0x1
- cmp r4, r2
- blt _08044400
-_0804441E:
- mov r1, r9
- cmp r1, 0
- beq _0804443A
-_08044424:
- ldr r2, [sp, 0x4]
- cmp r2, 0xB
- bhi _0804443A
- ldr r1, =gLastUsedAbility
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0804443A
- adds r1, r0, 0
- mov r0, r10
- bl RecordAbilityBattle
-_0804443A:
- mov r0, r9
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AbilityBattleEffects
-
- thumb_func_start b_call_bc_move_exec
-b_call_bc_move_exec: @ 8044458
- ldr r1, =gBattlescriptCurrInstr
- str r0, [r1]
- ldr r0, =gBattleResources
- ldr r0, [r0]
- ldr r2, [r0, 0xC]
- adds r3, r2, 0
- adds r3, 0x20
- ldrb r0, [r3]
- adds r1, r0, 0x1
- strb r1, [r3]
- lsls r0, 24
- lsrs r0, 22
- adds r2, r0
- ldr r1, =gBattleMainFunc
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, =bc_move_exec_returning
- str r0, [r1]
- ldr r1, =gFightStateTracker
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end b_call_bc_move_exec
-
- thumb_func_start b_push_move_exec
-b_push_move_exec: @ 8044498
- push {r4,lr}
- adds r4, r0, 0
- bl b_movescr_stack_push_cursor
- ldr r0, =gBattlescriptCurrInstr
- str r4, [r0]
- ldr r0, =gBattleResources
- ldr r0, [r0]
- ldr r2, [r0, 0xC]
- adds r3, r2, 0
- adds r3, 0x20
- ldrb r0, [r3]
- adds r1, r0, 0x1
- strb r1, [r3]
- lsls r0, 24
- lsrs r0, 22
- adds r2, r0
- ldr r1, =gBattleMainFunc
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, =sub_803E08C
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end b_push_move_exec
-
- thumb_func_start berry_effects_maybe
-berry_effects_maybe: @ 80444DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r0, 0
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0xC]
- add r0, sp, 0x4
- strb r1, [r0]
- ldr r4, =gLastUsedItem
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08044534
- ldr r1, =gEnigmaBerries
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r5, [r0, 0x7]
- ldrb r0, [r0, 0x1A]
- b _08044548
- .pool
-_08044534:
- ldrh r0, [r4]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r0, 24
-_08044548:
- mov r9, r0
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- str r0, [sp, 0x14]
- cmp r0, 0xAF
- bne _0804457C
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x7]
- mov r8, r3
- ldrb r0, [r0, 0x1A]
- b _08044592
- .pool
-_0804457C:
- ldr r0, [sp, 0x14]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, [sp, 0x14]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r0, 24
-_08044592:
- str r0, [sp, 0x10]
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r4, [r0, 0x2E]
- cmp r4, 0xAF
- beq _080445B2
- adds r0, r4, 0
- bl ItemId_GetHoldEffect
- adds r0, r4, 0
- bl ItemId_GetHoldEffectParam
-_080445B2:
- ldr r0, [sp, 0x8]
- cmp r0, 0x4
- bls _080445BC
- bl _0804582A
-_080445BC:
- lsls r0, 2
- ldr r1, =_080445D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080445D4:
- .4byte _080445E8
- .4byte _08044688
- .4byte _0804582A
- .4byte _08045280
- .4byte _080456D0
-_080445E8:
- cmp r5, 0x17
- beq _08044618
- cmp r5, 0x20
- beq _080445F4
- bl _0804582A
-_080445F4:
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08044604
- bl _0804582A
-_08044604:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x4A
- movs r1, 0x2
- strb r1, [r0]
- bl _0804582A
- .pool
-_08044618:
- ldr r1, =gBattleMons
- mov r8, r1
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x18
- adds r1, r0
- movs r2, 0x6
- movs r3, 0x7
- mov r10, r3
-_0804462E:
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _0804463C
- strb r2, [r1]
- movs r5, 0x5
- str r5, [sp, 0xC]
-_0804463C:
- adds r1, 0x1
- movs r0, 0x1
- negs r0, r0
- add r10, r0
- mov r3, r10
- cmp r3, 0
- bge _0804462E
- ldr r5, [sp, 0xC]
- cmp r5, 0
- bne _08044654
- bl _0804582A
-_08044654:
- ldr r0, =gBattleScripting
- strb r7, [r0, 0x17]
- ldr r0, =gStringBank
- strb r7, [r0]
- ldr r1, =gActiveBank
- ldr r0, =gBankAttacker
- strb r7, [r0]
- strb r7, [r1]
- ldr r0, =gUnknown_082DB7AE
- bl b_call_bc_move_exec
- bl _0804582A
- .pool
-_08044688:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r0, r1
- ldrh r0, [r0, 0x28]
- mov r8, r1
- cmp r0, 0
- bne _0804469C
- bl _0804582A
-_0804469C:
- subs r0, r5, 0x1
- cmp r0, 0x2A
- bls _080446A6
- bl _080451D6
-_080446A6:
- lsls r0, 2
- ldr r1, =_080446B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080446B8:
- .4byte _08044764
- .4byte _08044F44
- .4byte _08045008
- .4byte _08044F74
- .4byte _08044FA8
- .4byte _08044FD8
- .4byte _080447B0
- .4byte _08045044
- .4byte _08045074
- .4byte _0804497C
- .4byte _080449FC
- .4byte _08044A78
- .4byte _08044B0C
- .4byte _08044BA0
- .4byte _08044C34
- .4byte _08044C9C
- .4byte _08044CF0
- .4byte _08044D44
- .4byte _08044DAC
- .4byte _08044E10
- .4byte _08044E5C
- .4byte _080451D6
- .4byte _080448B0
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451A0
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _080451D6
- .4byte _0804491C
-_08044764:
- movs r0, 0x58
- muls r0, r7
- mov r1, r8
- adds r2, r0, r1
- ldrh r0, [r2, 0x2C]
- ldrh r1, [r2, 0x28]
- lsrs r0, 1
- cmp r1, r0
- bls _0804477A
- bl _080451D6
-_0804477A:
- cmp r6, 0
- beq _08044782
- bl _080451D6
-_08044782:
- ldr r4, =gBattleMoveDamage
- mov r3, r9
- str r3, [r4]
- ldrh r3, [r2, 0x28]
- mov r5, r9
- adds r0, r3, r5
- ldrh r1, [r2, 0x2C]
- cmp r0, r1
- ble _08044798
- subs r0, r1, r3
- str r0, [r4]
-_08044798:
- ldr r0, [r4]
- negs r0, r0
- str r0, [r4]
- ldr r0, =gUnknown_082DB7C4
- bl b_call_bc_move_exec
- b _08044B02
- .pool
-_080447B0:
- cmp r6, 0
- beq _080447B8
- bl _080451D6
-_080447B8:
- adds r0, r7, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _080447DC
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _080447EA
- .pool
-_080447DC:
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_080447EA:
- adds r4, r1, r0
- movs r1, 0
- mov r10, r1
- add r5, sp, 0x4
-_080447F2:
- mov r1, r10
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r10
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- strb r0, [r5]
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r6, 0
- beq _08044822
- ldrb r0, [r5]
- cmp r0, 0
- beq _0804482C
-_08044822:
- movs r2, 0x1
- add r10, r2
- mov r3, r10
- cmp r3, 0x3
- ble _080447F2
-_0804482C:
- mov r5, r10
- cmp r5, 0x4
- bne _08044836
- bl _080451D6
-_08044836:
- lsls r2, r5, 24
- lsrs r2, 24
- adds r0, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r2, r0, 24
- add r0, sp, 0x4
- ldrb r0, [r0]
- mov r3, r9
- adds r1, r0, r3
- cmp r1, r2
- ble _08044860
- add r0, sp, 0x4
- strb r2, [r0]
- b _08044864
- .pool
-_08044860:
- add r0, sp, 0x4
- strb r1, [r0]
-_08044864:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- strb r6, [r1, 0x2]
- lsrs r0, r6, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r0, =gUnknown_082DB7E1
- bl b_call_bc_move_exec
- mov r1, r10
- adds r1, 0x9
- lsls r1, 24
- lsrs r1, 24
- add r5, sp, 0x4
- str r5, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0x1
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- movs r0, 0x3
- str r0, [sp, 0xC]
- bl _080451DE
- .pool
-_080448B0:
- ldr r0, =gBattleMons
- movs r1, 0x58
- muls r1, r7
- adds r0, 0x18
- adds r1, r0
- movs r2, 0x6
- movs r3, 0x7
- mov r10, r3
-_080448C0:
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _080448CE
- strb r2, [r1]
- movs r5, 0x5
- str r5, [sp, 0xC]
-_080448CE:
- adds r1, 0x1
- movs r0, 0x1
- negs r0, r0
- add r10, r0
- mov r3, r10
- cmp r3, 0
- bge _080448C0
- movs r5, 0x8
- mov r10, r5
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _080448EA
- bl _0804582A
-_080448EA:
- ldr r0, =gBattleScripting
- strb r7, [r0, 0x17]
- ldr r0, =gStringBank
- strb r7, [r0]
- ldr r1, =gActiveBank
- ldr r0, =gBankAttacker
- strb r7, [r0]
- strb r7, [r1]
- ldr r0, =gUnknown_082DB7AE
- bl b_call_bc_move_exec
- bl _080451D6
- .pool
-_0804491C:
- movs r0, 0x58
- muls r0, r7
- mov r2, r8
- adds r1, r0, r2
- ldrh r0, [r1, 0x28]
- ldrh r3, [r1, 0x2C]
- cmp r0, r3
- bcc _08044930
- bl _080451D6
-_08044930:
- cmp r6, 0
- beq _08044938
- bl _080451D6
-_08044938:
- ldr r3, =gBattleMoveDamage
- ldrh r0, [r1, 0x2C]
- lsrs r0, 4
- str r0, [r3]
- cmp r0, 0
- bne _08044948
- movs r0, 0x1
- str r0, [r3]
-_08044948:
- ldrh r2, [r1, 0x28]
- ldr r0, [r3]
- adds r0, r2, r0
- ldrh r1, [r1, 0x2C]
- cmp r0, r1
- ble _08044958
- subs r0, r1, r2
- str r0, [r3]
-_08044958:
- ldr r0, [r3]
- negs r0, r0
- str r0, [r3]
- ldr r0, =gUnknown_082DB7F1
- bl b_call_bc_move_exec
- movs r0, 0x4
- str r0, [sp, 0xC]
- adds r0, r7, 0
- adds r1, r5, 0
- bl RecordItemEffectBattle
- bl _080451D6
- .pool
-_0804497C:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- str r1, [sp, 0x18]
- adds r4, r1, 0
- add r4, r8
- ldrh r0, [r4, 0x2C]
- ldrh r1, [r4, 0x28]
- lsrs r0, 1
- cmp r1, r0
- bls _08044996
- bl _080451D6
-_08044996:
- cmp r6, 0
- beq _0804499E
- bl _080451D6
-_0804499E:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x8
- strb r0, [r1, 0x1]
- strb r6, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r5, =gBattleMoveDamage
- ldrh r0, [r4, 0x2C]
- mov r1, r9
- bl __divsi3
- str r0, [r5]
- cmp r0, 0
- bne _080449C2
- movs r0, 0x1
- str r0, [r5]
-_080449C2:
- ldrh r2, [r4, 0x28]
- ldr r0, [r5]
- adds r0, r2, r0
- ldrh r1, [r4, 0x2C]
- cmp r0, r1
- ble _080449D2
- subs r0, r1, r2
- str r0, [r5]
-_080449D2:
- ldr r0, [r5]
- negs r0, r0
- str r0, [r5]
- mov r0, r8
- adds r0, 0x48
- ldr r2, [sp, 0x18]
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0
- bl GetFlavourRelationByPersonality
- lsls r0, 24
- cmp r0, 0
- bge _080449F0
- b _08044B7C
-_080449F0:
- b _08044B90
- .pool
-_080449FC:
- movs r0, 0x58
- adds r5, r7, 0
- muls r5, r0
- str r5, [sp, 0x1C]
- add r5, r8
- ldrh r0, [r5, 0x2C]
- ldrh r1, [r5, 0x28]
- lsrs r0, 1
- cmp r1, r0
- bls _08044A14
- bl _080451D6
-_08044A14:
- cmp r6, 0
- beq _08044A1C
- bl _080451D6
-_08044A1C:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x8
- strb r0, [r1, 0x1]
- movs r6, 0x1
- strb r6, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r4, =gBattleMoveDamage
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08044A40
- str r6, [r4]
-_08044A40:
- ldrh r2, [r5, 0x28]
- ldr r0, [r4]
- adds r0, r2, r0
- ldrh r1, [r5, 0x2C]
- cmp r0, r1
- ble _08044A50
- subs r0, r1, r2
- str r0, [r4]
-_08044A50:
- ldr r0, [r4]
- negs r0, r0
- str r0, [r4]
- mov r0, r8
- adds r0, 0x48
- ldr r1, [sp, 0x1C]
- adds r0, r1, r0
- ldr r0, [r0]
- movs r1, 0x1
- bl GetFlavourRelationByPersonality
- lsls r0, 24
- cmp r0, 0
- bge _08044A6E
- b _08044C0E
-_08044A6E:
- b _08044C24
- .pool
-_08044A78:
- movs r0, 0x58
- adds r3, r7, 0
- muls r3, r0
- str r3, [sp, 0x20]
- adds r5, r3, 0
- add r5, r8
- ldrh r0, [r5, 0x2C]
- ldrh r1, [r5, 0x28]
- lsrs r0, 1
- cmp r1, r0
- bls _08044A90
- b _080451D6
-_08044A90:
- cmp r6, 0
- beq _08044A96
- b _080451D6
-_08044A96:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x8
- strb r0, [r1, 0x1]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r4, =gBattleMoveDamage
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08044ABC
- movs r0, 0x1
- str r0, [r4]
-_08044ABC:
- ldrh r2, [r5, 0x28]
- ldr r0, [r4]
- adds r0, r2, r0
- ldrh r1, [r5, 0x2C]
- cmp r0, r1
- ble _08044ACC
- subs r0, r1, r2
- str r0, [r4]
-_08044ACC:
- ldr r0, [r4]
- negs r0, r0
- str r0, [r4]
- mov r0, r8
- adds r0, 0x48
- ldr r5, [sp, 0x20]
- adds r0, r5, r0
- ldr r0, [r0]
- movs r1, 0x2
- bl GetFlavourRelationByPersonality
- lsls r0, 24
- cmp r0, 0
- bge _08044AFC
- ldr r0, =gUnknown_082DB824
- bl b_call_bc_move_exec
- b _08044B02
- .pool
-_08044AFC:
- ldr r0, =gUnknown_082DB7C4
- bl b_call_bc_move_exec
-_08044B02:
- movs r0, 0x4
- str r0, [sp, 0xC]
- b _080451DE
- .pool
-_08044B0C:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- str r1, [sp, 0x24]
- adds r5, r1, 0
- add r5, r8
- ldrh r0, [r5, 0x2C]
- ldrh r1, [r5, 0x28]
- lsrs r0, 1
- cmp r1, r0
- bls _08044B24
- b _080451D6
-_08044B24:
- cmp r6, 0
- beq _08044B2A
- b _080451D6
-_08044B2A:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x8
- strb r0, [r1, 0x1]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r4, =gBattleMoveDamage
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08044B50
- movs r0, 0x1
- str r0, [r4]
-_08044B50:
- ldrh r2, [r5, 0x28]
- ldr r0, [r4]
- adds r0, r2, r0
- ldrh r1, [r5, 0x2C]
- cmp r0, r1
- ble _08044B60
- subs r0, r1, r2
- str r0, [r4]
-_08044B60:
- ldr r0, [r4]
- negs r0, r0
- str r0, [r4]
- mov r0, r8
- adds r0, 0x48
- ldr r2, [sp, 0x24]
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x3
- bl GetFlavourRelationByPersonality
- lsls r0, 24
- cmp r0, 0
- bge _08044B90
-_08044B7C:
- ldr r0, =gUnknown_082DB824
- bl b_call_bc_move_exec
- b _08044B96
- .pool
-_08044B90:
- ldr r0, =gUnknown_082DB7C4
- bl b_call_bc_move_exec
-_08044B96:
- movs r3, 0x4
- str r3, [sp, 0xC]
- b _080451DE
- .pool
-_08044BA0:
- movs r0, 0x58
- adds r5, r7, 0
- muls r5, r0
- str r5, [sp, 0x28]
- add r5, r8
- ldrh r0, [r5, 0x2C]
- ldrh r1, [r5, 0x28]
- lsrs r0, 1
- cmp r1, r0
- bls _08044BB6
- b _080451D6
-_08044BB6:
- cmp r6, 0
- beq _08044BBC
- b _080451D6
-_08044BBC:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x8
- strb r0, [r1, 0x1]
- movs r0, 0x4
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r4, =gBattleMoveDamage
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08044BE2
- movs r0, 0x1
- str r0, [r4]
-_08044BE2:
- ldrh r2, [r5, 0x28]
- ldr r0, [r4]
- adds r0, r2, r0
- ldrh r1, [r5, 0x2C]
- cmp r0, r1
- ble _08044BF2
- subs r0, r1, r2
- str r0, [r4]
-_08044BF2:
- ldr r0, [r4]
- negs r0, r0
- str r0, [r4]
- mov r0, r8
- adds r0, 0x48
- ldr r1, [sp, 0x28]
- adds r0, r1, r0
- ldr r0, [r0]
- movs r1, 0x4
- bl GetFlavourRelationByPersonality
- lsls r0, 24
- cmp r0, 0
- bge _08044C24
-_08044C0E:
- ldr r0, =gUnknown_082DB824
- bl b_call_bc_move_exec
- b _08044C2A
- .pool
-_08044C24:
- ldr r0, =gUnknown_082DB7C4
- bl b_call_bc_move_exec
-_08044C2A:
- movs r2, 0x4
- str r2, [sp, 0xC]
- b _080451DE
- .pool
-_08044C34:
- movs r0, 0x58
- muls r0, r7
- mov r3, r8
- adds r5, r0, r3
- ldrh r4, [r5, 0x28]
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- cmp r4, r0
- ble _08044C4C
- b _080451D6
-_08044C4C:
- cmp r6, 0
- beq _08044C52
- b _080451D6
-_08044C52:
- movs r0, 0x19
- ldrsb r0, [r5, r0]
- cmp r0, 0xB
- ble _08044C5C
- b _080451D6
-_08044C5C:
- ldr r1, =gBattleTextBuff1
- movs r2, 0xFD
- strb r2, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r1, =gBattleTextBuff2
- strb r2, [r1]
- strb r6, [r1, 0x1]
- movs r0, 0xD2
- strb r0, [r1, 0x2]
- strb r6, [r1, 0x3]
- subs r0, 0xD3
- strb r0, [r1, 0x4]
- ldr r0, =gUnknown_0202420E
- strb r7, [r0]
- ldr r1, =gBattleScripting
- movs r0, 0x11
- strb r0, [r1, 0x1A]
- movs r0, 0xF
- b _08044DF0
- .pool
-_08044C9C:
- movs r0, 0x58
- muls r0, r7
- mov r1, r8
- adds r5, r0, r1
- ldrh r4, [r5, 0x28]
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- cmp r4, r0
- ble _08044CB4
- b _080451D6
-_08044CB4:
- cmp r6, 0
- beq _08044CBA
- b _080451D6
-_08044CBA:
- movs r0, 0x1A
- ldrsb r0, [r5, r0]
- cmp r0, 0xB
- ble _08044CC4
- b _080451D6
-_08044CC4:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r0, =gUnknown_0202420E
- strb r7, [r0]
- ldr r1, =gBattleScripting
- movs r0, 0x12
- strb r0, [r1, 0x1A]
- movs r0, 0x10
- b _08044D8A
- .pool
-_08044CF0:
- movs r0, 0x58
- muls r0, r7
- mov r3, r8
- adds r5, r0, r3
- ldrh r4, [r5, 0x28]
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- cmp r4, r0
- ble _08044D08
- b _080451D6
-_08044D08:
- cmp r6, 0
- beq _08044D0E
- b _080451D6
-_08044D0E:
- movs r0, 0x1B
- ldrsb r0, [r5, r0]
- cmp r0, 0xB
- ble _08044D18
- b _080451D6
-_08044D18:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r0, =gUnknown_0202420E
- strb r7, [r0]
- ldr r1, =gBattleScripting
- movs r0, 0x13
- strb r0, [r1, 0x1A]
- movs r0, 0x11
- b _08044DF0
- .pool
-_08044D44:
- movs r0, 0x58
- muls r0, r7
- mov r1, r8
- adds r5, r0, r1
- ldrh r4, [r5, 0x28]
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- cmp r4, r0
- ble _08044D5C
- b _080451D6
-_08044D5C:
- cmp r6, 0
- beq _08044D62
- b _080451D6
-_08044D62:
- movs r0, 0x1C
- ldrsb r0, [r5, r0]
- cmp r0, 0xB
- ble _08044D6C
- b _080451D6
-_08044D6C:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x4
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r0, =gUnknown_0202420E
- strb r7, [r0]
- ldr r1, =gBattleScripting
- movs r0, 0x14
- strb r0, [r1, 0x1A]
- movs r0, 0x12
-_08044D8A:
- strb r0, [r1, 0x10]
- strb r6, [r1, 0x11]
- ldr r0, =gUnknown_082DB84E
- bl b_call_bc_move_exec
- movs r2, 0x5
- str r2, [sp, 0xC]
- b _080451DE
- .pool
-_08044DAC:
- movs r0, 0x58
- muls r0, r7
- mov r3, r8
- adds r5, r0, r3
- ldrh r4, [r5, 0x28]
- ldrh r0, [r5, 0x2C]
- mov r1, r9
- bl __divsi3
- cmp r4, r0
- ble _08044DC4
- b _080451D6
-_08044DC4:
- cmp r6, 0
- beq _08044DCA
- b _080451D6
-_08044DCA:
- movs r0, 0x1D
- ldrsb r0, [r5, r0]
- cmp r0, 0xB
- ble _08044DD4
- b _080451D6
-_08044DD4:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r0, =gUnknown_0202420E
- strb r7, [r0]
- ldr r1, =gBattleScripting
- movs r0, 0x15
- strb r0, [r1, 0x1A]
- movs r0, 0x13
-_08044DF0:
- strb r0, [r1, 0x10]
- strb r6, [r1, 0x11]
- ldr r0, =gUnknown_082DB84E
- bl b_call_bc_move_exec
- movs r5, 0x5
- str r5, [sp, 0xC]
- b _080451DE
- .pool
-_08044E10:
- movs r0, 0x58
- adds r5, r7, 0
- muls r5, r0
- mov r1, r8
- adds r0, r5, r1
- ldrh r4, [r0, 0x28]
- ldrh r0, [r0, 0x2C]
- mov r1, r9
- bl __divsi3
- cmp r4, r0
- ble _08044E2A
- b _080451D6
-_08044E2A:
- cmp r6, 0
- beq _08044E30
- b _080451D6
-_08044E30:
- mov r0, r8
- adds r0, 0x50
- adds r1, r5, r0
- ldr r2, [r1]
- movs r3, 0x80
- lsls r3, 13
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08044E46
- b _080451D6
-_08044E46:
- orrs r2, r3
- str r2, [r1]
- ldr r0, =gUnknown_082DB869
- bl b_call_bc_move_exec
- movs r2, 0x2
- str r2, [sp, 0xC]
- b _080451DE
- .pool
-_08044E5C:
- cmp r6, 0
- beq _08044E62
- b _080451D6
-_08044E62:
- movs r0, 0x58
- adds r5, r7, 0
- muls r5, r0
- mov r3, r8
- adds r0, r5, r3
- ldrh r4, [r0, 0x28]
- ldrh r0, [r0, 0x2C]
- mov r1, r9
- bl __divsi3
- cmp r4, r0
- ble _08044E7C
- b _080451D6
-_08044E7C:
- movs r0, 0
- mov r10, r0
- adds r0, r5, 0x1
- mov r1, r8
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xB
- ble _08044EAC
- mov r0, r8
- adds r0, 0x19
- adds r1, r5, r0
-_08044E98:
- adds r1, 0x1
- movs r2, 0x1
- add r10, r2
- mov r3, r10
- cmp r3, 0x4
- bgt _08044EAC
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- bgt _08044E98
-_08044EAC:
- mov r5, r10
- cmp r5, 0x5
- bne _08044EB4
- b _080451D6
-_08044EB4:
- movs r0, 0x58
- muls r0, r7
- adds r4, r0, 0x1
- ldr r5, =gBattleMons + 0x18
-_08044EBC:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r4
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xC
- beq _08044EBC
- ldr r1, =gBattleTextBuff1
- movs r2, 0
- movs r3, 0xFD
- strb r3, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- mov r0, r10
- adds r0, 0x1
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r0, =gBattleTextBuff2
- strb r3, [r0]
- strb r2, [r0, 0x1]
- movs r1, 0xD1
- strb r1, [r0, 0x2]
- strb r2, [r0, 0x3]
- strb r2, [r0, 0x4]
- movs r1, 0xD2
- strb r1, [r0, 0x5]
- strb r2, [r0, 0x6]
- subs r1, 0xD3
- strb r1, [r0, 0x7]
- ldr r0, =gUnknown_0202420E
- strb r7, [r0]
- ldr r1, =gBattleScripting
- mov r0, r10
- adds r0, 0x21
- strb r0, [r1, 0x1A]
- adds r0, 0x6
- strb r0, [r1, 0x10]
- strb r2, [r1, 0x11]
- ldr r0, =gUnknown_082DB84E
- bl b_call_bc_move_exec
- movs r0, 0x5
- str r0, [sp, 0xC]
- b _080451DE
- .pool
-_08044F44:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x4C
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _08044F5C
- b _080451D6
-_08044F5C:
- movs r0, 0x41
- negs r0, r0
- ands r2, r0
- str r2, [r1]
- ldr r0, =gUnknown_082DB706
- bl b_call_bc_move_exec
- movs r1, 0x1
- str r1, [sp, 0xC]
- b _080451DE
- .pool
-_08044F74:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x4C
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x88
- ands r0, r2
- cmp r0, 0
- bne _08044F8C
- b _080451D6
-_08044F8C:
- ldr r0, =0xfffff077
- ands r2, r0
- str r2, [r1]
- ldr r0, =gUnknown_082DB71E
- bl b_call_bc_move_exec
- movs r2, 0x1
- str r2, [sp, 0xC]
- b _080451DE
- .pool
-_08044FA8:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x4C
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _08044FC0
- b _080451D6
-_08044FC0:
- movs r0, 0x11
- negs r0, r0
- ands r2, r0
- str r2, [r1]
- ldr r0, =gUnknown_082DB736
- bl b_call_bc_move_exec
- movs r3, 0x1
- str r3, [sp, 0xC]
- b _080451DE
- .pool
-_08044FD8:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x4C
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _08044FF0
- b _080451D6
-_08044FF0:
- movs r0, 0x21
- negs r0, r0
- ands r2, r0
- str r2, [r1]
- ldr r0, =gUnknown_082DB74E
- bl b_call_bc_move_exec
- movs r5, 0x1
- str r5, [sp, 0xC]
- b _080451DE
- .pool
-_08045008:
- movs r0, 0x58
- adds r3, r7, 0
- muls r3, r0
- mov r0, r8
- adds r0, 0x4C
- adds r2, r3, r0
- ldr r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08045020
- b _080451D6
-_08045020:
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- mov r1, r8
- adds r1, 0x50
- adds r1, r3, r1
- ldr r0, [r1]
- ldr r2, =0xf7ffffff
- ands r0, r2
- str r0, [r1]
- ldr r0, =gUnknown_082DB766
- b _0804518A
- .pool
-_08045044:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x50
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x7
- ands r0, r2
- cmp r0, 0
- bne _0804505C
- b _080451D6
-_0804505C:
- movs r0, 0x8
- negs r0, r0
- ands r2, r0
- str r2, [r1]
- ldr r0, =gUnknown_082DB77E
- bl b_call_bc_move_exec
- movs r1, 0x2
- str r1, [sp, 0xC]
- b _080451DE
- .pool
-_08045074:
- movs r0, 0x58
- adds r5, r7, 0
- muls r5, r0
- mov r0, r8
- adds r0, 0x4C
- adds r4, r5, r0
- ldr r2, [r4]
- ldrb r0, [r4]
- cmp r0, 0
- bne _0804509A
- mov r0, r8
- adds r0, 0x50
- adds r0, r5, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0804509A
- b _080451D6
-_0804509A:
- movs r3, 0
- mov r10, r3
- movs r0, 0x88
- ands r2, r0
- cmp r2, 0
- beq _080450B2
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC70
- bl StringCopy
- movs r0, 0x1
- mov r10, r0
-_080450B2:
- ldr r0, [r4]
- movs r1, 0x7
- mov r9, r1
- ands r0, r1
- mov r6, r8
- adds r6, 0x50
- cmp r0, 0
- beq _080450D8
- adds r2, r5, r6
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC78
- bl StringCopy
- movs r2, 0x1
- add r10, r2
-_080450D8:
- ldr r0, [r4]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080450EE
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC80
- bl StringCopy
- movs r3, 0x1
- add r10, r3
-_080450EE:
- ldr r0, [r4]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08045104
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC88
- bl StringCopy
- movs r0, 0x1
- add r10, r0
-_08045104:
- ldr r0, [r4]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804511A
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC90
- bl StringCopy
- movs r1, 0x1
- add r10, r1
-_0804511A:
- adds r0, r5, r6
- ldr r0, [r0]
- mov r2, r9
- ands r0, r2
- cmp r0, 0
- beq _08045132
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC98
- bl StringCopy
- movs r3, 0x1
- add r10, r3
-_08045132:
- mov r5, r10
- cmp r5, 0x1
- bgt _08045164
- ldr r1, =gBattleCommunication
- movs r0, 0
- b _08045168
- .pool
-_08045164:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
-_08045168:
- strb r0, [r1, 0x5]
- ldr r2, =gBattleMons
- movs r0, 0x58
- adds r3, r7, 0
- muls r3, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r3, r0
- movs r1, 0
- str r1, [r0]
- adds r2, 0x50
- adds r3, r2
- ldr r0, [r3]
- subs r1, 0x8
- ands r0, r1
- str r0, [r3]
- ldr r0, =gUnknown_082DB794
-_0804518A:
- bl b_call_bc_move_exec
- movs r0, 0x1
- str r0, [sp, 0xC]
- b _080451DE
- .pool
-_080451A0:
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x50
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r2
- cmp r0, 0
- beq _080451D6
- ldr r0, =0xfff0ffff
- ands r2, r0
- str r2, [r1]
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BCA0
- bl StringCopy
- ldr r0, =gUnknown_082DB794
- bl b_call_bc_move_exec
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x5]
- movs r1, 0x2
- str r1, [sp, 0xC]
-_080451D6:
- ldr r2, [sp, 0xC]
- cmp r2, 0
- bne _080451DE
- b _0804582A
-_080451DE:
- ldr r0, =gBattleScripting
- strb r7, [r0, 0x17]
- ldr r0, =gStringBank
- strb r7, [r0]
- ldr r4, =gActiveBank
- ldr r0, =gBankAttacker
- strb r7, [r0]
- strb r7, [r4]
- ldr r3, [sp, 0xC]
- cmp r3, 0x1
- beq _08045220
- cmp r3, 0x3
- beq _08045226
- b _0804582A
- .pool
-_08045220:
- movs r0, 0x58
- muls r0, r7
- b _0804568C
-_08045226:
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r3, r7, 0
- muls r3, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- beq _08045242
- b _0804582A
-_08045242:
- ldr r1, =gDisableStructs
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- mov r5, r10
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08045262
- b _0804582A
-_08045262:
- adds r1, r5, r3
- adds r0, r4, 0
- adds r0, 0x24
- adds r1, r0
- add r0, sp, 0x4
- ldrb r0, [r0]
- strb r0, [r1]
- b _0804582A
- .pool
-_08045280:
- movs r7, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r7, r0
- bcc _0804528C
- b _0804582A
-_0804528C:
- ldr r4, =gLastUsedItem
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _080452C0
- ldr r1, =gEnigmaBerries
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r5, [r0, 0x7]
- b _080452D0
- .pool
-_080452C0:
- ldrh r0, [r4]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4]
- bl ItemId_GetHoldEffectParam
-_080452D0:
- subs r0, r5, 0x2
- cmp r0, 0x1A
- bls _080452D8
- b _08045674
-_080452D8:
- lsls r0, 2
- ldr r1, =_080452E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080452E8:
- .4byte _08045354
- .4byte _08045444
- .4byte _08045390
- .4byte _080453CC
- .4byte _08045408
- .4byte _08045674
- .4byte _0804548C
- .4byte _08045520
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045614
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _08045674
- .4byte _080454C8
-_08045354:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r1, 0x4C
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0804536A
- b _08045674
-_0804536A:
- movs r0, 0x41
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB70C
- str r0, [r1]
- movs r0, 0x1
- str r0, [sp, 0xC]
- b _0804567A
- .pool
-_08045390:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r1, 0x4C
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _080453A6
- b _08045674
-_080453A6:
- ldr r0, =0xfffff077
- ands r1, r0
- str r1, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB724
- str r0, [r1]
- movs r1, 0x1
- str r1, [sp, 0xC]
- b _0804567A
- .pool
-_080453CC:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r1, 0x4C
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080453E2
- b _08045674
-_080453E2:
- movs r0, 0x11
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB73C
- str r0, [r1]
- movs r2, 0x1
- str r2, [sp, 0xC]
- b _0804567A
- .pool
-_08045408:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r1, 0x4C
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0804541E
- b _08045674
-_0804541E:
- movs r0, 0x21
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB754
- str r0, [r1]
- movs r3, 0x1
- str r3, [sp, 0xC]
- b _0804567A
- .pool
-_08045444:
- ldr r2, =gBattleMons
- movs r0, 0x58
- adds r4, r7, 0
- muls r4, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r3, r4, r0
- ldr r1, [r3]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0804545E
- b _08045674
-_0804545E:
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r3]
- adds r2, 0x50
- adds r2, r4, r2
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB76C
- b _080455DC
- .pool
-_0804548C:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _080454A2
- b _08045674
-_080454A2:
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB784
- str r0, [r1]
- movs r0, 0x2
- str r0, [sp, 0xC]
- b _0804567A
- .pool
-_080454C8:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r7
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- bne _080454E0
- b _08045674
-_080454E0:
- ldr r0, =0xfff0ffff
- ands r1, r0
- str r1, [r2]
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BCA0
- bl StringCopy
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB79A
- str r0, [r1]
- movs r1, 0x2
- str r1, [sp, 0xC]
- b _0804567A
- .pool
-_08045520:
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r5, r7, 0
- muls r5, r0
- adds r0, r4, 0
- adds r0, 0x4C
- adds r6, r5, r0
- ldr r2, [r6]
- ldrb r0, [r6]
- cmp r0, 0
- bne _08045548
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r5, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _08045548
- b _08045674
-_08045548:
- movs r0, 0x88
- ands r2, r0
- cmp r2, 0
- beq _08045558
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC70
- bl StringCopy
-_08045558:
- ldr r0, [r6]
- movs r2, 0x7
- mov r8, r2
- ands r0, r2
- adds r4, 0x50
- cmp r0, 0
- beq _08045578
- adds r2, r5, r4
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC78
- bl StringCopy
-_08045578:
- ldr r0, [r6]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804558A
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC80
- bl StringCopy
-_0804558A:
- ldr r0, [r6]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0804559C
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC88
- bl StringCopy
-_0804559C:
- ldr r0, [r6]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080455AE
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC90
- bl StringCopy
-_080455AE:
- adds r5, r4
- ldr r0, [r5]
- mov r3, r8
- ands r0, r3
- cmp r0, 0
- beq _080455C2
- ldr r0, =gBattleTextBuff1
- ldr r1, =gUnknown_0831BC98
- bl StringCopy
-_080455C2:
- movs r4, 0
- str r4, [r6]
- ldr r0, [r5]
- movs r1, 0x8
- negs r1, r1
- ands r0, r1
- str r0, [r5]
- bl b_movescr_stack_push_cursor
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB79A
-_080455DC:
- str r0, [r1]
- movs r5, 0x1
- str r5, [sp, 0xC]
- b _0804567A
- .pool
-_08045614:
- ldr r0, =gBattleMons
- mov r8, r0
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x18
- adds r1, r0
- movs r2, 0x6
- movs r3, 0x7
- mov r10, r3
-_0804562A:
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _08045638
- strb r2, [r1]
- movs r5, 0x5
- str r5, [sp, 0xC]
-_08045638:
- adds r1, 0x1
- movs r0, 0x1
- negs r0, r0
- add r10, r0
- mov r3, r10
- cmp r3, 0
- bge _0804562A
- ldr r5, [sp, 0xC]
- cmp r5, 0
- beq _080456B8
- ldr r0, =gBattleScripting
- strb r7, [r0, 0x17]
- ldr r0, =gStringBank
- strb r7, [r0]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB7B4
- str r0, [r1]
- b _0804582A
- .pool
-_08045674:
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _080456B8
-_0804567A:
- ldr r0, =gBattleScripting
- strb r7, [r0, 0x17]
- ldr r0, =gStringBank
- strb r7, [r0]
- ldr r4, =gActiveBank
- strb r7, [r4]
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
-_0804568C:
- ldr r1, =gBattleMons + 0x4C
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804582A
- .pool
-_080456B8:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r7, r0
- bcs _080456C8
- b _0804528C
-_080456C8:
- b _0804582A
- .pool
-_080456D0:
- ldr r7, =gBattleMoveDamage
- ldr r0, [r7]
- cmp r0, 0
- bne _080456DA
- b _0804582A
-_080456DA:
- mov r1, r8
- cmp r1, 0x1E
- beq _080456EC
- cmp r1, 0x3E
- beq _08045794
- b _0804582A
- .pool
-_080456EC:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _080456FA
- b _0804582A
-_080456FA:
- ldr r2, =gSpecialStatuses
- ldr r4, =gBankTarget
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08045720
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08045720
- b _0804582A
-_08045720:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r2, [sp, 0x10]
- cmp r0, r2
- bcs _0804582A
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x8]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804582A
- ldr r2, =gBattleMons
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _0804582A
- ldr r1, =gBattleCommunication
- movs r0, 0x8
- strb r0, [r1, 0x3]
- bl b_movescr_stack_push_cursor
- movs r0, 0
- movs r1, 0
- bl sub_8048760
- bl b_movescr_stack_pop_cursor
- b _0804582A
- .pool
-_08045794:
- ldr r0, =gBattleMoveFlags
- ldrb r0, [r0]
- movs r5, 0x29
- ands r5, r0
- cmp r5, 0
- bne _0804582A
- ldr r1, =gSpecialStatuses
- ldr r4, =gBankTarget
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r6, r1, 0x4
- adds r0, r6
- ldr r1, [r0]
- cmp r1, 0
- beq _0804582A
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _0804582A
- ldr r0, =gBankAttacker
- ldrb r3, [r0]
- cmp r3, r2
- beq _0804582A
- ldr r2, =gBattleMons
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r1, [r0, 0x28]
- ldrh r0, [r0, 0x2C]
- cmp r1, r0
- beq _0804582A
- cmp r1, 0
- beq _0804582A
- ldr r0, =gLastUsedItem
- mov r1, sp
- ldrh r1, [r1, 0x14]
- strh r1, [r0]
- ldr r0, =gStringBank
- strb r3, [r0]
- ldr r0, =gBattleScripting
- strb r3, [r0, 0x17]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldr r1, [sp, 0x10]
- bl __divsi3
- negs r0, r0
- str r0, [r7]
- ldrb r1, [r4]
- cmp r0, 0
- bne _0804580C
- movs r0, 0x1
- negs r0, r0
- str r0, [r7]
-_0804580C:
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- str r5, [r0]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB7F7
- str r0, [r1]
- ldr r0, [sp, 0xC]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
-_0804582A:
- ldr r0, [sp, 0xC]
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end berry_effects_maybe
-
- thumb_func_start sub_8045868
-sub_8045868: @ 8045868
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gDisableStructs
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0
- strb r2, [r1, 0x10]
- ldr r1, =gBattleMons
- movs r2, 0x58
- adds r3, r0, 0
- muls r3, r2
- adds r1, 0x50
- adds r3, r1
- ldr r1, [r3]
- ldr r2, =0xfdffffff
- ands r1, r2
- str r1, [r3]
- ldr r1, =gStatuses3
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r2, =0xffffbfff
- ands r1, r2
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8045868
-
- thumb_func_start sub_80458B4
-sub_80458B4: @ 80458B4
- push {lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _080458D0
- ldr r1, =gBattleScriptingCommandsTable
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
-_080458D0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80458B4
-
- thumb_func_start GetMoveTarget
-GetMoveTarget: @ 80458E0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 24
- lsrs r0, r1, 24
- movs r5, 0
- cmp r0, 0
- beq _080458FE
- subs r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- b _0804590A
-_080458FE:
- ldr r1, =gBattleMoves
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r6, [r0, 0x6]
-_0804590A:
- cmp r6, 0x40
- bls _08045910
- b _08045C20
-_08045910:
- lsls r0, r6, 2
- ldr r1, =_08045924
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08045924:
- .4byte _08045A28
- .4byte _08045B28
- .4byte _08045C1C
- .4byte _08045C20
- .4byte _08045B40
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045B28
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C1C
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045B28
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045C20
- .4byte _08045B28
-_08045A28:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gSideTimers
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _08045A5A
- ldr r1, =gBattleMons
- ldrb r4, [r2, 0x9]
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08045A5A
- b _08045B70
-_08045A5A:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r7, 1
- mov r8, r0
-_08045A6A:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gNoOfAllBanks
- ldrb r1, [r1]
- bl __modsi3
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gBankAttacker
- ldrb r3, [r6]
- cmp r5, r3
- beq _08045A6A
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _08045A6A
- ldr r0, =gAbsentBankFlags
- ldrb r2, [r0]
- ldr r1, =gBitTable
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- ands r2, r0
- cmp r2, 0
- bne _08045A6A
- ldr r0, =gBattleMoves
- mov r3, r8
- adds r1, r3, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- cmp r0, 0xD
- beq _08045AB8
- b _08045C20
-_08045AB8:
- ldrb r1, [r6]
- str r2, [sp]
- movs r0, 0x10
- movs r2, 0x1F
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08045ACE
- b _08045C20
-_08045ACE:
- ldr r2, =gBattleMons
- movs r1, 0x58
- adds r0, r5, 0
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1F
- bne _08045AE2
- b _08045C20
-_08045AE2:
- movs r4, 0x2
- eors r5, r4
- adds r0, r5, 0
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r1, [r0]
- adds r0, r5, 0
- bl RecordAbilityBattle
- ldr r1, =gSpecialStatuses
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- orrs r1, r4
- strb r1, [r0]
- b _08045C20
- .pool
-_08045B28:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- b _08045BD2
- .pool
-_08045B40:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gSideTimers
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _08045B80
- ldr r1, =gBattleMons
- ldrb r4, [r2, 0x9]
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08045B80
-_08045B70:
- adds r5, r4, 0
- b _08045C20
- .pool
-_08045B80:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r4, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08045BFC
- movs r0, 0x4
- ands r6, r0
- cmp r6, 0
- beq _08045BFC
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08045BC0
- bl Random
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- beq _08045BBC
- movs r0, 0x1
- b _08045BD2
- .pool
-_08045BBC:
- movs r0, 0x3
- b _08045BD2
-_08045BC0:
- bl Random
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- beq _08045BD0
- movs r0, 0
- b _08045BD2
-_08045BD0:
- movs r0, 0x2
-_08045BD2:
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08045C20
- movs r0, 0x2
- eors r5, r0
- b _08045C20
- .pool
-_08045BFC:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r5, r0, 24
- b _08045C20
- .pool
-_08045C1C:
- ldr r0, =gBankAttacker
- ldrb r5, [r0]
-_08045C20:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- strb r5, [r0, 0xC]
- adds r0, r5, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetMoveTarget
-
- thumb_func_start sub_8045C44
-sub_8045C44: @ 8045C44
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08045C8A
- ldr r0, =gBattlePartyID
- lsls r4, 1
- adds r5, r4, r0
- ldrh r0, [r5]
- movs r7, 0x64
- muls r0, r7
- ldr r6, =gPlayerParty
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- beq _08045C98
- ldrh r0, [r5]
- muls r0, r7
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- cmp r0, 0x97
- beq _08045C98
-_08045C8A:
- movs r0, 0x1
- b _08045CAE
- .pool
-_08045C98:
- ldr r0, =gBattlePartyID
- adds r0, r4, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x50
- movs r2, 0
- bl GetMonData
-_08045CAE:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8045C44
-
- thumb_func_start sub_8045CBC
-sub_8045CBC: @ 8045CBC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- movs r6, 0
- ldr r5, =gBattleTypeFlags
- ldr r0, [r5]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- bne _08045DAC
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08045DAC
- ldrb r0, [r4]
- bl sub_8045C44
- cmp r0, 0
- beq _08045D76
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _08045D08
- ldrb r0, [r4]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08045DAC
-_08045D08:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- bne _08045DAC
- movs r0, 0x80
- lsls r0, 17
- ands r1, r0
- cmp r1, 0
- bne _08045DAC
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1, r0
- ldr r0, [r0]
- adds r2, 0x3C
- adds r1, r2
- bl IsOtherTrainer
- lsls r0, 24
- cmp r0, 0
- beq _08045DAC
- ldr r0, =0x0000086e
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08045DAC
- movs r6, 0xA
- ldr r0, =0x00000868
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08045D5A
- movs r6, 0x1E
-_08045D5A:
- ldr r0, =0x0000086a
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08045D68
- movs r6, 0x32
-_08045D68:
- ldr r0, =0x0000086c
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08045D76
- movs r6, 0x46
-_08045D76:
- ldr r5, =gBattleMons
- ldr r0, =gBankAttacker
- mov r8, r0
- ldrb r0, [r0]
- movs r7, 0x58
- muls r0, r7
- adds r0, r5
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, r6
- bls _08045DAC
- bl Random
- movs r1, 0xFF
- ands r1, r0
- mov r2, r8
- ldrb r0, [r2]
- adds r2, r0, 0
- muls r2, r7
- adds r0, r2, r5
- adds r0, 0x2A
- ldrb r0, [r0]
- adds r0, r6
- muls r0, r1
- asrs r4, r0, 8
- cmp r4, r6
- bge _08045DD4
-_08045DAC:
- movs r0, 0
- b _08045FD0
- .pool
-_08045DD4:
- ldr r3, =gCurrentMove
- ldrh r0, [r3]
- cmp r0, 0x63
- bne _08045DEA
- adds r0, r5, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r2, =0xff7fffff
- ands r1, r2
- str r1, [r0]
-_08045DEA:
- mov r1, r8
- ldrb r0, [r1]
- muls r0, r7
- adds r1, r5, 0
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08045E20
- ldrh r0, [r3]
- cmp r0, 0xAD
- beq _08045E0A
- cmp r0, 0xD6
- bne _08045E20
-_08045E0A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB695
- b _08045F7A
- .pool
-_08045E20:
- bl Random
- movs r5, 0xFF
- adds r1, r5, 0
- ands r1, r0
- ldr r7, =gBattleMons
- ldr r2, =gBankAttacker
- mov r9, r2
- ldrb r3, [r2]
- movs r0, 0x58
- mov r8, r0
- mov r0, r8
- muls r0, r3
- adds r0, r7
- adds r0, 0x2A
- ldrb r2, [r0]
- adds r0, r2, r6
- muls r0, r1
- asrs r4, r0, 8
- cmp r4, r6
- bge _08045EE8
- ldr r6, =gBitTable
- ldr r5, =gCurrMovePos
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- adds r0, r3, 0
- movs r2, 0xFF
- bl CheckMoveLimitations
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bne _08045E68
- b _08045F6A
-_08045E68:
- ldr r1, =gUnknown_020241E9
- mov r8, r1
- movs r7, 0x3
-_08045E6E:
- bl Random
- ands r0, r7
- mov r2, r8
- strb r0, [r2]
- strb r0, [r5]
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- bne _08045E6E
- ldr r4, =gRandomMove
- ldr r3, =gBattleMons
- ldr r0, =gCurrMovePos
- ldrb r0, [r0]
- lsls r0, 1
- ldr r1, =gBankAttacker
- ldrb r2, [r1]
- movs r1, 0x58
- muls r1, r2
- adds r0, r1
- adds r3, 0xC
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB6A5
- str r0, [r1]
- ldrh r0, [r4]
- movs r1, 0
- bl GetMoveTarget
- ldr r1, =gBankTarget
- strb r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 14
- b _08045FCA
- .pool
-_08045EE8:
- subs r0, r2, r6
- lsls r0, 24
- lsrs r6, r0, 24
- bl Random
- adds r4, r5, 0
- ands r4, r0
- cmp r4, r6
- bge _08045F64
- mov r1, r9
- ldrb r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r7, 0
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- ands r0, r5
- cmp r0, 0
- bne _08045F64
- adds r0, r1, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x48
- beq _08045F64
- cmp r0, 0xF
- beq _08045F64
- movs r2, 0
- ldr r0, =gNoOfAllBanks
- ldrb r3, [r0]
- mov r8, r0
- cmp r2, r3
- bge _08045F4A
- ldr r0, [r7, 0x50]
- movs r1, 0x70
- ands r0, r1
- cmp r0, 0
- bne _08045F4A
- adds r1, r7, 0
- adds r1, 0x50
- movs r5, 0x70
-_08045F3A:
- adds r1, 0x58
- adds r2, 0x1
- cmp r2, r3
- bge _08045F4A
- ldr r0, [r1]
- ands r0, r5
- cmp r0, 0
- beq _08045F3A
-_08045F4A:
- mov r0, r8
- ldrb r0, [r0]
- cmp r2, r0
- bne _08045F64
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB6D9
- b _08045F7A
- .pool
-_08045F64:
- subs r4, r6
- cmp r4, r6
- blt _08045F8C
-_08045F6A:
- bl Random
- ldr r2, =gBattleCommunication
- movs r1, 0x3
- ands r1, r0
- strb r1, [r2, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB6AD
-_08045F7A:
- str r0, [r1]
- movs r0, 0x1
- b _08045FD0
- .pool
-_08045F8C:
- ldr r4, =gBankAttacker
- ldrb r1, [r4]
- movs r0, 0x58
- muls r1, r0
- ldr r0, =gBattleMons
- adds r1, r0
- movs r0, 0x28
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldrb r0, [r4]
- str r0, [sp, 0x8]
- ldrb r0, [r4]
- str r0, [sp, 0xC]
- adds r0, r1, 0
- movs r2, 0x1
- movs r3, 0
- bl CalculateBaseDamage
- ldr r1, =gBattleMoveDamage
- str r0, [r1]
- ldr r1, =gBankTarget
- ldrb r0, [r4]
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB6F0
- str r0, [r1]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 12
-_08045FCA:
- orrs r0, r1
- str r0, [r2]
- movs r0, 0x2
-_08045FD0:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8045CBC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_4.s b/asm/battle_4.s
deleted file mode 100644
index 8651b9724..000000000
--- a/asm/battle_4.s
+++ /dev/null
@@ -1,31160 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start atk00_attackcanceler
-atk00_attackcanceler: @ 8045FFC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0
- beq _08046020
- ldr r1, =gFightStateTracker
- movs r0, 0xC
- strb r0, [r1]
- b _08046398
- .pool
-_08046020:
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08046064
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _08046064
- movs r0, 0x80
- lsls r0, 12
- orrs r1, r0
- str r1, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D8A4E
- b _08046396
- .pool
-_08046064:
- bl sub_8041A6C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08046072
- b _08046398
-_08046072:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- str r2, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _0804608A
- b _08046398
-_0804608A:
- ldr r4, =gBattleMons
- ldr r0, =gCurrMovePos
- ldrb r1, [r0]
- ldr r3, =gBankAttacker
- ldrb r2, [r3]
- movs r0, 0x58
- muls r2, r0
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x24
- adds r1, r0
- ldrb r0, [r1]
- ldr r5, =gHitMarker
- cmp r0, 0
- bne _08046108
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xA5
- beq _08046108
- ldr r0, [r5]
- ldr r1, =0x00800200
- ands r0, r1
- cmp r0, 0
- bne _08046108
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _08046108
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB07A
- str r0, [r1]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- b _08046398
- .pool
-_08046108:
- ldr r0, [r5]
- ldr r1, =0xff7fffff
- ands r0, r1
- str r0, [r5]
- movs r6, 0x80
- lsls r6, 18
- ands r0, r6
- cmp r0, 0
- bne _08046160
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r1, r4, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _08046160
- bl sub_8045CBC
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08046160
- cmp r2, 0x2
- bne _08046150
- ldr r0, [r5]
- orrs r0, r6
- str r0, [r5]
- b _08046398
- .pool
-_08046150:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _08046398
- .pool
-_08046160:
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 18
- orrs r0, r1
- str r0, [r2]
- ldr r2, =gProtectStructs
- ldr r1, =gBankTarget
- ldrb r3, [r1]
- lsls r0, r3, 4
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 27
- mov r8, r1
- mov r9, r2
- cmp r0, 0
- bge _080461E8
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x8]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080461E8
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r2, =0x00000115
- adds r1, r3, 0
- bl sub_803F480
- mov r0, r8
- ldrb r1, [r0]
- lsls r1, 4
- add r1, r9
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB194
- b _08046396
- .pool
-_080461E8:
- movs r2, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r2, r0
- bge _0804622A
- ldr r6, =gProtectStructs
- ldr r1, =gBattleMoves
- mov r12, r1
- adds r5, r0, 0
- ldr r7, =gTurnOrder
-_080461FC:
- adds r4, r2, r7
- ldrb r3, [r4]
- lsls r0, r3, 4
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08046224
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r1, [r0, 0x8]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08046224
- b _08046350
-_08046224:
- adds r2, 0x1
- cmp r2, r5
- blt _080461FC
-_0804622A:
- ldr r0, =gSpecialStatuses
- mov r1, r8
- ldrb r2, [r1]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r3, [r1]
- lsls r0, r3, 30
- cmp r0, 0
- bge _08046288
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- strb r0, [r1]
- ldr r4, =gLastUsedAbility
- movs r0, 0x1F
- strb r0, [r4]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB53E
- str r0, [r1]
- mov r1, r8
- ldrb r0, [r1]
- ldrb r1, [r4]
- bl RecordAbilityBattle
- b _08046398
- .pool
-_08046288:
- lsls r0, r2, 4
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _08046296
- b _08046390
-_08046296:
- ldr r1, =gBattleMoves
- ldr r2, =gCurrentMove
- ldrh r3, [r2]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x2
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _08046390
- cmp r3, 0xAE
- bne _080462D4
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _080462D4
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08046390
-_080462D4:
- ldrh r0, [r4]
- bl sub_8052F48
- lsls r0, 24
- cmp r0, 0
- beq _080462FA
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _08046390
-_080462FA:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl CancelMultiTurnMoves
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gUnknown_02024250
- ldr r3, =gBankTarget
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02024258
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- strh r2, [r0]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x6]
- b _08046390
- .pool
-_08046350:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r2, =0x00000121
- adds r1, r3, 0
- bl sub_803F480
- ldrb r1, [r4]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gBattleScripting
- ldrb r0, [r4]
- strb r0, [r1, 0x17]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB1AC
- b _08046396
- .pool
-_08046390:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
-_08046396:
- str r0, [r1]
-_08046398:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk00_attackcanceler
-
- thumb_func_start mcmd_jump_if_move_not_executed
-mcmd_jump_if_move_not_executed: @ 80463AC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, =gBattlescriptCurrInstr
- ldr r5, [r1]
- adds r4, r5, r0
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _0804640C
- ldr r1, =gUnknown_02024250
- ldr r3, =gBankTarget
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02024258
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- strh r2, [r0]
- ldrb r4, [r5, 0x1]
- ldrb r0, [r5, 0x2]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r5, 0x3]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r5, 0x4]
- lsls r0, 24
- orrs r4, r0
- b _08046426
- .pool
-_0804640C:
- bl b_feature_update_destiny_bond
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- str r6, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _0804642A
-_08046426:
- ldr r0, =gBattlescriptCurrInstr
- str r4, [r0]
-_0804642A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mcmd_jump_if_move_not_executed
-
- thumb_func_start atk40_jump_if_move_affected_by_protect
-atk40_jump_if_move_affected_by_protect: @ 804643C
- push {lr}
- ldr r1, =gProtectStructs
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0804649C
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x8]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804649C
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x5
- movs r1, 0
- bl mcmd_jump_if_move_not_executed
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x6]
- b _080464A4
- .pool
-_0804649C:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080464A4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk40_jump_if_move_affected_by_protect
-
- thumb_func_start sub_80464AC
-sub_80464AC: @ 80464AC
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, =gProtectStructs
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _080464F8
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x8]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080464F8
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x7
- adds r1, r3, 0
- bl mcmd_jump_if_move_not_executed
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x6]
- movs r4, 0x1
-_080464F8:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80464AC
-
- thumb_func_start sub_8046518
-sub_8046518: @ 8046518
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r2, =gStatuses3
- ldr r3, =gBankTarget
- ldrb r4, [r3]
- lsls r0, r4, 2
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x18
- ands r1, r0
- adds r6, r2, 0
- cmp r1, 0
- beq _0804654A
- ldr r1, =gDisableStructs
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, =gBankAttacker
- ldrb r0, [r0, 0x15]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08046634
-_0804654A:
- ldr r0, =gHitMarker
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 9
- ands r1, r2
- adds r2, r0, 0
- cmp r1, 0
- bne _08046590
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08046590
-_0804656A:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _08046634
- .pool
-_08046590:
- ldr r0, [r2]
- ldr r1, =0xfffeffff
- ands r0, r1
- str r0, [r2]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- bne _080465B2
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804656A
-_080465B2:
- ldr r0, [r2]
- ldr r1, =0xfffdffff
- ands r0, r1
- str r0, [r2]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- bne _080465D2
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- bne _0804656A
-_080465D2:
- ldr r0, [r2]
- ldr r1, =0xfffbffff
- ands r0, r1
- str r0, [r2]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r5, 1
- cmp r0, 0
- bne _08046622
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08046622
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08046622
- ldr r0, =gBattleMoves
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x98
- beq _08046634
-_08046622:
- ldr r1, =gBattleMoves
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x11
- beq _08046634
- cmp r0, 0x4E
- bne _08046654
-_08046634:
- movs r0, 0x7
- adds r1, r5, 0
- bl mcmd_jump_if_move_not_executed
- movs r0, 0x1
- b _08046656
- .pool
-_08046654:
- movs r0, 0
-_08046656:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8046518
-
- thumb_func_start atk01_accuracycheck
-atk01_accuracycheck: @ 8046660
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gBattlescriptCurrInstr
- ldr r5, [r0]
- ldrb r6, [r5, 0x5]
- ldrb r1, [r5, 0x6]
- lsls r1, 8
- orrs r6, r1
- adds r1, r6, 0x2
- lsls r1, 16
- lsrs r1, 16
- adds r7, r0, 0
- cmp r1, 0x1
- bhi _0804671C
- ldr r2, =gStatuses3
- ldr r3, =gBankTarget
- ldrb r4, [r3]
- lsls r0, r4, 2
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x18
- ands r1, r0
- cmp r1, 0
- beq _080466D0
- ldr r0, =0x0000ffff
- cmp r6, r0
- bne _080466D0
- ldr r1, =gDisableStructs
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, =gBankAttacker
- ldrb r0, [r0, 0x15]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080466D0
- adds r0, r5, 0x7
- str r0, [r7]
- b _080469D2
- .pool
-_080466D0:
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- beq _08046700
- ldr r2, [r7]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r7]
- b _080469D2
- .pool
-_08046700:
- movs r0, 0
- bl sub_80464AC
- lsls r0, 24
- cmp r0, 0
- beq _0804670E
- b _080469D2
-_0804670E:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x7
- str r0, [r1]
- b _080469D2
- .pool
-_0804671C:
- cmp r6, 0
- bne _08046724
- ldr r0, =gCurrentMove
- ldrh r6, [r0]
-_08046724:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _08046744
- movs r1, 0x3F
- mov r10, r1
- mov r2, r10
- ands r2, r0
- mov r10, r2
- b _08046752
- .pool
-_08046744:
- ldr r1, =gBattleMoves
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- mov r10, r0
-_08046752:
- adds r0, r6, 0
- bl sub_80464AC
- lsls r0, 24
- cmp r0, 0
- beq _08046760
- b _080469D2
-_08046760:
- adds r0, r6, 0
- bl sub_8046518
- lsls r0, 24
- cmp r0, 0
- beq _0804676E
- b _080469D2
-_0804676E:
- ldr r3, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- movs r2, 0x58
- adds r4, r0, 0
- muls r4, r2
- adds r0, r3, 0
- adds r0, 0x50
- adds r0, r4, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 22
- ands r0, r1
- cmp r0, 0
- beq _080467A8
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- ldrb r5, [r0, 0x1E]
- b _080467BE
- .pool
-_080467A8:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- ldrb r0, [r0, 0x1E]
- adds r0, 0x6
- adds r1, r4, r3
- ldrb r1, [r1, 0x1F]
- subs r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
-_080467BE:
- lsls r0, r5, 24
- cmp r0, 0
- bge _080467C6
- movs r5, 0
-_080467C6:
- lsls r0, r5, 24
- asrs r0, 24
- cmp r0, 0xC
- ble _080467D0
- movs r5, 0xC
-_080467D0:
- ldr r1, =gBattleMoves
- lsls r4, r6, 1
- adds r0, r4, r6
- lsls r0, 2
- adds r7, r0, r1
- ldrb r3, [r7, 0x3]
- mov r8, r3
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp, 0x4]
- cmp r0, 0
- bne _08046822
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08046822
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08046822
- ldrb r0, [r7]
- cmp r0, 0x98
- bne _08046822
- movs r0, 0x32
- mov r8, r0
-_08046822:
- ldr r1, =gAccuracyStageRatios
- lsls r0, r5, 24
- asrs r0, 22
- adds r0, r1
- ldrb r1, [r0]
- mov r4, r8
- muls r4, r1
- ldrb r1, [r0, 0x1]
- adds r0, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r7, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- movs r5, 0x58
- muls r0, r5
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _08046860
- lsls r0, r4, 6
- adds r0, r4
- lsls r0, 1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_08046860:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080468B8
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _080468B8
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- muls r0, r5
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080468B8
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _080468B8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_080468B8:
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- mov r9, r2
- cmp r0, 0x37
- bne _080468E4
- mov r1, r10
- cmp r1, 0x8
- bhi _080468E4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_080468E4:
- ldr r2, =gBankTarget
- mov r8, r2
- ldrb r2, [r2]
- movs r7, 0x58
- adds r0, r2, 0
- muls r0, r7
- mov r3, r9
- adds r1, r0, r3
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _08046928
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r5, [r0, 0x7]
- ldrb r2, [r0, 0x1A]
- b _08046944
- .pool
-_08046928:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r8
- ldrb r0, [r1]
- muls r0, r7
- add r0, r9
- ldrh r0, [r0, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r2, r0, 24
-_08046944:
- ldr r0, =gStringBank
- ldr r1, =gBankTarget
- ldrb r1, [r1]
- strb r1, [r0]
- cmp r5, 0x16
- bne _08046960
- movs r0, 0x64
- subs r0, r2
- muls r0, r4
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_08046960:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0x1
- cmp r0, r4
- ble _080469CA
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080469C0
- ldr r1, =gBattleMoves
- ldr r2, [sp, 0x4]
- adds r0, r2, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x6]
- cmp r0, 0x8
- beq _080469A2
- cmp r0, 0x20
- bne _080469C0
-_080469A2:
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- b _080469C4
- .pool
-_080469C0:
- ldr r1, =gBattleCommunication
- movs r0, 0
-_080469C4:
- strb r0, [r1, 0x6]
- bl b_wonderguard_and_levitate
-_080469CA:
- movs r0, 0x7
- adds r1, r6, 0
- bl mcmd_jump_if_move_not_executed
-_080469D2:
- 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 atk01_accuracycheck
-
- thumb_func_start atk02_attackstring
-atk02_attackstring: @ 80469E8
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r5, [r0]
- cmp r5, 0
- bne _08046A20
- ldr r4, =gHitMarker
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- bne _08046A14
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x4
- bl b_std_message
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- str r0, [r4]
-_08046A14:
- ldr r0, =gBattlescriptCurrInstr
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- ldr r0, =gBattleCommunication
- strb r5, [r0, 0x7]
-_08046A20:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk02_attackstring
-
- thumb_func_start atk03_ppreduce
-atk03_ppreduce: @ 8046A3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0x1
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _08046A54
- b _08046BEE
-_08046A54:
- ldr r1, =gSpecialStatuses
- ldr r2, =gBankAttacker
- ldrb r3, [r2]
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r4, r0, 31
- mov r9, r2
- cmp r4, 0
- bne _08046AF6
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x6]
- cmp r0, 0x20
- beq _08046AA6
- cmp r0, 0x20
- bgt _08046AA0
- cmp r0, 0x8
- beq _08046ABC
- b _08046AD6
- .pool
-_08046AA0:
- cmp r0, 0x40
- beq _08046ABC
- b _08046AD6
-_08046AA6:
- str r4, [sp]
- movs r0, 0x12
- adds r1, r3, 0
- movs r2, 0x2E
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0x1
- b _08046AF6
-_08046ABC:
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r2, 0x2E
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0
- b _08046AF6
-_08046AD6:
- ldr r1, =gBankTarget
- mov r2, r9
- ldrb r0, [r2]
- ldrb r7, [r1]
- cmp r0, r7
- beq _08046AF6
- ldr r2, =gBattleMons
- ldrb r1, [r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x2E
- bne _08046AF6
- adds r6, 0x1
-_08046AF6:
- ldr r0, =gHitMarker
- ldr r4, [r0]
- movs r0, 0xA0
- lsls r0, 4
- ands r4, r0
- cmp r4, 0
- bne _08046BDC
- ldr r2, =gBattleMons
- ldr r3, =gCurrMovePos
- ldr r1, =gBankAttacker
- ldrb r5, [r1]
- movs r0, 0x58
- mov r8, r0
- mov r0, r8
- muls r0, r5
- ldrb r7, [r3]
- adds r0, r7
- movs r7, 0x24
- adds r7, r2
- mov r12, r7
- add r0, r12
- ldrb r0, [r0]
- mov r9, r1
- mov r10, r2
- adds r7, r3, 0
- cmp r0, 0
- beq _08046BDC
- ldr r0, =gProtectStructs
- lsls r1, r5, 4
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x2]
- mov r1, r9
- ldrb r0, [r1]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- ldrb r1, [r7]
- adds r0, r1
- mov r1, r12
- adds r2, r0, r1
- ldrb r0, [r2]
- cmp r0, r6
- ble _08046B70
- subs r0, r6
- strb r0, [r2]
- b _08046B72
- .pool
-_08046B70:
- strb r4, [r2]
-_08046B72:
- mov r2, r9
- ldrb r3, [r2]
- movs r4, 0x58
- adds r0, r3, 0
- muls r0, r4
- mov r1, r10
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _08046BDC
- ldr r1, =gDisableStructs
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08046BDC
- ldr r0, =gActiveBank
- strb r3, [r0]
- ldrb r1, [r7]
- adds r1, 0x9
- lsls r1, 24
- lsrs r1, 24
- mov r2, r9
- ldrb r0, [r2]
- muls r0, r4
- mov r2, r10
- adds r2, 0x24
- adds r0, r2
- ldrb r7, [r7]
- adds r0, r7
- str r0, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0x1
- bl dp01_build_cmdbuf_x02_a_b_varargs
- mov r7, r9
- ldrb r0, [r7]
- bl dp01_battle_side_mark_buffer_for_execution
-_08046BDC:
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0xfffff7ff
- ands r0, r1
- str r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08046BEE:
- 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 atk03_ppreduce
-
- thumb_func_start atk04_critcalc
-atk04_critcalc: @ 8046C18
- push {r4-r7,lr}
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- cmp r0, 0xAF
- bne _08046C48
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r6, [r0, 0x7]
- b _08046C50
- .pool
-_08046C48:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r6, r0, 24
-_08046C50:
- ldr r1, =gStringBank
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- strb r0, [r1]
- ldr r4, =gBattleMons
- ldrb r1, [r3]
- movs r0, 0x58
- adds r7, r1, 0
- muls r7, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r7, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 13
- ands r0, r1
- negs r0, r0
- asrs r5, r0, 31
- movs r0, 0x2
- ands r5, r0
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- mov r12, r3
- cmp r1, 0x2B
- bne _08046C90
- adds r5, 0x1
-_08046C90:
- adds r0, r5, 0
- cmp r1, 0x4B
- bne _08046C98
- adds r0, 0x1
-_08046C98:
- cmp r1, 0xC8
- bne _08046C9E
- adds r0, 0x1
-_08046C9E:
- adds r2, r0, 0
- cmp r1, 0xD1
- bne _08046CA6
- adds r2, 0x1
-_08046CA6:
- movs r1, 0
- cmp r6, 0x3F
- bne _08046CB6
- adds r0, r7, r4
- ldrh r0, [r0]
- cmp r0, 0x71
- bne _08046CB6
- movs r1, 0x1
-_08046CB6:
- lsls r5, r1, 1
- movs r3, 0
- cmp r6, 0x42
- bne _08046CD0
- mov r0, r12
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x53
- bne _08046CD0
- movs r3, 0x1
-_08046CD0:
- lsls r1, r3, 1
- cmp r6, 0x29
- bne _08046CF0
- adds r0, r5, 0x1
- adds r0, r2, r0
- b _08046CF2
- .pool
-_08046CF0:
- adds r0, r2, r5
-_08046CF2:
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- cmp r5, 0x4
- bls _08046D00
- movs r5, 0x4
-_08046D00:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r4, [r0]
- cmp r4, 0x4
- beq _08046D70
- cmp r4, 0x4B
- beq _08046D70
- ldr r1, =gStatuses3
- mov r2, r12
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- bne _08046D70
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- bne _08046D70
- bl Random
- ldr r2, =gCriticalHitChance
- lsls r1, r5, 1
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _08046D70
- ldr r1, =gCritMultiplier
- movs r0, 0x2
- b _08046D74
- .pool
-_08046D70:
- ldr r1, =gCritMultiplier
- movs r0, 0x1
-_08046D74:
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk04_critcalc
-
- thumb_func_start atk05_damagecalc1
-atk05_damagecalc1: @ 8046D8C
- push {r4-r7,lr}
- sub sp, 0x10
- ldr r4, =gSideAffecting
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- movs r4, 0x58
- muls r0, r4
- ldr r2, =gBattleMons
- adds r0, r2
- ldrb r1, [r5]
- muls r1, r4
- adds r1, r2
- ldr r7, =gCurrentMove
- ldrh r2, [r7]
- ldr r4, =gDynamicBasePower
- ldrh r4, [r4]
- str r4, [sp]
- ldr r4, =gBattleStruct
- ldr r4, [r4]
- ldrb r4, [r4, 0x13]
- str r4, [sp, 0x4]
- ldrb r4, [r6]
- str r4, [sp, 0x8]
- ldrb r4, [r5]
- str r4, [sp, 0xC]
- bl CalculateBaseDamage
- ldr r4, =gBattleMoveDamage
- ldr r1, =gCritMultiplier
- ldrb r1, [r1]
- muls r1, r0
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0xE]
- adds r3, r1, 0
- muls r3, r0
- str r3, [r4]
- ldr r1, =gStatuses3
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- beq _08046E10
- ldr r2, =gBattleMoves
- ldrh r1, [r7]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- cmp r0, 0xD
- bne _08046E10
- lsls r0, r3, 1
- str r0, [r4]
-_08046E10:
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 28
- cmp r0, 0
- bge _08046E32
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- lsls r0, r1, 4
- subs r0, r1
- movs r1, 0xA
- bl __divsi3
- str r0, [r4]
-_08046E32:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk05_damagecalc1
-
- thumb_func_start AI_CalcDmg
-AI_CalcDmg: @ 8046E7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gSideAffecting
- adds r0, r5, 0
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- movs r1, 0x58
- adds r0, r7, 0
- muls r0, r1
- ldr r2, =gBattleMons
- adds r0, r2
- muls r1, r5
- adds r1, r2
- ldr r2, =gCurrentMove
- mov r8, r2
- ldrh r2, [r2]
- ldr r6, =gDynamicBasePower
- ldrh r4, [r6]
- str r4, [sp]
- ldr r4, =gBattleStruct
- ldr r4, [r4]
- ldrb r4, [r4, 0x13]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- str r5, [sp, 0xC]
- bl CalculateBaseDamage
- ldr r4, =gBattleMoveDamage
- movs r1, 0
- strh r1, [r6]
- ldr r1, =gCritMultiplier
- ldrb r1, [r1]
- muls r1, r0
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0xE]
- adds r3, r1, 0
- muls r3, r0
- str r3, [r4]
- ldr r1, =gStatuses3
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- beq _08046F0A
- ldr r2, =gBattleMoves
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- cmp r0, 0xD
- bne _08046F0A
- lsls r0, r3, 1
- str r0, [r4]
-_08046F0A:
- ldr r0, =gProtectStructs
- lsls r1, r7, 4
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 28
- cmp r0, 0
- bge _08046F28
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- lsls r0, r1, 4
- subs r0, r1
- movs r1, 0xA
- bl __divsi3
- str r0, [r4]
-_08046F28:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AI_CalcDmg
-
- thumb_func_start battle_attack_damage_modulate_by_effectivity
-battle_attack_damage_modulate_by_effectivity: @ 8046F60
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gBattleMoveDamage
- ldr r0, [r5]
- muls r0, r4
- movs r1, 0xA
- bl __divsi3
- str r0, [r5]
- cmp r0, 0
- bne _08046F80
- cmp r4, 0
- beq _08046F80
- movs r0, 0x1
- str r0, [r5]
-_08046F80:
- cmp r4, 0x5
- beq _08046FB0
- cmp r4, 0x5
- bgt _08046F94
- cmp r4, 0
- beq _08046F9A
- b _08047032
- .pool
-_08046F94:
- cmp r4, 0x14
- beq _08046FF0
- b _08047032
-_08046F9A:
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- movs r1, 0xFB
- ands r0, r1
- movs r1, 0xFD
- ands r0, r1
- b _08047030
- .pool
-_08046FB0:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08047032
- ldr r2, =gBattleMoveFlags
- ldrb r1, [r2]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08047032
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08046FEC
- movs r0, 0xFD
- ands r0, r1
- b _08047030
- .pool
-_08046FEC:
- movs r0, 0x4
- b _0804702E
-_08046FF0:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08047032
- ldr r2, =gBattleMoveFlags
- ldrb r1, [r2]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08047032
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0804702C
- movs r0, 0xFB
- ands r0, r1
- b _08047030
- .pool
-_0804702C:
- movs r0, 0x2
-_0804702E:
- orrs r0, r1
-_08047030:
- strb r0, [r2]
-_08047032:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end battle_attack_damage_modulate_by_effectivity
-
- thumb_func_start atk06_typecalc
-atk06_typecalc: @ 8047038
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0
- ldr r1, =gCurrentMove
- ldrh r0, [r1]
- cmp r0, 0xA5
- bne _0804704C
- b _08047260
-_0804704C:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _08047068
- movs r1, 0x3F
- mov r8, r1
- ands r1, r0
- mov r8, r1
- b _08047078
- .pool
-_08047068:
- ldr r2, =gBattleMoves
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- mov r8, r0
-_08047078:
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- adds r5, r2, 0
- cmp r0, r8
- beq _0804709A
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, r8
- bne _080470B0
-_0804709A:
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- lsls r0, r1, 4
- subs r0, r1
- str r0, [r4]
- movs r1, 0xA
- str r3, [sp, 0x4]
- bl __divsi3
- str r0, [r4]
- ldr r3, [sp, 0x4]
-_080470B0:
- ldr r2, =gBankTarget
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- adds r0, r5
- adds r0, 0x20
- ldrb r0, [r0]
- adds r4, r2, 0
- cmp r0, 0x1A
- bne _08047128
- mov r1, r8
- cmp r1, 0x4
- bne _08047128
- ldr r3, =gLastUsedAbility
- strb r0, [r3]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x9
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gUnknown_02024250
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02024258
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- strh r2, [r0]
- ldr r0, =gBattleCommunication
- mov r1, r8
- strb r1, [r0, 0x6]
- ldrb r0, [r4]
- ldrb r1, [r3]
- bl RecordAbilityBattle
- b _080471C4
- .pool
-_08047128:
- ldr r1, =gUnknown_0831ACE8
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r2, r1, 0
- b _080471A4
- .pool
-_08047138:
- adds r3, 0x3
- b _080471A0
-_0804713C:
- ldr r5, =gUnknown_0831ACE8
- adds r0, r3, r5
- ldrb r0, [r0]
- cmp r0, r8
- bne _08047198
- adds r1, r3, 0x1
- adds r1, r5
- ldr r2, =gBattleMons
- ldr r7, =gBankTarget
- ldrb r0, [r7]
- movs r6, 0x58
- muls r0, r6
- adds r0, r2
- adds r0, 0x21
- ldrb r4, [r1]
- ldrb r0, [r0]
- cmp r4, r0
- bne _08047172
- adds r0, r3, 0x2
- adds r0, r5
- ldrb r0, [r0]
- str r2, [sp]
- str r3, [sp, 0x4]
- bl battle_attack_damage_modulate_by_effectivity
- ldr r3, [sp, 0x4]
- ldr r2, [sp]
-_08047172:
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x22
- ldrb r1, [r1]
- cmp r4, r1
- bne _08047198
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, r4
- beq _08047198
- adds r0, r3, 0x2
- adds r0, r5
- ldrb r0, [r0]
- str r3, [sp, 0x4]
- bl battle_attack_damage_modulate_by_effectivity
- ldr r3, [sp, 0x4]
-_08047198:
- adds r3, 0x3
- ldr r5, =gBattleMons
- ldr r4, =gBankTarget
- ldr r2, =gUnknown_0831ACE8
-_080471A0:
- adds r0, r3, r2
- ldrb r0, [r0]
-_080471A4:
- cmp r0, 0xFF
- beq _080471C4
- cmp r0, 0xFE
- bne _0804713C
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r1, r5, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 22
- ands r0, r1
- cmp r0, 0
- beq _08047138
-_080471C4:
- ldr r2, =gBattleMons
- ldr r5, =gBankTarget
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r6, [r0]
- cmp r6, 0x19
- bne _08047242
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r7, =gCurrentMove
- ldrh r1, [r7]
- bl move_weather_interaction
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08047242
- ldr r1, =gBattleMoveFlags
- mov r8, r1
- ldrb r4, [r1]
- ands r0, r4
- cmp r0, 0
- beq _08047200
- movs r0, 0x6
- ands r0, r4
- cmp r0, 0x6
- bne _08047242
-_08047200:
- ldr r2, =gBattleMoves
- ldrh r1, [r7]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08047242
- ldr r3, =gLastUsedAbility
- strb r6, [r3]
- movs r0, 0x1
- orrs r0, r4
- mov r1, r8
- strb r0, [r1]
- ldr r1, =gUnknown_02024250
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02024258
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- strh r2, [r0]
- ldr r1, =gBattleCommunication
- movs r0, 0x3
- strb r0, [r1, 0x6]
- ldrb r0, [r5]
- ldrb r1, [r3]
- bl RecordAbilityBattle
-_08047242:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08047260
- ldr r2, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 4
- adds r1, r2
- ldrb r0, [r1, 0x1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1, 0x1]
-_08047260:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk06_typecalc
-
- thumb_func_start b_wonderguard_and_levitate
-b_wonderguard_and_levitate: @ 80472A8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r6, 0
- movs r5, 0
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- mov r9, r0
- cmp r1, 0xA5
- bne _080472C0
- b _08047508
-_080472C0:
- ldr r2, =gBattleMoves
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _080472D2
- b _08047508
-_080472D2:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _080472F4
- movs r1, 0x3F
- mov r12, r1
- mov r2, r12
- ands r2, r0
- mov r12, r2
- b _080472F8
- .pool
-_080472F4:
- ldrb r1, [r1, 0x2]
- mov r12, r1
-_080472F8:
- ldr r2, =gBattleMons
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r1, [r0]
- adds r7, r2, 0
- mov r8, r3
- cmp r1, 0x1A
- bne _0804733C
- mov r0, r12
- cmp r0, 0x4
- bne _0804733C
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- ldr r0, =gBattleCommunication
- mov r1, r12
- strb r1, [r0, 0x6]
- ldrb r0, [r3]
- movs r1, 0x1A
- bl RecordAbilityBattle
- b _08047508
- .pool
-_0804733C:
- ldr r1, =gUnknown_0831ACE8
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r4, r1, 0
- b _0804748E
- .pool
-_0804734C:
- adds r0, r5, r4
- ldrb r0, [r0]
- cmp r0, r12
- beq _08047356
- b _08047488
-_08047356:
- adds r2, r5, 0x1
- adds r3, r2, r4
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7
- adds r0, 0x21
- ldrb r1, [r3]
- adds r3, r2, 0
- ldrb r0, [r0]
- cmp r1, r0
- bne _08047396
- adds r0, r5, 0x2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08047396
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- lsls r2, 4
- adds r2, r1
- ldrb r0, [r2, 0x1]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x1]
-_08047396:
- adds r2, r3, r4
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7
- adds r1, r0, 0
- adds r1, 0x22
- ldrb r2, [r2]
- ldrb r1, [r1]
- cmp r2, r1
- bne _080473DC
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, r2
- beq _080473DC
- adds r0, r5, 0x2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080473DC
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- lsls r2, 4
- adds r2, r1
- ldrb r0, [r2, 0x1]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x1]
-_080473DC:
- adds r2, r3, r4
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7
- adds r0, 0x21
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _08047400
- adds r0, r5, 0x2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x14
- bne _08047400
- movs r0, 0x1
- orrs r6, r0
-_08047400:
- adds r2, r3, r4
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7
- adds r1, r0, 0
- adds r1, 0x22
- ldrb r2, [r2]
- ldrb r1, [r1]
- cmp r2, r1
- bne _0804742E
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, r2
- beq _0804742E
- adds r0, r5, 0x2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x14
- bne _0804742E
- movs r0, 0x1
- orrs r6, r0
-_0804742E:
- adds r2, r3, r4
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7
- adds r0, 0x21
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _08047456
- adds r0, r5, 0x2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _08047456
- movs r0, 0x2
- orrs r6, r0
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_08047456:
- adds r2, r3, r4
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7
- adds r1, r0, 0
- adds r1, 0x22
- ldrb r2, [r2]
- ldrb r1, [r1]
- cmp r2, r1
- bne _08047488
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, r2
- beq _08047488
- adds r0, r5, 0x2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _08047488
- movs r0, 0x2
- orrs r6, r0
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_08047488:
- adds r5, 0x3
- adds r0, r5, r4
- ldrb r0, [r0]
-_0804748E:
- cmp r0, 0xFF
- beq _080474B2
- cmp r0, 0xFE
- beq _08047498
- b _0804734C
-_08047498:
- mov r2, r8
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- adds r1, r7, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 22
- ands r0, r1
- cmp r0, 0
- beq _08047488
-_080474B2:
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7
- adds r0, 0x20
- ldrb r4, [r0]
- cmp r4, 0x19
- bne _08047508
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- mov r2, r9
- ldrh r1, [r2]
- bl move_weather_interaction
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08047508
- movs r0, 0x3
- ands r6, r0
- cmp r6, 0x1
- beq _08047508
- ldr r2, =gBattleMoves
- mov r0, r9
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08047508
- ldr r0, =gLastUsedAbility
- strb r4, [r0]
- ldr r1, =gBattleCommunication
- movs r0, 0x3
- strb r0, [r1, 0x6]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x19
- bl RecordAbilityBattle
-_08047508:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end b_wonderguard_and_levitate
-
- thumb_func_start b_attack_effectivity_adapt
-b_attack_effectivity_adapt: @ 804752C
- push {r4-r7,lr}
- adds r6, r2, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r7, =gBattleMoveDamage
- ldr r0, [r7]
- muls r0, r4
- movs r1, 0xA
- bl __divsi3
- str r0, [r7]
- cmp r0, 0
- bne _08047552
- cmp r4, 0
- beq _08047552
- movs r0, 0x1
- str r0, [r7]
-_08047552:
- cmp r4, 0x5
- beq _0804757A
- cmp r4, 0x5
- bgt _08047564
- cmp r4, 0
- beq _0804756A
- b _080475DE
- .pool
-_08047564:
- cmp r4, 0x14
- beq _080475AC
- b _080475DE
-_0804756A:
- ldrb r0, [r6]
- movs r1, 0x8
- orrs r0, r1
- movs r1, 0xFB
- ands r0, r1
- movs r1, 0xFD
- ands r0, r1
- b _080475DC
-_0804757A:
- ldr r0, =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080475DE
- ldrb r1, [r6]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _080475DE
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080475A8
- movs r0, 0xFD
- ands r0, r1
- b _080475DC
- .pool
-_080475A8:
- movs r0, 0x4
- b _080475DA
-_080475AC:
- ldr r0, =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080475DE
- ldrb r1, [r6]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _080475DE
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080475D8
- movs r0, 0xFB
- ands r0, r1
- b _080475DC
- .pool
-_080475D8:
- movs r0, 0x2
-_080475DA:
- orrs r0, r1
-_080475DC:
- strb r0, [r6]
-_080475DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end b_attack_effectivity_adapt
-
- thumb_func_start TypeCalc
-TypeCalc: @ 80475E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- movs r0, 0
- mov r8, r0
- mov r0, sp
- mov r1, r8
- strb r1, [r0]
- mov r2, r10
- cmp r2, 0xA5
- bne _08047616
- movs r0, 0
- b _0804779E
-_08047616:
- ldr r1, =gBattleMoves
- mov r3, r10
- lsls r2, r3, 1
- adds r0, r2, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- str r0, [sp, 0x8]
- ldr r1, =gBattleMons
- movs r0, 0x58
- ldr r3, [sp, 0x4]
- muls r0, r3
- adds r3, r0, r1
- adds r0, r3, 0
- adds r0, 0x21
- ldrb r0, [r0]
- str r2, [sp, 0xC]
- adds r5, r1, 0
- ldr r1, [sp, 0x8]
- cmp r0, r1
- beq _0804764A
- adds r0, r3, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, r1
- bne _0804765C
-_0804764A:
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- lsls r0, r1, 4
- subs r0, r1
- str r0, [r4]
- movs r1, 0xA
- bl __divsi3
- str r0, [r4]
-_0804765C:
- movs r0, 0x58
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- adds r0, r5
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1A
- bne _08047690
- ldr r3, [sp, 0x8]
- cmp r3, 0x4
- bne _08047690
- movs r1, 0x9
- mov r0, sp
- ldrb r0, [r0]
- orrs r0, r1
- mov r1, sp
- strb r0, [r1]
- b _08047740
- .pool
-_08047690:
- ldr r1, =gUnknown_0831ACE8
- mov r2, r8
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xFF
- beq _08047740
- cmp r0, 0xFE
- bne _080476B6
- movs r0, 0x58
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- b _0804772E
- .pool
-_080476B0:
- movs r0, 0x3
- add r8, r0
- b _08047718
-_080476B6:
- ldr r7, =gUnknown_0831ACE8
- mov r1, r8
- adds r0, r1, r7
- ldrb r0, [r0]
- ldr r2, [sp, 0x8]
- cmp r0, r2
- bne _08047710
- adds r1, 0x1
- adds r1, r7
- ldr r2, =gBattleMons
- movs r0, 0x58
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- adds r5, r0, r2
- adds r6, r5, 0
- adds r6, 0x21
- ldrb r4, [r1]
- ldrb r0, [r6]
- cmp r4, r0
- bne _080476F0
- mov r0, r8
- adds r0, 0x2
- adds r0, r7
- ldrb r0, [r0]
- mov r1, r10
- mov r2, sp
- bl b_attack_effectivity_adapt
-_080476F0:
- adds r0, r5, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r4, r0
- bne _08047710
- ldrb r0, [r6]
- cmp r0, r4
- beq _08047710
- mov r0, r8
- adds r0, 0x2
- adds r0, r7
- ldrb r0, [r0]
- mov r1, r10
- mov r2, sp
- bl b_attack_effectivity_adapt
-_08047710:
- movs r1, 0x3
- add r8, r1
- ldr r5, =gBattleMons
- ldr r2, =gUnknown_0831ACE8
-_08047718:
- mov r3, r8
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08047740
- cmp r0, 0xFE
- bne _080476B6
- movs r0, 0x58
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
-_0804772E:
- adds r1, r5, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 22
- ands r0, r1
- cmp r0, 0
- beq _080476B0
-_08047740:
- movs r0, 0x58
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- adds r0, r5
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x19
- bne _0804779A
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0804779A
- ldr r0, [sp, 0x4]
- mov r1, r10
- bl move_weather_interaction
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bne _0804779A
- mov r0, sp
- ldrb r3, [r0]
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _08047782
- movs r0, 0x6
- ands r0, r3
- cmp r0, 0x6
- bne _0804779A
-_08047782:
- ldr r0, =gBattleMoves
- ldr r1, [sp, 0xC]
- add r1, r10
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _0804779A
- mov r0, sp
- movs r1, 0x1
- orrs r1, r3
- strb r1, [r0]
-_0804779A:
- mov r0, sp
- ldrb r0, [r0]
-_0804779E:
- 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 TypeCalc
-
- thumb_func_start ai_rate_move
-ai_rate_move: @ 80477BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4]
- movs r7, 0
- mov r0, sp
- strb r7, [r0]
- ldr r2, =gBaseStats
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x6]
- mov r9, r1
- ldrb r0, [r0, 0x7]
- mov r8, r0
- cmp r6, 0xA5
- bne _080477FC
- movs r0, 0
- b _080478A0
- .pool
-_080477FC:
- ldr r2, =gBattleMoves
- lsls r1, r6, 1
- adds r0, r1, r6
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- mov r10, r0
- str r1, [sp, 0x8]
- ldr r3, [sp, 0x4]
- cmp r3, 0x1A
- bne _08047824
- cmp r0, 0x4
- bne _08047824
- movs r1, 0x9
- mov r0, sp
- strb r1, [r0]
- b _0804786A
- .pool
-_08047824:
- ldr r0, =gUnknown_0831ACE8
- adds r1, r7, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0804786A
- adds r4, r1, 0
-_08047830:
- ldrb r0, [r4]
- cmp r0, 0xFE
- beq _0804785C
- cmp r0, r10
- bne _0804785C
- ldrb r5, [r4, 0x1]
- cmp r5, r9
- bne _0804784A
- ldrb r0, [r4, 0x2]
- adds r1, r6, 0
- mov r2, sp
- bl b_attack_effectivity_adapt
-_0804784A:
- cmp r5, r8
- bne _0804785C
- cmp r9, r8
- beq _0804785C
- ldrb r0, [r4, 0x2]
- adds r1, r6, 0
- mov r2, sp
- bl b_attack_effectivity_adapt
-_0804785C:
- adds r4, 0x3
- adds r7, 0x3
- ldr r1, =gUnknown_0831ACE8
- adds r0, r7, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08047830
-_0804786A:
- ldr r3, [sp, 0x4]
- cmp r3, 0x19
- bne _0804789C
- mov r0, sp
- ldrb r2, [r0]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _08047884
- movs r0, 0x6
- ands r0, r2
- cmp r0, 0x6
- bne _0804789C
-_08047884:
- ldr r0, =gBattleMoves
- ldr r3, [sp, 0x8]
- adds r1, r3, r6
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _0804789C
- mov r0, sp
- movs r1, 0x8
- orrs r1, r2
- strb r1, [r0]
-_0804789C:
- mov r0, sp
- ldrb r0, [r0]
-_080478A0:
- 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 ai_rate_move
-
- thumb_func_start sub_80478B8
-sub_80478B8: @ 80478B8
- push {r4,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x64
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gBattleMoveDamage
- ldr r0, [r4]
- cmp r0, 0
- beq _080478EA
- muls r0, r1
- str r0, [r4]
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _080478EA
- movs r0, 0x1
- str r0, [r4]
-_080478EA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80478B8
-
- thumb_func_start atk07_dmg_adjustment
-atk07_dmg_adjustment: @ 80478F4
- push {r4-r7,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x64
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gBattleMoveDamage
- ldr r0, [r4]
- cmp r0, 0
- beq _08047926
- muls r0, r1
- str r0, [r4]
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08047926
- movs r0, 0x1
- str r0, [r4]
-_08047926:
- ldr r7, =gBattleMons
- ldr r6, =gBankTarget
- ldrb r2, [r6]
- movs r5, 0x58
- adds r0, r2, 0
- muls r0, r5
- adds r1, r0, r7
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _0804795C
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x7]
- ldrb r6, [r0, 0x1A]
- b _08047976
- .pool
-_0804795C:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r7
- ldrh r0, [r0, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r6, r0, 24
-_08047976:
- ldr r1, =gStringBank
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- strb r0, [r1]
- cmp r4, 0x27
- bne _080479B4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bcs _080479B4
- ldrb r0, [r5]
- movs r1, 0x27
- bl RecordItemEffectBattle
- ldr r2, =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
-_080479B4:
- ldr r2, =gBattleMons
- ldr r3, =gBankTarget
- ldrb r4, [r3]
- movs r0, 0x58
- muls r0, r4
- adds r1, r2, 0
- adds r1, 0x50
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 17
- ands r1, r0
- adds r5, r2, 0
- cmp r1, 0
- bne _08047A84
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x65
- beq _08047A06
- ldr r0, =gProtectStructs
- lsls r1, r4, 4
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _08047A06
- ldr r0, =gSpecialStatuses
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _08047A84
-_08047A06:
- ldrb r0, [r3]
- movs r4, 0x58
- muls r0, r4
- adds r0, r5
- ldrh r1, [r0, 0x28]
- ldr r2, =gBattleMoveDamage
- ldr r0, [r2]
- cmp r1, r0
- bgt _08047A84
- subs r0, r1, 0x1
- str r0, [r2]
- ldr r1, =gProtectStructs
- ldrb r3, [r3]
- lsls r0, r3, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bge _08047A5C
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _08047A84
- .pool
-_08047A5C:
- ldr r0, =gSpecialStatuses
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _08047A84
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gLastUsedItem
- adds r0, r3, 0
- muls r0, r4
- adds r0, r5
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
-_08047A84:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk07_dmg_adjustment
-
- thumb_func_start atk08_dmg_adjustment2
-atk08_dmg_adjustment2: @ 8047AA4
- push {r4-r7,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x64
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gBattleMoveDamage
- ldr r0, [r4]
- cmp r0, 0
- beq _08047AD6
- muls r0, r1
- str r0, [r4]
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08047AD6
- movs r0, 0x1
- str r0, [r4]
-_08047AD6:
- ldr r7, =gBattleMons
- ldr r6, =gBankTarget
- ldrb r2, [r6]
- movs r5, 0x58
- adds r0, r2, 0
- muls r0, r5
- adds r1, r0, r7
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _08047B0C
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x7]
- ldrb r6, [r0, 0x1A]
- b _08047B26
- .pool
-_08047B0C:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r7
- ldrh r0, [r0, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r6, r0, 24
-_08047B26:
- ldr r1, =gStringBank
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- strb r0, [r1]
- cmp r4, 0x27
- bne _08047B64
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bcs _08047B64
- ldrb r0, [r5]
- movs r1, 0x27
- bl RecordItemEffectBattle
- ldr r2, =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
-_08047B64:
- ldr r4, =gBattleMons
- ldr r6, =gBankTarget
- ldrb r2, [r6]
- movs r7, 0x58
- adds r3, r2, 0
- muls r3, r7
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- bne _08047C10
- ldr r5, =gProtectStructs
- lsls r0, r2, 4
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- blt _08047BA2
- ldr r0, =gSpecialStatuses
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _08047C10
-_08047BA2:
- adds r0, r3, r4
- ldrh r1, [r0, 0x28]
- ldr r2, =gBattleMoveDamage
- ldr r0, [r2]
- cmp r1, r0
- bgt _08047C10
- subs r0, r1, 0x1
- str r0, [r2]
- ldrb r3, [r6]
- lsls r0, r3, 4
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bge _08047BE8
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _08047C10
- .pool
-_08047BE8:
- ldr r0, =gSpecialStatuses
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _08047C10
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gLastUsedItem
- adds r0, r3, 0
- muls r0, r7
- adds r0, r4
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
-_08047C10:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk08_dmg_adjustment2
-
- thumb_func_start atk09_attackanimation
-atk09_attackanimation: @ 8047C30
- push {r4-r7,lr}
- sub sp, 0x10
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _08047C3E
- b _08047DB6
-_08047C3E:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- ldr r5, =gCurrentMove
- cmp r0, 0
- beq _08047C8C
- ldrh r0, [r5]
- cmp r0, 0x90
- beq _08047C8C
- cmp r0, 0xA4
- beq _08047C8C
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DABB9
- str r0, [r4]
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x18]
- adds r0, 0x1
- strb r0, [r1, 0x18]
- ldrb r0, [r1, 0x19]
- adds r0, 0x1
- strb r0, [r1, 0x19]
- b _08047DB6
- .pool
-_08047C8C:
- ldr r2, =gBattleMoves
- ldrh r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x6]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08047CB2
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08047CB2
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08047CBA
-_08047CB2:
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x19]
- cmp r0, 0
- bne _08047D88
-_08047CBA:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08047DA8
- ldr r1, =gActiveBank
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- strb r0, [r1]
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- adds r4, r1, 0
- muls r4, r0
- adds r0, r2, 0
- adds r0, 0x50
- adds r0, r4, r0
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 17
- ands r1, r0
- adds r7, r3, 0
- mov r12, r2
- cmp r1, 0
- beq _08047D18
- ldr r0, =gUnknown_02024212
- ldrb r6, [r0]
- b _08047D42
- .pool
-_08047D18:
- ldr r3, =gUnknown_02024212
- ldrb r0, [r3]
- cmp r0, 0x1
- bls _08047D40
- mov r1, r12
- adds r0, r4, r1
- ldrh r2, [r0, 0x28]
- ldr r0, =gBattleMoveDamage
- ldr r1, [r0]
- movs r6, 0x1
- adds r4, r0, 0
- cmp r2, r1
- ble _08047D44
- ldrb r6, [r3]
- b _08047D44
- .pool
-_08047D40:
- ldrb r6, [r3]
-_08047D42:
- ldr r4, =gBattleMoveDamage
-_08047D44:
- ldrh r1, [r5]
- ldr r5, =gBattleScripting
- ldrb r2, [r5, 0x18]
- ldr r0, =gBattleMovePower
- ldrh r3, [r0]
- ldr r0, [r4]
- str r0, [sp]
- ldrb r4, [r7]
- movs r0, 0x58
- muls r0, r4
- add r0, r12
- adds r0, 0x2B
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- ldrb r4, [r7]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r4, =gDisableStructs
- adds r0, r4
- str r0, [sp, 0x8]
- str r6, [sp, 0xC]
- movs r0, 0
- bl dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes
- ldrb r0, [r5, 0x18]
- adds r0, 0x1
- strb r0, [r5, 0x18]
- ldrb r0, [r5, 0x19]
- adds r0, 0x1
- strb r0, [r5, 0x19]
- ldrb r0, [r7]
- bl dp01_battle_side_mark_buffer_for_execution
-_08047D88:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- b _08047DB6
- .pool
-_08047DA8:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DABB9
- str r0, [r4]
-_08047DB6:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk09_attackanimation
-
- thumb_func_start atk0A_waitanimation
-atk0A_waitanimation: @ 8047DC8
- push {lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _08047DDA
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08047DDA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk0A_waitanimation
-
- thumb_func_start atk0B_healthbarupdate
-atk0B_healthbarupdate: @ 8047DE8
- push {r4,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _08047EAA
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08047EA2
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r2, =gActiveBank
- strb r0, [r2]
- ldr r1, =gBattleMons
- ldrb r2, [r2]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08047E68
- ldr r0, =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- beq _08047E68
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- cmp r0, 0
- bne _08047E68
- movs r0, 0x80
- adds r1, r2, 0
- bl b_std_message
- b _08047EA2
- .pool
-_08047E68:
- ldr r0, =gBattleMoveDamage
- ldr r0, [r0]
- ldr r1, =0x00002710
- cmp r0, r1
- bgt _08047E76
- lsls r0, 16
- lsrs r1, r0, 16
-_08047E76:
- movs r0, 0
- bl dp01_build_cmdbuf_x18_0_aa_health_bar_update
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08047EA2
- ldr r0, =gBattleMoveDamage
- ldr r0, [r0]
- cmp r0, 0
- ble _08047EA2
- ldr r0, =gBattleResults
- ldrb r1, [r0, 0x5]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x5]
-_08047EA2:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_08047EAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk0B_healthbarupdate
-
- thumb_func_start atk0C_datahpupdate
-atk0C_datahpupdate: @ 8047EC4
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _08047ED2
- b _080482A2
-_08047ED2:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x13]
- cmp r1, 0
- beq _08047EF4
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08047EF4
- movs r6, 0x3F
- ands r6, r1
- b _08047F04
- .pool
-_08047EF4:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r6, [r0, 0x2]
-_08047F04:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08047F12
- b _08048274
-_08047F12:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r7, =gActiveBank
- strb r0, [r7]
- ldr r1, =gBattleMons
- ldrb r2, [r7]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08048028
- ldr r0, =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r4, r1, r0
- ldrb r1, [r4, 0xA]
- mov r12, r0
- cmp r1, 0
- beq _08048028
- ldr r0, =gHitMarker
- ldr r3, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r3, r0
- cmp r3, 0
- bne _08048028
- adds r5, r1, 0
- ldr r6, =gBattleMoveDamage
- ldr r4, [r6]
- cmp r5, r4
- blt _08047FBC
- ldr r0, =gSpecialStatuses
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0
- bne _08047F76
- str r4, [r1]
-_08047F76:
- ldrb r0, [r7]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- add r1, r12
- ldr r2, [r6]
- ldrb r0, [r1, 0xA]
- subs r0, r2
- strb r0, [r1, 0xA]
- ldr r1, =gUnknown_020241F4
- ldr r0, [r6]
- str r0, [r1]
- b _08047FEC
- .pool
-_08047FBC:
- ldr r0, =gSpecialStatuses
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0
- bne _08047FD0
- str r5, [r1]
-_08047FD0:
- ldr r2, =gUnknown_020241F4
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r0, [r0, 0xA]
- str r0, [r2]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r12
- strb r3, [r0, 0xA]
-_08047FEC:
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _08048000
- b _0804829A
-_08048000:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- bl b_movescr_stack_push_cursor
- ldr r0, =gUnknown_082DB6FB
- str r0, [r4]
- b _080482A2
- .pool
-_08048028:
- ldr r0, =gHitMarker
- ldr r2, [r0]
- ldr r1, =0xfffffeff
- ands r2, r1
- str r2, [r0]
- ldr r1, =gBattleMoveDamage
- ldr r5, [r1]
- mov r12, r0
- adds r7, r1, 0
- cmp r5, 0
- bge _0804807C
- ldr r4, =gBattleMons
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- movs r3, 0x58
- adds r1, r0, 0
- muls r1, r3
- adds r1, r4
- ldrh r0, [r1, 0x28]
- subs r0, r5
- strh r0, [r1, 0x28]
- ldrb r0, [r2]
- muls r0, r3
- adds r1, r0, r4
- ldrh r3, [r1, 0x2C]
- ldrh r0, [r1, 0x28]
- adds r5, r2, 0
- cmp r0, r3
- bhi _08048064
- b _0804823A
-_08048064:
- strh r3, [r1, 0x28]
- b _0804823A
- .pool
-_0804807C:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08048098
- movs r0, 0x21
- negs r0, r0
- ands r2, r0
- mov r0, r12
- str r2, [r0]
- ldr r5, =gActiveBank
- b _080480E0
- .pool
-_08048098:
- ldr r0, =gUnknown_020241F8
- ldr r2, =gActiveBank
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- adds r0, r5
- str r0, [r1]
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- adds r5, r2, 0
- cmp r0, 0
- bne _080480D4
- ldr r1, =gUnknown_02024288
- ldrb r0, [r5]
- adds r0, r1
- ldr r1, =gBankAttacker
- b _080480DC
- .pool
-_080480D4:
- ldr r1, =gUnknown_02024288
- ldrb r0, [r5]
- adds r0, r1
- ldr r1, =gBankTarget
-_080480DC:
- ldrb r1, [r1]
- strb r1, [r0]
-_080480E0:
- ldr r4, =gBattleMons
- ldrb r0, [r5]
- movs r3, 0x58
- muls r0, r3
- adds r2, r0, r4
- ldrh r0, [r2, 0x28]
- ldr r1, [r7]
- cmp r0, r1
- ble _08048110
- subs r0, r1
- strh r0, [r2, 0x28]
- ldr r0, =gUnknown_020241F4
- str r1, [r0]
- adds r7, r0, 0
- b _08048120
- .pool
-_08048110:
- ldr r2, =gUnknown_020241F4
- str r0, [r2]
- ldrb r0, [r5]
- muls r0, r3
- adds r0, r4
- movs r1, 0
- strh r1, [r0, 0x28]
- adds r7, r2, 0
-_08048120:
- ldr r2, =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0x4
- adds r3, r0, r1
- ldr r0, [r3]
- adds r4, r2, 0
- cmp r0, 0
- bne _08048148
- mov r1, r12
- ldr r0, [r1]
- movs r1, 0x80
- lsls r1, 13
- ands r0, r1
- cmp r0, 0
- bne _08048148
- ldr r0, [r7]
- str r0, [r3]
-_08048148:
- cmp r6, 0x8
- bhi _080481D0
- mov r1, r12
- ldr r0, [r1]
- movs r1, 0x80
- lsls r1, 13
- ands r0, r1
- cmp r0, 0
- bne _080481CC
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xDC
- beq _080481CC
- ldr r3, =gProtectStructs
- ldrb r0, [r5]
- lsls r0, 4
- adds r1, r3, 0x4
- adds r0, r1
- ldr r2, [r7]
- str r2, [r0]
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r1
- str r2, [r0]
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _080481AC
- ldrb r0, [r5]
- lsls r0, 4
- adds r0, r3
- ldr r2, =gBankAttacker
- b _080481B4
- .pool
-_080481AC:
- ldrb r0, [r5]
- lsls r0, 4
- adds r0, r3
- ldr r2, =gBankTarget
-_080481B4:
- ldrb r1, [r2]
- strb r1, [r0, 0xC]
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r2]
- strb r1, [r0, 0x10]
- b _0804823A
- .pool
-_080481CC:
- cmp r6, 0x8
- bls _0804823A
-_080481D0:
- mov r1, r12
- ldr r0, [r1]
- movs r1, 0x80
- lsls r1, 13
- ands r0, r1
- cmp r0, 0
- bne _0804823A
- ldr r3, =gProtectStructs
- ldrb r0, [r5]
- lsls r0, 4
- adds r1, r3, 0
- adds r1, 0x8
- adds r0, r1
- ldr r2, [r7]
- str r2, [r0]
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0xC
- adds r0, r1
- str r2, [r0]
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _08048220
- ldrb r0, [r5]
- lsls r0, 4
- adds r0, r3
- ldr r2, =gBankAttacker
- b _08048228
- .pool
-_08048220:
- ldrb r0, [r5]
- lsls r0, 4
- adds r0, r3
- ldr r2, =gBankTarget
-_08048228:
- ldrb r1, [r2]
- strb r1, [r0, 0xD]
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r2]
- strb r1, [r0, 0x11]
-_0804823A:
- mov r1, r12
- ldr r0, [r1]
- ldr r1, =0xffefffff
- ands r0, r1
- mov r1, r12
- str r0, [r1]
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- ldr r1, =gBattleMons + 0x28
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2A
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804829A
- .pool
-_08048274:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r1, =gActiveBank
- strb r0, [r1]
- ldr r2, =gSpecialStatuses
- ldrb r1, [r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r1, r0, r2
- ldr r0, [r1]
- cmp r0, 0
- bne _0804829A
- ldr r0, =0x0000ffff
- str r0, [r1]
-_0804829A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_080482A2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk0C_datahpupdate
-
- thumb_func_start atk0D_critmessage
-atk0D_critmessage: @ 80482BC
- push {lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _080482F2
- ldr r0, =gCritMultiplier
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080482EA
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _080482EA
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0xD9
- bl b_std_message
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x7]
-_080482EA:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_080482F2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk0D_critmessage
-
- thumb_func_start atk0E_effectiveness_sound
-atk0E_effectiveness_sound: @ 8048310
- push {r4,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _080483D0
- ldr r4, =gActiveBank
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- strb r0, [r4]
- ldr r1, =gBattleMoveFlags
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _080483C8
- movs r0, 0xFE
- ands r0, r2
- cmp r0, 0x10
- beq _08048382
- cmp r0, 0x10
- bgt _0804835E
- cmp r0, 0x4
- beq _08048372
- cmp r0, 0x4
- bgt _08048358
- cmp r0, 0x2
- beq _0804836C
- b _08048382
- .pool
-_08048358:
- cmp r0, 0x8
- beq _080483C8
- b _08048382
-_0804835E:
- cmp r0, 0x40
- beq _08048382
- cmp r0, 0x40
- bgt _08048382
- cmp r0, 0x20
- beq _080483C8
- b _08048382
-_0804836C:
- movs r0, 0
- movs r1, 0xE
- b _08048376
-_08048372:
- movs r0, 0
- movs r1, 0xC
-_08048376:
- bl dp01_build_cmdbuf_x2B_aa_0
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _080483C8
-_08048382:
- ldrb r1, [r1]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08048392
- movs r0, 0
- movs r1, 0xE
- b _0804839E
-_08048392:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080483B0
- movs r0, 0
- movs r1, 0xC
-_0804839E:
- bl dp01_build_cmdbuf_x2B_aa_0
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- b _080483C8
- .pool
-_080483B0:
- movs r0, 0x28
- ands r0, r1
- cmp r0, 0
- bne _080483C8
- movs r0, 0
- movs r1, 0xD
- bl dp01_build_cmdbuf_x2B_aa_0
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
-_080483C8:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_080483D0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk0E_effectiveness_sound
-
- thumb_func_start atk0F_resultmessage
-atk0F_resultmessage: @ 80483E0
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _080483EE
- b _08048580
-_080483EE:
- ldr r1, =gBattleMoveFlags
- ldrb r2, [r1]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- adds r6, r1, 0
- ldr r7, =gBattleCommunication
- cmp r0, 0
- beq _0804842C
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0804840E
- ldrb r0, [r7, 0x6]
- cmp r0, 0x2
- bls _0804842C
-_0804840E:
- ldr r1, =gUnknown_085CC834
- ldrb r0, [r7, 0x6]
- lsls r0, 1
- adds r0, r1
- ldrh r3, [r0]
- strb r4, [r7, 0x7]
- b _0804856A
- .pool
-_0804842C:
- movs r0, 0x1
- strb r0, [r7, 0x7]
- ldrb r5, [r6]
- movs r0, 0xFE
- ands r0, r5
- cmp r0, 0x10
- beq _08048470
- cmp r0, 0x10
- bgt _08048452
- cmp r0, 0x4
- beq _0804846C
- cmp r0, 0x4
- bgt _0804844C
- cmp r0, 0x2
- beq _08048468
- b _080484B8
-_0804844C:
- cmp r0, 0x8
- beq _080484C4
- b _080484B8
-_08048452:
- cmp r0, 0x40
- beq _08048474
- cmp r0, 0x40
- bgt _08048462
- cmp r0, 0x20
- bne _08048460
- b _08048564
-_08048460:
- b _080484B8
-_08048462:
- cmp r0, 0x80
- beq _08048478
- b _080484B8
-_08048468:
- movs r3, 0xDE
- b _0804856E
-_0804846C:
- movs r3, 0xDD
- b _0804856E
-_08048470:
- movs r3, 0xDA
- b _0804856E
-_08048474:
- movs r3, 0x99
- b _0804856E
-_08048478:
- ldr r4, =gLastUsedItem
- ldr r2, =gBattleMons
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strh r0, [r4]
- ldr r1, =gStringBank
- ldrb r0, [r3]
- strb r0, [r1]
- movs r0, 0x3F
- ands r0, r5
- strb r0, [r6]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB816
- b _0804857E
- .pool
-_080484B8:
- adds r2, r6, 0
- ldrb r5, [r2]
- movs r0, 0x8
- ands r0, r5
- cmp r0, 0
- beq _080484C8
-_080484C4:
- movs r3, 0x1B
- b _0804856E
-_080484C8:
- movs r0, 0x10
- ands r0, r5
- cmp r0, 0
- beq _080484F0
- movs r0, 0xEF
- ands r0, r5
- movs r1, 0xFD
- ands r0, r1
- movs r1, 0xFB
- ands r0, r1
- strb r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB1CE
- b _0804857E
- .pool
-_080484F0:
- movs r0, 0x40
- ands r0, r5
- cmp r0, 0
- beq _08048510
- movs r0, 0x3F
- ands r0, r5
- strb r0, [r2]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB1C7
- b _0804857E
- .pool
-_08048510:
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- beq _08048558
- ldr r4, =gLastUsedItem
- ldr r2, =gBattleMons
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strh r0, [r4]
- ldr r1, =gStringBank
- ldrb r0, [r3]
- strb r0, [r1]
- movs r0, 0x3F
- ands r0, r5
- strb r0, [r6]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB816
- b _0804857E
- .pool
-_08048558:
- movs r0, 0x20
- ands r0, r5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08048568
-_08048564:
- movs r3, 0xE5
- b _0804856E
-_08048568:
- strb r0, [r7, 0x7]
-_0804856A:
- cmp r3, 0
- beq _08048578
-_0804856E:
- adds r0, r3, 0
- ldr r1, =gBankAttacker
- ldrb r1, [r1]
- bl b_std_message
-_08048578:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
-_0804857E:
- str r0, [r1]
-_08048580:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk0F_resultmessage
-
- thumb_func_start atk10_printstring
-atk10_printstring: @ 8048590
- push {r4,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _080485BA
- ldr r4, =gBattlescriptCurrInstr
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- ldrb r1, [r1, 0x2]
- lsls r1, 8
- orrs r0, r1
- ldr r1, =gBankAttacker
- ldrb r1, [r1]
- bl b_std_message
- ldr r0, [r4]
- adds r0, 0x3
- str r0, [r4]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x7]
-_080485BA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk10_printstring
-
- thumb_func_start atk11_printstring_playeronly
-atk11_printstring_playeronly: @ 80485D0
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0
- bl dp01_build_cmdbuf_x11_TODO
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r4]
- adds r0, 0x3
- str r0, [r4]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x7]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk11_printstring_playeronly
-
- thumb_func_start atk12_waitmessage
-atk12_waitmessage: @ 8048614
- push {r4-r6,lr}
- ldr r0, =gBattleExecBuffer
- ldr r4, [r0]
- cmp r4, 0
- bne _08048662
- ldr r6, =gBattleCommunication
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _0804863C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x3
- str r0, [r1]
- b _08048662
- .pool
-_0804863C:
- ldr r5, =gBattlescriptCurrInstr
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r3, =gUnknown_0202432C
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bcc _08048662
- movs r1, 0
- strh r4, [r3]
- adds r0, r2, 0x3
- str r0, [r5]
- strb r1, [r6, 0x7]
-_08048662:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk12_waitmessage
-
- thumb_func_start atk13_printfromtable
-atk13_printfromtable: @ 8048670
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _080486AE
- ldr r4, =gBattlescriptCurrInstr
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r5, =gBattleCommunication
- ldrb r0, [r5, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gBankAttacker
- ldrb r1, [r1]
- bl b_std_message
- ldr r0, [r4]
- adds r0, 0x5
- str r0, [r4]
- movs r0, 0x1
- strb r0, [r5, 0x7]
-_080486AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk13_printfromtable
-
- thumb_func_start atk14_printfromtable_playeronly
-atk14_printfromtable_playeronly: @ 80486C4
- push {r4-r6,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804870E
- ldr r5, =gBattlescriptCurrInstr
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r6, =gBattleCommunication
- ldrb r0, [r6, 0x5]
- lsls r0, 1
- adds r1, r0
- ldr r4, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r4]
- ldrh r1, [r1]
- movs r0, 0
- bl dp01_build_cmdbuf_x11_TODO
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x5
- str r0, [r5]
- movs r0, 0x1
- strb r0, [r6, 0x7]
-_0804870E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk14_printfromtable_playeronly
-
- thumb_func_start sub_8048728
-sub_8048728: @ 8048728
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r0, =gNoOfAllBanks
- ldrb r3, [r0]
- cmp r1, r3
- bge _0804874E
- ldr r4, =gTurnOrder
- ldrb r0, [r4]
- cmp r0, r2
- beq _0804874E
-_08048740:
- adds r1, 0x1
- cmp r1, r3
- bge _0804874E
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r2
- bne _08048740
-_0804874E:
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8048728
-
- thumb_func_start sub_8048760
-sub_8048760: @ 8048760
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r0, 0
- mov r10, r0
- movs r7, 0
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r1, =gBattleCommunication
- ldrb r3, [r1, 0x3]
- movs r0, 0x40
- ands r0, r3
- cmp r0, 0
- beq _080487B8
- ldr r2, =gUnknown_0202420E
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0xBF
- ands r0, r3
- adds r3, r1, 0
- strb r0, [r3, 0x3]
- movs r7, 0x40
- ldr r1, =gBattleScripting
- ldr r0, =gBankTarget
- b _080487C4
- .pool
-_080487B8:
- ldr r2, =gUnknown_0202420E
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, =gBattleScripting
- ldr r0, =gBankAttacker
-_080487C4:
- ldrb r0, [r0]
- strb r0, [r1, 0x17]
- mov r9, r2
- ldr r2, =gBattleMons
- mov r4, r9
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x13
- bne _08048828
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- bne _08048828
- cmp r5, 0
- bne _08048828
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x3]
- cmp r0, 0x9
- bhi _08048828
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r2, =gBattleCommunication
- strb r5, [r2, 0x3]
- bl _080499B8
- .pool
-_08048828:
- mov r3, r9
- ldrb r0, [r3]
- bl GetBankIdentity
- ldr r2, =gSideAffecting
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08048880
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- bne _08048880
- cmp r5, 0
- bne _08048880
- ldr r0, =gBattleCommunication
- ldrb r1, [r0, 0x3]
- cmp r1, 0x7
- bhi _08048880
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r4, =gBattleCommunication
- strb r5, [r4, 0x3]
- bl _080499B8
- .pool
-_08048880:
- ldr r3, =gBattleMons
- ldr r2, =gUnknown_0202420E
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- adds r0, r3
- ldrh r4, [r0, 0x28]
- mov r9, r2
- mov r8, r3
- cmp r4, 0
- bne _080488C4
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x3]
- cmp r0, 0xB
- beq _080488C4
- cmp r0, 0x1F
- beq _080488C4
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r2, =gBattleCommunication
- strb r4, [r2, 0x3]
- bl _080499B8
- .pool
-_080488C4:
- mov r3, r9
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- mov r1, r8
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _080488FC
- cmp r7, 0x40
- beq _080488FC
- ldr r0, =gBattlescriptCurrInstr
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- movs r0, 0
- ldr r4, =gBattleCommunication
- strb r0, [r4, 0x3]
- bl _080499B8
- .pool
-_080488FC:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x3]
- cmp r0, 0x6
- bls _08048906
- b _08048F40
-_08048906:
- ldr r1, =gStatusFlagsForMoveEffects
- ldr r2, =gBattleCommunication
- ldrb r0, [r2, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x10
- bne _08048918
- b _08048AFC
-_08048918:
- cmp r0, 0x10
- bhi _08048930
- cmp r0, 0x7
- beq _0804894A
- cmp r0, 0x8
- beq _08048A00
- b _08048DF4
- .pool
-_08048930:
- cmp r0, 0x40
- bne _08048936
- b _08048C84
-_08048936:
- cmp r0, 0x40
- bhi _08048942
- cmp r0, 0x20
- bne _08048940
- b _08048BEA
-_08048940:
- b _08048DF4
-_08048942:
- cmp r0, 0x80
- bne _08048948
- b _08048D02
-_08048948:
- b _08048DF4
-_0804894A:
- mov r3, r9
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x2B
- beq _080489AC
- ldr r0, =gActiveBank
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gNoOfAllBanks
- ldrb r3, [r1]
- adds r7, r0, 0
- mov r12, r1
- cmp r3, 0
- beq _080489B8
- mov r4, r8
- ldr r0, [r4, 0x50]
- movs r1, 0x70
- ands r0, r1
- cmp r0, 0
- bne _080489B8
- adds r1, r7, 0
- mov r6, r8
- adds r6, 0x50
- movs r5, 0x58
- movs r4, 0x70
-_08048984:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r3
- bcs _080489B8
- ldrb r0, [r7]
- muls r0, r5
- adds r0, r6
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08048984
- b _080489B8
- .pool
-_080489AC:
- ldr r0, =gActiveBank
- ldr r2, =gNoOfAllBanks
- ldrb r1, [r2]
- strb r1, [r0]
- adds r7, r0, 0
- mov r12, r2
-_080489B8:
- mov r0, r9
- ldrb r2, [r0]
- movs r0, 0x58
- adds r1, r2, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080489D0
- b _08048DF4
-_080489D0:
- ldrb r0, [r7]
- mov r3, r12
- ldrb r3, [r3]
- cmp r0, r3
- beq _080489DC
- b _08048DF4
-_080489DC:
- mov r4, r8
- adds r0, r1, r4
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x48
- bne _080489EA
- b _08048DF4
-_080489EA:
- cmp r0, 0xF
- bne _080489F0
- b _08048DF4
-_080489F0:
- adds r0, r2, 0
- bl CancelMultiTurnMoves
- b _08048DE4
- .pool
-_08048A00:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x11
- bne _08048A70
- cmp r5, 0x1
- beq _08048A1A
- cmp r6, 0x80
- bne _08048A70
-_08048A1A:
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- mov r3, r9
- ldrb r0, [r3]
- movs r1, 0x11
- bl RecordAbilityBattle
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB5E9
- str r0, [r4]
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- bne _08048A46
- b _08048D20
-_08048A46:
- movs r0, 0x1
- ldr r4, =gBattleCommunication
- strb r0, [r4, 0x5]
-_08048A4C:
- ldr r0, =0xffffdfff
- ands r1, r0
- str r1, [r2]
- bl _080499B2
- .pool
-_08048A70:
- mov r2, r9
- ldrb r0, [r2]
- movs r1, 0x58
- muls r0, r1
- add r0, r8
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- cmp r1, 0x3
- beq _08048A94
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08048A94
- cmp r1, 0x8
- beq _08048A94
- cmp r0, 0x8
- bne _08048AAE
-_08048A94:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _08048AAE
- cmp r5, 0x1
- bne _08048AA8
- b _08048D66
-_08048AA8:
- cmp r6, 0x80
- bne _08048AAE
- b _08048D66
-_08048AAE:
- mov r3, r9
- ldrb r1, [r3]
- movs r0, 0x58
- muls r1, r0
- mov r4, r8
- adds r3, r1, r4
- adds r0, r3, 0
- adds r0, 0x21
- ldrb r4, [r0]
- cmp r4, 0x3
- bne _08048AC6
- b _08048DF4
-_08048AC6:
- adds r0, 0x1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08048AD0
- b _08048DF4
-_08048AD0:
- cmp r4, 0x8
- bne _08048AD6
- b _08048DF4
-_08048AD6:
- cmp r0, 0x8
- bne _08048ADC
- b _08048DF4
-_08048ADC:
- mov r0, r8
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08048AEA
- b _08048DF4
-_08048AEA:
- adds r0, r3, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x11
- bne _08048AF6
- b _08048DF4
-_08048AF6:
- b _08048DE4
- .pool
-_08048AFC:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x29
- bne _08048B54
- cmp r5, 0x1
- beq _08048B16
- cmp r6, 0x80
- bne _08048B54
-_08048B16:
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- mov r3, r9
- ldrb r0, [r3]
- movs r1, 0x29
- bl RecordAbilityBattle
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB5D1
- str r0, [r4]
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08048B42
- b _08048A46
-_08048B42:
- b _08048D20
- .pool
-_08048B54:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- mov r3, r8
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xA
- beq _08048B74
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08048BA4
-_08048B74:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _08048BA4
- cmp r5, 0x1
- beq _08048B8A
- cmp r6, 0x80
- bne _08048BA4
-_08048B8A:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB5D1
- b _08048D72
- .pool
-_08048BA4:
- mov r4, r9
- ldrb r0, [r4]
- movs r1, 0x58
- adds r2, r0, 0
- muls r2, r1
- mov r0, r8
- adds r1, r2, r0
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08048BBE
- b _08048DF4
-_08048BBE:
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08048BCA
- b _08048DF4
-_08048BCA:
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _08048BD6
- b _08048DF4
-_08048BD6:
- mov r0, r8
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08048BE4
- b _08048DF4
-_08048BE4:
- movs r1, 0x1
- mov r10, r1
- b _08048DF4
-_08048BEA:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08048C26
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08048C26
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08048C26
- movs r2, 0
- str r2, [sp, 0x4]
-_08048C26:
- ldr r4, =gBattleMons
- ldr r0, =gUnknown_0202420E
- ldrb r3, [r0]
- movs r0, 0x58
- adds r2, r3, 0
- muls r2, r0
- adds r1, r2, r4
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xF
- bne _08048C40
- b _08048DF4
-_08048C40:
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xF
- bne _08048C4C
- b _08048DF4
-_08048C4C:
- adds r0, r4, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08048C5A
- b _08048DF4
-_08048C5A:
- ldr r4, [sp, 0x4]
- cmp r4, 0
- bne _08048C62
- b _08048DF4
-_08048C62:
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x28
- bne _08048C6E
- b _08048DF4
-_08048C6E:
- adds r0, r3, 0
- bl CancelMultiTurnMoves
- b _08048DE4
- .pool
-_08048C84:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r1, r0
- mov r3, r8
- adds r0, r1, r3
- adds r0, 0x20
- ldrb r2, [r0]
- cmp r2, 0x7
- bne _08048CF4
- cmp r5, 0x1
- beq _08048CA2
- cmp r6, 0x80
- beq _08048CA2
- b _08048DF4
-_08048CA2:
- ldr r0, =gLastUsedAbility
- strb r2, [r0]
- mov r4, r9
- ldrb r0, [r4]
- movs r1, 0x7
- bl RecordAbilityBattle
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB5DD
- str r0, [r4]
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08048CE8
- movs r0, 0x1
- ldr r3, =gBattleCommunication
- strb r0, [r3, 0x5]
- b _08048A4C
- .pool
-_08048CE8:
- ldr r4, =gBattleCommunication
- strb r0, [r4, 0x5]
- bl _080499B2
- .pool
-_08048CF4:
- mov r0, r8
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08048DF4
- b _08048DE4
-_08048D02:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x11
- bne _08048D2C
- cmp r5, 0x1
- bne _08048D1A
- b _08048A1A
-_08048D1A:
- cmp r6, 0x80
- bne _08048D2C
- b _08048A1A
-_08048D20:
- ldr r1, =gBattleCommunication
- strb r0, [r1, 0x5]
- bl _080499B2
- .pool
-_08048D2C:
- mov r2, r9
- ldrb r0, [r2]
- movs r1, 0x58
- muls r0, r1
- add r0, r8
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- cmp r1, 0x3
- beq _08048D50
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08048D50
- cmp r1, 0x8
- beq _08048D50
- cmp r0, 0x8
- bne _08048D94
-_08048D50:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _08048D94
- cmp r5, 0x1
- beq _08048D66
- cmp r6, 0x80
- bne _08048D94
-_08048D66:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB5E9
-_08048D72:
- str r0, [r4]
- ldr r1, =gBattleCommunication
- movs r2, 0
- movs r0, 0x2
- strb r0, [r1, 0x5]
- strb r2, [r1, 0x3]
- bl _080499B8
- .pool
-_08048D94:
- mov r3, r9
- ldrb r0, [r3]
- movs r6, 0x58
- muls r0, r6
- mov r2, r8
- adds r2, 0x4C
- adds r5, r0, r2
- ldr r4, [r5]
- cmp r4, 0
- bne _08048DF4
- mov r3, r8
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r3, [r0]
- cmp r3, 0x3
- beq _08048DEA
- adds r0, 0x1
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08048DEA
- cmp r3, 0x8
- beq _08048DEA
- cmp r0, 0x8
- beq _08048DEA
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x11
- beq _08048DF4
- mov r4, r9
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x9
- negs r2, r2
- ands r0, r2
- str r0, [r1]
-_08048DE4:
- movs r0, 0x1
- mov r10, r0
- b _08048DF4
-_08048DEA:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_08048DF4:
- mov r1, r10
- cmp r1, 0x1
- beq _08048DFC
- b _08048F1C
-_08048DFC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gStatusFlagsForMoveEffects
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- cmp r3, 0x7
- bne _08048E50
- bl Random
- ldr r2, =gBattleMons
- ldr r1, =gUnknown_0202420E
- ldrb r3, [r1]
- movs r1, 0x58
- muls r3, r1
- adds r2, 0x4C
- adds r3, r2
- movs r1, 0x3
- ands r1, r0
- adds r1, 0x2
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- b _08048E64
- .pool
-_08048E50:
- ldr r2, =gBattleMons
- ldr r0, =gUnknown_0202420E
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r2, 0x4C
- adds r1, r2
- ldr r0, [r1]
- orrs r0, r3
- str r0, [r1]
-_08048E64:
- ldr r2, =gBattlescriptCurrInstr
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r5, =gBattleCommunication
- ldrb r0, [r5, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldr r4, =gActiveBank
- ldr r1, =gUnknown_0202420E
- ldrb r0, [r1]
- strb r0, [r4]
- ldrb r1, [r1]
- 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 dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08048ED8
- movs r0, 0x1
- strb r0, [r5, 0x5]
- ldr r0, =0xffffdfff
- ands r1, r0
- str r1, [r2]
- b _08048EDA
- .pool
-_08048ED8:
- strb r0, [r5, 0x5]
-_08048EDA:
- ldr r0, =gBattleCommunication
- ldrb r2, [r0, 0x3]
- cmp r2, 0x2
- beq _08048EF2
- cmp r2, 0x6
- beq _08048EF2
- cmp r2, 0x5
- beq _08048EF2
- cmp r2, 0x3
- beq _08048EF2
- bl _080499B8
-_08048EF2:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB2
- ldr r2, =gBattleCommunication
- ldrb r1, [r2, 0x3]
- strb r1, [r0]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 7
- orrs r0, r1
- str r0, [r2]
- bl _080499B8
- .pool
-_08048F1C:
- mov r3, r10
- cmp r3, 0
- beq _08048F26
- bl _080499B8
-_08048F26:
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bl _080499B8
- .pool
-_08048F40:
- mov r4, r9
- ldrb r1, [r4]
- movs r0, 0x58
- muls r1, r0
- mov r0, r8
- adds r0, 0x50
- adds r1, r0
- ldr r2, =gStatusFlagsForMoveEffects
- ldr r0, =gBattleCommunication
- ldrb r3, [r0, 0x3]
- lsls r0, r3, 2
- adds r0, r2
- ldr r1, [r1]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08048F66
- bl _08049994
-_08048F66:
- subs r0, r3, 0x7
- cmp r0, 0x34
- bls _08048F70
- bl _080499B2
-_08048F70:
- lsls r0, 2
- ldr r1, =_08048F88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08048F88:
- .4byte _0804905C
- .4byte _080490D0
- .4byte _08049244
- .4byte _0804915C
- .4byte _080491D8
- .4byte _0804927C
- .4byte _080492C4
- .4byte _08049390
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _080494FC
- .4byte _08049544
- .4byte _08049564
- .4byte _08049720
- .4byte _0804975C
- .4byte _08049778
- .4byte _08049790
- .4byte _080497A8
- .4byte _08049808
- .4byte _08049820
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _08049864
- .4byte _080498C0
- .4byte _080499B2
- .4byte _080499B2
- .4byte _080499B2
- .4byte _080499B2
- .4byte _080499A4
-_0804905C:
- mov r1, r9
- ldrb r0, [r1]
- movs r5, 0x58
- adds r1, r0, 0
- muls r1, r5
- mov r2, r8
- adds r0, r1, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x14
- bne _08049076
- bl _08049994
-_08049076:
- mov r4, r8
- adds r4, 0x50
- adds r0, r1, r4
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _0804908A
- bl _08049994
-_0804908A:
- bl Random
- mov r3, r9
- ldrb r1, [r3]
- adds r2, r1, 0
- muls r2, r5
- adds r2, r4
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- adds r1, 0x2
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _080499B0
- .pool
-_080490D0:
- mov r4, r9
- ldrb r2, [r4]
- movs r4, 0x58
- adds r0, r2, 0
- muls r0, r4
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x27
- bne _08049114
- cmp r5, 0x1
- beq _080490F0
- cmp r6, 0x80
- beq _080490F0
- bl _08049994
-_080490F0:
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- mov r1, r9
- ldrb r0, [r1]
- movs r1, 0x27
- bl RecordAbilityBattle
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB603
- str r0, [r1]
- bl _080499B2
- .pool
-_08049114:
- adds r0, r2, 0
- bl sub_8048728
- ldr r1, =gUnknown_02024082
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bhi _0804912A
- bl _08049994
-_0804912A:
- mov r2, r9
- ldrb r0, [r2]
- adds r2, r0, 0
- muls r2, r4
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r1, =gStatusFlagsForMoveEffects
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r2]
- bl _08049994
- .pool
-_0804915C:
- mov r3, r9
- ldrb r0, [r3]
- movs r5, 0x58
- muls r0, r5
- mov r4, r8
- adds r4, 0x50
- adds r2, r0, r4
- ldr r1, [r2]
- movs r0, 0x70
- ands r0, r1
- cmp r0, 0
- beq _08049178
- bl _08049994
-_08049178:
- movs r0, 0x80
- lsls r0, 5
- orrs r1, r0
- str r1, [r2]
- ldr r1, =gUnknown_02024268
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- bl Random
- mov r2, r9
- ldrb r1, [r2]
- adds r2, r1, 0
- muls r2, r5
- adds r2, r4
- movs r1, 0x3
- ands r1, r0
- adds r1, 0x2
- lsls r1, 4
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _080499B0
- .pool
-_080491D8:
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _08049210
- ldr r4, =gUnknown_0202432E
- ldrh r3, [r4]
- ldr r2, =gBattleMons
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2A
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r3, r0
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r3, r0
- bls _08049210
- ldr r3, =0x0000ffff
- adds r0, r3, 0
- strh r0, [r4]
-_08049210:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- b _080499B0
- .pool
-_08049244:
- mov r4, r9
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- mov r1, r8
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0804925A
- b _08049994
-_0804925A:
- bl Random
- ldr r4, =gBattleCommunication
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x3
- strb r0, [r4, 0x3]
- movs r0, 0
- movs r1, 0
- bl sub_8048760
- b _080499B2
- .pool
-_0804927C:
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 5
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gUnknown_02024268
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- ldr r0, =gProtectStructs
- ldrb r1, [r2]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x1]
- b _08049994
- .pool
-_080492C4:
- mov r3, r9
- ldrb r0, [r3]
- movs r6, 0x58
- muls r0, r6
- mov r4, r8
- adds r4, 0x50
- adds r0, r4
- ldr r5, [r0]
- movs r0, 0xE0
- lsls r0, 8
- ands r5, r0
- cmp r5, 0
- beq _080492E0
- b _08049994
-_080492E0:
- bl Random
- mov r2, r9
- ldrb r1, [r2]
- adds r2, r1, 0
- muls r2, r6
- adds r2, r4
- movs r1, 0x3
- ands r1, r0
- adds r1, 0x3
- lsls r1, 13
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- mov r3, r9
- ldrb r1, [r3]
- ldr r2, =gBattleStruct
- ldr r0, [r2]
- lsls r1, 1
- adds r1, r0
- ldr r6, =gCurrentMove
- ldrh r0, [r6]
- strb r0, [r1, 0x4]
- ldrb r1, [r3]
- ldr r0, [r2]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r6]
- lsrs r0, 8
- strb r0, [r1, 0x5]
- ldrb r1, [r3]
- ldr r0, [r2]
- adds r1, r0
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r1, 0x14]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r2, =gBattleCommunication
- ldrb r0, [r2, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4]
- strb r5, [r2, 0x5]
- ldr r3, =gUnknown_085CC982
- ldrh r0, [r3]
- ldrh r4, [r6]
- cmp r0, r4
- bne _0804934E
- b _080499B2
-_0804934E:
- adds r1, r2, 0
- adds r2, r6, 0
-_08049352:
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _08049362
- b _080499B2
-_08049362:
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- ldrh r4, [r2]
- cmp r0, r4
- bne _08049352
- b _080499B2
- .pool
-_08049390:
- ldr r1, =gBattleMoveDamage
- ldr r0, =gUnknown_020241F4
- ldr r0, [r0]
- cmp r0, 0
- bge _0804939C
- adds r0, 0x3
-_0804939C:
- asrs r0, 2
- str r0, [r1]
- cmp r0, 0
- bne _080493A8
- movs r0, 0x1
- str r0, [r1]
-_080493A8:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- b _080499B0
- .pool
-_080493D4:
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xF2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x10
- adds r2, r7, 0
- movs r3, 0
- bl sub_8050A1C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080493F2
- b _08049994
-_080493F2:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082D8CD4
- b _080499B0
- .pool
-_0804941C:
- movs r0, 0x70
- negs r0, r0
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xEB
- lsls r1, 24
- lsrs r1, 24
- adds r2, r7, 0
- movs r3, 0
- bl sub_8050A1C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _0804943C
- b _08049994
-_0804943C:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082D8D65
- b _080499B0
- .pool
-_08049468:
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xDA
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x20
- adds r2, r7, 0
- movs r3, 0
- bl sub_8050A1C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _08049486
- b _08049994
-_08049486:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082D8CD4
- b _080499B0
- .pool
-_080494B0:
- movs r0, 0x60
- negs r0, r0
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xD3
- lsls r1, 24
- lsrs r1, 24
- adds r2, r7, 0
- movs r3, 0
- bl sub_8050A1C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080494D0
- b _08049994
-_080494D0:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082D8D65
- b _080499B0
- .pool
-_080494FC:
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 15
- orrs r0, r1
- str r0, [r2]
- ldr r2, =gDisableStructs
- mov r3, r9
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0, 0x19]
- ldr r1, =gUnknown_02024268
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- b _08049994
- .pool
-_08049544:
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 16
-_0804955A:
- orrs r0, r1
- str r0, [r2]
- b _08049994
- .pool
-_08049564:
- ldr r5, =gBattleTypeFlags
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 19
- ands r0, r1
- cmp r0, 0
- beq _08049574
- b _08049994
-_08049574:
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080495A8
- ldr r0, [r5]
- ldr r1, =0x0a3f0902
- ands r0, r1
- cmp r0, 0
- bne _080495D4
- b _08049994
- .pool
-_080495A8:
- ldr r0, [r5]
- ldr r1, =0x0a3f0902
- ands r0, r1
- cmp r0, 0
- bne _080495D4
- ldr r0, =gUnknown_020243D0
- adds r0, 0x29
- adds r0, r4, r0
- ldrb r1, [r0]
- ldr r3, =gBitTable
- ldr r2, =gBattlePartyID
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080495D4
- b _08049994
-_080495D4:
- ldr r2, =gBattleMons
- ldr r1, =gBankTarget
- ldrb r0, [r1]
- movs r5, 0x58
- muls r0, r5
- adds r4, r0, r2
- ldrh r0, [r4, 0x2E]
- adds r7, r1, 0
- mov r8, r2
- cmp r0, 0
- beq _0804963C
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x3C
- bne _0804963C
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB682
- str r0, [r1]
- ldr r1, =gLastUsedAbility
- ldrb r0, [r7]
- muls r0, r5
- add r0, r8
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- ldrb r1, [r1]
- bl RecordAbilityBattle
- b _080499B2
- .pool
-_0804963C:
- ldr r4, =gBankAttacker
- mov r10, r4
- ldrb r2, [r4]
- movs r0, 0x58
- mov r9, r0
- mov r0, r9
- muls r0, r2
- add r0, r8
- ldrh r4, [r0, 0x2E]
- cmp r4, 0
- beq _08049654
- b _08049994
-_08049654:
- ldrb r0, [r7]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- ldrh r3, [r0, 0x2E]
- adds r1, r3, 0
- cmp r1, 0xAF
- bne _08049668
- b _08049994
-_08049668:
- adds r0, r3, 0
- subs r0, 0x79
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bhi _08049676
- b _08049994
-_08049676:
- cmp r1, 0
- bne _0804967C
- b _08049994
-_0804967C:
- ldr r5, =gBattleStruct
- lsls r0, r2, 1
- adds r0, 0xD0
- ldr r1, [r5]
- adds r1, r0
- ldr r2, =gLastUsedItem
- strh r3, [r1]
- strh r3, [r2]
- ldrb r0, [r7]
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- add r0, r8
- movs r6, 0
- strh r4, [r0, 0x2E]
- ldr r4, =gActiveBank
- mov r1, r10
- ldrb r0, [r1]
- strb r0, [r4]
- str r2, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- mov r2, r10
- ldrb r0, [r2]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r0, [r7]
- strb r0, [r4]
- ldrb r0, [r7]
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- mov r1, r8
- adds r1, 0x2E
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r7]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB422
- str r0, [r4]
- ldrb r0, [r7]
- ldr r1, [r5]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC8
- strb r6, [r0]
- ldrb r0, [r7]
- ldr r1, [r5]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC9
- strb r6, [r0]
- b _080499B2
- .pool
-_08049720:
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- orrs r0, r1
- str r0, [r2]
- ldr r2, =gDisableStructs
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =gBankAttacker
- ldrb r1, [r1]
- strb r1, [r0, 0x14]
- b _08049994
- .pool
-_0804975C:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 20
- b _0804955A
- .pool
-_08049778:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DAF27
- b _080499B0
- .pool
-_08049790:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DAFC3
- b _080499B0
- .pool
-_080497A8:
- ldr r6, =gBankTarget
- ldrb r0, [r6]
- movs r2, 0x58
- muls r0, r2
- mov r1, r8
- adds r1, 0x4C
- adds r5, r0, r1
- ldr r4, [r5]
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- bne _080497C2
- b _08049994
-_080497C2:
- movs r0, 0x41
- negs r0, r0
- ands r4, r0
- str r4, [r5]
- ldr r4, =gActiveBank
- ldrb r0, [r6]
- strb r0, [r4]
- ldrb r0, [r4]
- muls r0, r2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB361
- b _080499B0
- .pool
-_08049808:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB117
- b _080499B0
- .pool
-_08049820:
- ldr r4, =gBattleMoveDamage
- ldr r0, =gUnknown_020241F4
- ldr r0, [r0]
- movs r1, 0x3
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08049836
- movs r0, 0x1
- str r0, [r4]
-_08049836:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- b _080499B0
- .pool
-_08049864:
- mov r4, r9
- ldrb r0, [r4]
- movs r5, 0x58
- muls r0, r5
- mov r4, r8
- adds r4, 0x50
- adds r2, r0, r4
- ldr r1, [r2]
- movs r0, 0xC0
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08049880
- b _08049994
-_08049880:
- movs r0, 0x80
- lsls r0, 5
- orrs r1, r0
- str r1, [r2]
- ldr r1, =gUnknown_02024268
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- bl Random
- mov r3, r9
- ldrb r1, [r3]
- adds r2, r1, 0
- muls r2, r5
- adds r2, r4
- movs r1, 0x1
- ands r1, r0
- adds r1, 0x2
- lsls r1, 10
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- b _080499B2
- .pool
-_080498C0:
- mov r4, r9
- ldrb r3, [r4]
- movs r5, 0x58
- adds r0, r3, 0
- muls r0, r5
- mov r2, r8
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r2, [r0]
- cmp r2, 0x3C
- bne _08049900
- ldrh r0, [r1, 0x2E]
- cmp r0, 0
- beq _08049994
- ldr r0, =gLastUsedAbility
- strb r2, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB63F
- str r0, [r1]
- ldrb r0, [r4]
- movs r1, 0x3C
- bl RecordAbilityBattle
- b _080499B2
- .pool
-_08049900:
- ldrh r0, [r1, 0x2E]
- cmp r0, 0
- beq _08049994
- adds r0, r3, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gLastUsedItem
- mov r3, r9
- ldrb r0, [r3]
- muls r0, r5
- add r0, r8
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
- ldrb r0, [r3]
- muls r0, r5
- add r0, r8
- movs r5, 0
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r2, =gUnknown_020243D0
- adds r2, 0x29
- adds r2, r4, r2
- ldr r3, =gBitTable
- ldr r1, =gBattlePartyID
- mov r4, r9
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB168
- str r0, [r4]
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC8
- strb r5, [r0]
- mov r3, r9
- ldrb r0, [r3]
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC9
- strb r5, [r0]
- b _080499B2
- .pool
-_08049994:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- b _080499B2
- .pool
-_080499A4:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB1D5
-_080499B0:
- str r0, [r4]
-_080499B2:
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x3]
-_080499B8:
- 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_8048760
-
- thumb_func_start atk15_seteffectwithchancetarget
-atk15_seteffectwithchancetarget: @ 80499D4
- push {r4,lr}
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x20
- bne _08049A10
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 1
- b _08049A20
- .pool
-_08049A10:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0, 0x5]
-_08049A20:
- ldr r3, =gBattleCommunication
- ldrb r2, [r3, 0x3]
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08049A50
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08049A50
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r3, 0x3]
- b _08049A7E
- .pool
-_08049A50:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcs _08049A9A
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _08049A9A
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08049A9A
- cmp r4, 0x63
- bls _08049A90
-_08049A7E:
- movs r0, 0
- movs r1, 0x80
- bl sub_8048760
- b _08049AA2
- .pool
-_08049A90:
- movs r0, 0
- movs r1, 0
- bl sub_8048760
- b _08049AA2
-_08049A9A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08049AA2:
- ldr r0, =gBattleCommunication
- movs r1, 0
- strb r1, [r0, 0x3]
- ldr r0, =gBattleScripting
- strb r1, [r0, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk15_seteffectwithchancetarget
-
- thumb_func_start atk16_seteffectprimary
-atk16_seteffectprimary: @ 8049AC0
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl sub_8048760
- pop {r0}
- bx r0
- thumb_func_end atk16_seteffectprimary
-
- thumb_func_start atk17_seteffectsecondary
-atk17_seteffectsecondary: @ 8049AD0
- push {lr}
- movs r0, 0
- movs r1, 0
- bl sub_8048760
- pop {r0}
- bx r0
- thumb_func_end atk17_seteffectsecondary
-
- thumb_func_start atk18_status_effect_clear
-atk18_status_effect_clear: @ 8049AE0
- push {lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r2, =gActiveBank
- strb r0, [r2]
- ldr r3, =gBattleCommunication
- ldrb r0, [r3, 0x3]
- cmp r0, 0x6
- bhi _08049B14
- ldr r1, =gBattleMons
- ldrb r2, [r2]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x4C
- b _08049B1E
- .pool
-_08049B14:
- ldr r1, =gBattleMons
- ldrb r2, [r2]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x50
-_08049B1E:
- adds r2, r1
- ldr r1, =gStatusFlagsForMoveEffects
- ldrb r0, [r3, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- ldr r0, =gBattleCommunication
- movs r2, 0
- strb r2, [r0, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- ldr r0, =gBattleScripting
- strb r2, [r0, 0x16]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk18_status_effect_clear
-
- thumb_func_start atk19_faint_pokemon
-atk19_faint_pokemon: @ 8049B5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r0, =gBattlescriptCurrInstr
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- beq _08049BE0
- ldrb r0, [r2, 0x1]
- bl get_battle_side_of_something
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r2, =gHitMarker
- ldr r1, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _08049B94
- b _08049E2C
-_08049B94:
- ldr r1, [r6]
- ldrb r4, [r1, 0x3]
- ldrb r0, [r1, 0x4]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r1, 0x6]
- lsls r0, 24
- orrs r4, r0
- bl b_movescr_stack_pop_cursor
- str r4, [r6]
- ldrb r0, [r5]
- bl GetBankSide
- ldr r1, =gSideAffecting
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r2, [r0]
- ldr r1, =0x0000fdff
- ands r1, r2
- strh r1, [r0]
- b _08049E32
- .pool
-_08049BE0:
- ldrb r0, [r2, 0x1]
- cmp r0, 0x1
- bne _08049C08
- ldr r1, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- mov r9, r0
- ldr r4, =gUnknown_082DA7AA
- b _08049C18
- .pool
-_08049C08:
- ldr r1, =gActiveBank
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- mov r9, r0
- ldr r4, =gUnknown_082DA7B7
-_08049C18:
- mov r8, r1
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- mov r7, r8
- ldrb r3, [r7]
- lsls r0, r3, 2
- adds r0, r2
- ldr r2, [r0]
- ands r1, r2
- cmp r1, 0
- beq _08049C32
- b _08049E2C
-_08049C32:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r3
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049C42
- b _08049E2C
-_08049C42:
- ldr r5, =gHitMarker
- lsls r1, r2, 28
- ldr r0, [r5]
- orrs r0, r1
- str r0, [r5]
- ldr r0, [r6]
- adds r0, 0x7
- bl b_movescr_stack_push
- str r4, [r6]
- ldrb r0, [r7]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08049CA4
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- orrs r0, r1
- str r0, [r5]
- ldr r1, =gBattleResults
- ldrb r0, [r1]
- cmp r0, 0xFE
- bhi _08049C78
- adds r0, 0x1
- strb r0, [r1]
-_08049C78:
- ldrb r0, [r7]
- bl sub_80570F4
- b _08049CCE
- .pool
-_08049CA4:
- ldr r4, =gBattleResults
- ldrb r0, [r4, 0x1]
- cmp r0, 0xFE
- bhi _08049CB0
- adds r0, 0x1
- strb r0, [r4, 0x1]
-_08049CB0:
- ldr r1, =gBattlePartyID
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r4, 0x20]
-_08049CCE:
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08049D0C
- ldr r6, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- movs r5, 0x58
- muls r0, r5
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049D0C
- movs r0, 0x41
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- bl b_movescr_stack_push
- ldr r1, =gBattleMoveDamage
- mov r0, r9
- muls r0, r5
- adds r0, r6
- ldrh r0, [r0, 0x28]
- str r0, [r1]
- ldr r0, =gUnknown_082DAE3E
- str r0, [r4]
-_08049D0C:
- ldr r1, =gStatuses3
- ldr r6, =gBankTarget
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 7
- ands r0, r1
- cmp r0, 0
- bne _08049D24
- b _08049E32
-_08049D24:
- ldr r0, =gHitMarker
- ldr r5, [r0]
- movs r0, 0x80
- lsls r0, 17
- ands r5, r0
- cmp r5, 0
- beq _08049D34
- b _08049E32
-_08049D34:
- ldr r3, =gBankAttacker
- mov r8, r3
- ldrb r0, [r3]
- bl GetBankSide
- adds r4, r0, 0
- ldrb r0, [r6]
- bl GetBankSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08049E32
- ldr r0, =gBattleMons
- mov r9, r0
- mov r2, r8
- ldrb r1, [r2]
- movs r7, 0x58
- adds r2, r1, 0
- muls r2, r7
- adds r0, r2, r0
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049E32
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xA5
- beq _08049E32
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, r1, r0
- adds r0, 0x80
- ldrb r4, [r0]
- adds r0, r4, r2
- mov r6, r9
- adds r6, 0x24
- adds r0, r6
- strb r5, [r0]
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB18D
- str r0, [r5]
- ldr r5, =gActiveBank
- mov r3, r8
- ldrb r0, [r3]
- strb r0, [r5]
- adds r1, r4, 0
- adds r1, 0x9
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r5]
- muls r0, r7
- adds r0, r6
- adds r0, r4
- str r0, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0x1
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- lsls r4, 1
- mov r2, r8
- ldrb r0, [r2]
- muls r0, r7
- adds r0, r4, r0
- mov r2, r9
- adds r2, 0xC
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- mov r3, r8
- ldrb r0, [r3]
- muls r0, r7
- adds r4, r0
- adds r4, r2
- ldrh r0, [r4]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- b _08049E32
- .pool
-_08049E2C:
- ldr r0, [r6]
- adds r0, 0x7
- str r0, [r6]
-_08049E32:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk19_faint_pokemon
-
- thumb_func_start atk1A_faint_animation
-atk1A_faint_animation: @ 8049E40
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _08049E6A
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x0A_A_A_A
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
-_08049E6A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1A_faint_animation
-
- thumb_func_start atk1B_faint_effects_clear
-atk1B_faint_effects_clear: @ 8049E7C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gBattleExecBuffer
- ldr r5, [r0]
- cmp r5, 0
- bne _08049EE8
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _08049EB4
- ldr r2, =gBattleMons
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08049EDC
-_08049EB4:
- ldr r1, =gBattleMons
- ldrb r0, [r4]
- movs r2, 0x58
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- str r5, [r0]
- ldrb r0, [r4]
- muls r0, r2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08049EDC:
- bl sub_803A75C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_08049EE8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1B_faint_effects_clear
-
- thumb_func_start atk1C_jumpifstatus
-atk1C_jumpifstatus: @ 8049F04
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- ldrb r4, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- lsls r1, 8
- adds r4, r1
- ldrb r1, [r2, 0x4]
- lsls r1, 16
- adds r4, r1
- ldrb r1, [r2, 0x5]
- lsls r1, 24
- adds r4, r1
- ldrb r3, [r2, 0x6]
- ldrb r1, [r2, 0x7]
- lsls r1, 8
- adds r3, r1
- ldrb r1, [r2, 0x8]
- lsls r1, 16
- adds r3, r1
- ldrb r1, [r2, 0x9]
- lsls r1, 24
- adds r3, r1
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r1, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08049F68
- adds r0, r1, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049F68
- str r3, [r5]
- b _08049F70
- .pool
-_08049F68:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
-_08049F70:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1C_jumpifstatus
-
- thumb_func_start atk1D_jumpifstatus2
-atk1D_jumpifstatus2: @ 8049F7C
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- ldrb r4, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- lsls r1, 8
- adds r4, r1
- ldrb r1, [r2, 0x4]
- lsls r1, 16
- adds r4, r1
- ldrb r1, [r2, 0x5]
- lsls r1, 24
- adds r4, r1
- ldrb r3, [r2, 0x6]
- ldrb r1, [r2, 0x7]
- lsls r1, 8
- adds r3, r1
- ldrb r1, [r2, 0x8]
- lsls r1, 16
- adds r3, r1
- ldrb r1, [r2, 0x9]
- lsls r1, 24
- adds r3, r1
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r1, r0
- adds r0, r2, 0
- adds r0, 0x50
- adds r0, r1, r0
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08049FE0
- adds r0, r1, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049FE0
- str r3, [r5]
- b _08049FE8
- .pool
-_08049FE0:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
-_08049FE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1D_jumpifstatus2
-
- thumb_func_start atk1E_jumpifability
-atk1E_jumpifability: @ 8049FF4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r6, =gBattlescriptCurrInstr
- ldr r2, [r6]
- ldrb r5, [r2, 0x2]
- mov r8, r5
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- adds r7, r1, r0
- ldrb r0, [r2, 0x1]
- cmp r0, 0x8
- bne _0804A054
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xD
- adds r2, r5, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0804A0C8
- ldr r1, =gLastUsedAbility
- strb r5, [r1]
- str r7, [r6]
- subs r4, 0x1
- lsls r0, r4, 24
- lsrs r0, 24
- ldrb r1, [r1]
- b _0804A0B0
- .pool
-_0804A054:
- cmp r0, 0x9
- bne _0804A08C
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- adds r2, r5, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0804A0C8
- ldr r1, =gLastUsedAbility
- strb r5, [r1]
- str r7, [r6]
- subs r4, 0x1
- lsls r0, r4, 24
- lsrs r0, 24
- ldrb r1, [r1]
- b _0804A0B0
- .pool
-_0804A08C:
- ldrb r0, [r2, 0x1]
- bl get_battle_side_of_something
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, r8
- bne _0804A0C8
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- str r7, [r6]
- ldrb r1, [r0]
- adds r0, r4, 0
-_0804A0B0:
- bl RecordAbilityBattle
- ldr r0, =gBattleScripting
- strb r4, [r0, 0x15]
- b _0804A0CE
- .pool
-_0804A0C8:
- ldr r0, [r6]
- adds r0, 0x7
- str r0, [r6]
-_0804A0CE:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk1E_jumpifability
-
- thumb_func_start atk1F_jumpifsideaffecting
-atk1F_jumpifsideaffecting: @ 804A0DC
- push {r4-r6,lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r4, [r0, 0x1]
- cmp r4, 0x1
- bne _0804A0FC
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity
- b _0804A106
- .pool
-_0804A0FC:
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- bl GetBankIdentity
- movs r4, 0x1
-_0804A106:
- ands r4, r0
- ldr r6, =gBattlescriptCurrInstr
- ldr r3, [r6]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r1, [r3, 0x4]
- ldrb r0, [r3, 0x5]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x6]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x7]
- lsls r0, 24
- adds r5, r1, r0
- ldr r1, =gSideAffecting
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _0804A148
- str r5, [r6]
- b _0804A14E
- .pool
-_0804A148:
- adds r0, r3, 0
- adds r0, 0x8
- str r0, [r6]
-_0804A14E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk1F_jumpifsideaffecting
-
- thumb_func_start atk20_jumpifstat
-atk20_jumpifstat: @ 804A154
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleMons
- ldr r3, [r4]
- movs r1, 0x58
- muls r0, r1
- ldrb r1, [r3, 0x3]
- adds r0, r1
- adds r2, 0x18
- adds r0, r2
- ldrb r2, [r0]
- ldrb r0, [r3, 0x2]
- cmp r0, 0x5
- bhi _0804A212
- lsls r0, 2
- ldr r1, =_0804A194
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804A194:
- .4byte _0804A1AC
- .4byte _0804A1BC
- .4byte _0804A1CC
- .4byte _0804A1DC
- .4byte _0804A1EC
- .4byte _0804A200
-_0804A1AC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bne _0804A212
- b _0804A20C
- .pool
-_0804A1BC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- beq _0804A212
- b _0804A20C
- .pool
-_0804A1CC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bls _0804A212
- b _0804A20C
- .pool
-_0804A1DC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bcs _0804A212
- b _0804A20C
- .pool
-_0804A1EC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- ands r2, r0
- cmp r2, 0
- beq _0804A212
- b _0804A20C
- .pool
-_0804A200:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- ands r2, r0
- cmp r2, 0
- bne _0804A212
-_0804A20C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0804A212:
- cmp r5, 0
- beq _0804A238
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
- b _0804A240
- .pool
-_0804A238:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x9
- str r0, [r1]
-_0804A240:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk20_jumpifstat
-
- thumb_func_start atk21_jumpifstatus3
-atk21_jumpifstatus3: @ 804A24C
- push {r4-r6,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- adds r6, r1, r0
- ldrb r1, [r2, 0x7]
- ldrb r0, [r2, 0x8]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x9]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0xA]
- lsls r0, 24
- adds r3, r1, r0
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0804A2AC
- ldr r0, =gStatuses3
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- ands r0, r6
- cmp r0, 0
- bne _0804A2C4
- b _0804A2BC
- .pool
-_0804A2AC:
- ldr r0, =gStatuses3
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- ands r0, r6
- cmp r0, 0
- beq _0804A2C4
-_0804A2BC:
- str r3, [r4]
- b _0804A2CA
- .pool
-_0804A2C4:
- adds r0, r2, 0
- adds r0, 0xB
- str r0, [r4]
-_0804A2CA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk21_jumpifstatus3
-
- thumb_func_start atk22_jumpiftype
-atk22_jumpiftype: @ 804A2D0
- push {r4-r6,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [r4]
- ldrb r5, [r3, 0x2]
- ldrb r2, [r3, 0x3]
- ldrb r1, [r3, 0x4]
- lsls r1, 8
- adds r2, r1
- ldrb r1, [r3, 0x5]
- lsls r1, 16
- adds r2, r1
- ldrb r1, [r3, 0x6]
- lsls r1, 24
- adds r6, r2, r1
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r0, r1
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, r5
- beq _0804A314
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, r5
- bne _0804A320
-_0804A314:
- str r6, [r4]
- b _0804A324
- .pool
-_0804A320:
- adds r0, r3, 0x7
- str r0, [r4]
-_0804A324:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk22_jumpiftype
-
- thumb_func_start atk23_getexp
-atk23_getexp: @ 804A32C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r6, 0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x50
- mov r9, r0
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r1, =gUnknown_0202420D
- strb r0, [r1]
- ldr r2, =gUnknown_020243FE
- movs r1, 0x2
- ands r1, r0
- lsls r1, 24
- lsrs r1, 25
- adds r1, r2
- ldrb r1, [r1]
- mov r8, r1
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x1C]
- cmp r0, 0x6
- bls _0804A368
- bl _0804ACB2
-_0804A368:
- lsls r0, 2
- ldr r1, =_0804A38C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804A38C:
- .4byte _0804A3A8
- .4byte _0804A414
- .4byte _0804A52E
- .4byte _0804A850
- .4byte _0804A954
- .4byte _0804AC40
- .4byte _0804AC88
-_0804A3A8:
- ldr r4, =gUnknown_0202420D
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0804A3BC
- bl _0804AC7C
-_0804A3BC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x063f0982
- ands r0, r1
- cmp r0, 0
- beq _0804A3CC
- bl _0804AC7C
-_0804A3CC:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1C]
- adds r0, 0x1
- strb r0, [r1, 0x1C]
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- adds r2, 0xDF
- ldr r3, =gBitTable
- ldr r1, =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- bl _0804ACB2
- .pool
-_0804A414:
- movs r5, 0
- movs r7, 0
-_0804A418:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804A486
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804A486
- ldr r0, =gBitTable
- lsls r1, r7, 2
- adds r1, r0
- ldr r0, [r1]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0804A44C
- adds r5, 0x1
-_0804A44C:
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0804A478
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003226
- adds r0, r2
- ldrb r4, [r0]
- b _0804A480
- .pool
-_0804A478:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
-_0804A480:
- cmp r4, 0x19
- bne _0804A486
- adds r6, 0x1
-_0804A486:
- adds r7, 0x1
- cmp r7, 0x5
- ble _0804A418
- ldr r3, =gBaseStats
- ldr r2, =gBattleMons
- ldr r0, =gUnknown_0202420D
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0, 0x9]
- adds r1, 0x2A
- ldrb r0, [r1]
- muls r0, r2
- movs r1, 0x7
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r6, 0
- beq _0804A4FC
- lsrs r4, r0, 17
- adds r0, r4, 0
- adds r1, r5, 0
- bl __divsi3
- mov r1, r9
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0804A4D2
- movs r0, 0x1
- strh r0, [r1]
-_0804A4D2:
- ldr r5, =gUnknown_02024402
- adds r0, r4, 0
- adds r1, r6, 0
- bl __divsi3
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- bne _0804A516
- movs r0, 0x1
- strh r0, [r5]
- b _0804A516
- .pool
-_0804A4FC:
- adds r0, r1, 0
- adds r1, r5, 0
- bl __divsi3
- mov r2, r9
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bne _0804A512
- movs r0, 0x1
- strh r0, [r2]
-_0804A512:
- ldr r0, =gUnknown_02024402
- strh r6, [r0]
-_0804A516:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1C]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x1C]
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- strb r2, [r0, 0x10]
- ldr r0, [r1]
- adds r0, 0x53
- mov r4, r8
- strb r4, [r0]
-_0804A52E:
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804A538
- b _0804ACB2
-_0804A538:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0804A57C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003226
- adds r0, r1
- ldrb r4, [r0]
- b _0804A584
- .pool
-_0804A57C:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
-_0804A584:
- ldr r5, =gBattleStruct
- cmp r4, 0x19
- beq _0804A5AC
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x53
- ldrb r0, [r1]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- bne _0804A5AC
- lsrs r0, 1
- strb r0, [r1]
- ldr r1, =gBattleScripting
- b _0804A5D0
- .pool
-_0804A5AC:
- ldr r0, [r5]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x64
- bne _0804A5E8
- ldr r1, [r5]
- adds r1, 0x53
- ldrb r0, [r1]
- lsrs r0, 1
- strb r0, [r1]
- ldr r1, =gBattleScripting
- movs r2, 0
-_0804A5D0:
- movs r0, 0x5
- strb r0, [r1, 0x1C]
- ldr r0, =gBattleMoveDamage
- str r2, [r0]
- b _0804ACB2
- .pool
-_0804A5E8:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0804A616
- ldr r0, =gBattleMons
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _0804A616
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- cmp r0, 0
- bne _0804A616
- bl sub_805EA60
- ldr r0, =0x00000161
- bl PlayBGM
- ldr r1, [r5]
- ldrb r0, [r1, 0x12]
- adds r0, 0x1
- strb r0, [r1, 0x12]
-_0804A616:
- ldr r5, =gBattleStruct
- ldr r0, [r5]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _0804A630
- b _0804A824
-_0804A630:
- ldr r0, [r5]
- adds r0, 0x53
- ldrb r0, [r0]
- movs r3, 0x1
- ands r3, r0
- cmp r3, 0
- beq _0804A664
- ldr r1, =gBattleMoveDamage
- mov r2, r9
- ldrh r0, [r2]
- str r0, [r1]
- mov r9, r1
- b _0804A66A
- .pool
-_0804A664:
- ldr r0, =gBattleMoveDamage
- str r3, [r0]
- mov r9, r0
-_0804A66A:
- cmp r4, 0x19
- bne _0804A67A
- ldr r0, =gUnknown_02024402
- ldrh r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_0804A67A:
- cmp r4, 0x28
- bne _0804A68E
- mov r4, r9
- ldr r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
-_0804A68E:
- ldr r5, =gBattleTypeFlags
- ldr r0, [r5]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804A6AA
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
-_0804A6AA:
- ldr r4, =gBattleStruct
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl IsTradedMon
- lsls r0, 24
- cmp r0, 0
- beq _0804A714
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _0804A6F8
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x2
- bls _0804A6F8
- ldr r7, =0x00000149
- ldr r0, =gBattleMoveDamage
- mov r9, r0
- b _0804A71A
- .pool
-_0804A6F8:
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- movs r7, 0xA5
- lsls r7, 1
- mov r9, r4
- b _0804A71A
- .pool
-_0804A714:
- ldr r7, =0x00000149
- ldr r1, =gBattleMoveDamage
- mov r9, r1
-_0804A71A:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0804A786
- ldr r0, =gBattlePartyID
- ldr r1, =gBattleStruct
- ldr r4, [r1]
- ldrh r0, [r0, 0x4]
- adds r5, r1, 0
- ldr r3, =gBitTable
- ldr r2, =gAbsentBankFlags
- ldrb r1, [r4, 0x10]
- cmp r0, r1
- bne _0804A76C
- ldrb r1, [r2]
- ldr r0, [r3, 0x8]
- ands r1, r0
- cmp r1, 0
- bne _0804A76C
- adds r1, r4, 0
- adds r1, 0x8F
- movs r0, 0x2
- strb r0, [r1]
- b _0804A78E
- .pool
-_0804A76C:
- ldrb r2, [r2]
- ldr r0, [r3]
- ands r2, r0
- cmp r2, 0
- bne _0804A77E
- ldr r0, [r5]
- adds r0, 0x8F
- strb r2, [r0]
- b _0804A78E
-_0804A77E:
- ldr r0, [r5]
- adds r0, 0x8F
- movs r1, 0x2
- b _0804A78C
-_0804A786:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x8F
-_0804A78C:
- strb r1, [r0]
-_0804A78E:
- ldr r1, =gBattleTextBuff1
- movs r2, 0
- mov r12, r2
- movs r3, 0xFD
- strb r3, [r1]
- movs r5, 0x4
- strb r5, [r1, 0x1]
- ldr r6, =gBattleStruct
- ldr r2, [r6]
- movs r4, 0x8F
- adds r4, r2
- mov r8, r4
- ldrb r0, [r4]
- strb r0, [r1, 0x2]
- ldrb r0, [r2, 0x10]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattleTextBuff2
- strb r3, [r1]
- mov r0, r12
- strb r0, [r1, 0x1]
- strb r7, [r1, 0x2]
- movs r4, 0xFF
- lsls r4, 8
- ands r7, r4
- asrs r0, r7, 8
- strb r0, [r1, 0x3]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x4]
- ldr r1, =gBattleTextBuff3
- strb r3, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- strb r5, [r1, 0x2]
- movs r0, 0x5
- strb r0, [r1, 0x3]
- mov r0, r9
- ldr r2, [r0]
- strb r2, [r1, 0x4]
- adds r0, r2, 0
- ands r0, r4
- asrs r0, 8
- strb r0, [r1, 0x5]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r2
- asrs r0, 16
- strb r0, [r1, 0x6]
- lsrs r2, 24
- strb r2, [r1, 0x7]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x8]
- mov r2, r8
- ldrb r1, [r2]
- movs r0, 0xD
- bl b_std_message
- ldr r0, [r6]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleMons
- ldr r1, =gUnknown_0202420D
- ldrb r2, [r1]
- movs r1, 0x58
- muls r1, r2
- adds r1, r3
- ldrh r1, [r1]
- bl MonGainEVs
-_0804A824:
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r1, 0x53
- ldrb r0, [r1]
- lsrs r0, 1
- strb r0, [r1]
- b _0804A92A
- .pool
-_0804A850:
- ldr r0, =gBattleExecBuffer
- ldr r2, [r0]
- cmp r2, 0
- beq _0804A85A
- b _0804ACB2
-_0804A85A:
- ldr r1, =gBattleBufferB
- ldr r7, =gBattleStruct
- ldr r0, [r7]
- adds r0, 0x8F
- ldrb r0, [r0]
- lsls r0, 9
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804A92A
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x64
- beq _0804A92A
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3A
- bl GetMonData
- ldr r4, =gBattleResources
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3B
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x2]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3C
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x4]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3D
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x6]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3E
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x8]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3F
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0xA]
- ldr r4, =gActiveBank
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- strb r0, [r4]
- ldrb r1, [r1, 0x10]
- ldr r0, =gBattleMoveDamage
- ldrh r2, [r0]
- movs r0, 0
- bl dp01_build_cmdbuf_x19_a_bb
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804A92A:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1C]
- adds r0, 0x1
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804A954:
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804A95E
- b _0804ACB2
-_0804A95E:
- ldr r1, =gActiveBank
- ldr r0, =gBattleStruct
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r3, =gBattleBufferB
- ldrb r2, [r1]
- lsls r1, r2, 9
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x21
- beq _0804A97C
- b _0804AC28
-_0804A97C:
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0xB
- beq _0804A988
- b _0804AC28
-_0804A988:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804A9B2
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrb r4, [r4, 0x10]
- cmp r0, r4
- bne _0804A9B2
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r2, 0
- bl sub_805E990
-_0804A9B2:
- ldr r1, =gBattleTextBuff1
- movs r3, 0xFD
- strb r3, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- strb r0, [r1, 0x2]
- ldr r4, =gBattleStruct
- mov r9, r4
- ldr r2, [r4]
- ldrb r0, [r2, 0x10]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r4, =gBattleTextBuff2
- strb r3, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- movs r0, 0x3
- strb r0, [r4, 0x3]
- ldrb r0, [r2, 0x10]
- movs r1, 0x64
- mov r8, r1
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- ldr r7, =gPlayerParty
- adds r0, r7
- movs r1, 0x38
- bl GetMonData
- strb r0, [r4, 0x4]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r4, 0x5]
- bl b_movescr_stack_push_cursor
- ldr r2, =gUnknown_03005D54
- ldr r1, =gBitTable
- mov r4, r9
- ldr r5, [r4]
- ldrb r0, [r5, 0x10]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DABBD
- str r0, [r1]
- ldr r4, =gBattleMoveDamage
- ldr r2, =gBattleBufferB
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, r2, 0x2
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r2, 0x3
- adds r1, r2
- ldrb r0, [r1]
- lsls r0, 8
- orrs r3, r0
- str r3, [r4]
- ldrb r0, [r5, 0x10]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- movs r1, 0
- bl AdjustFriendship
- ldr r1, =gBattlePartyID
- mov r2, r9
- ldr r0, [r2]
- ldrb r2, [r0, 0x10]
- ldrh r0, [r1]
- cmp r0, r2
- bne _0804AB1E
- ldr r4, =gBattleMons
- ldrh r0, [r4, 0x28]
- cmp r0, 0
- beq _0804AB1E
- mov r0, r8
- muls r0, r2
- adds r0, r7
- movs r1, 0x38
- bl GetMonData
- adds r1, r4, 0
- adds r1, 0x2A
- strb r0, [r1]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x39
- bl GetMonData
- strh r0, [r4, 0x28]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r4, 0x2C]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3B
- bl GetMonData
- strh r0, [r4, 0x2]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3C
- bl GetMonData
- strh r0, [r4, 0x4]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r4, 0x6]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r4, 0x6]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3E
- bl GetMonData
- strh r0, [r4, 0x8]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3F
- bl GetMonData
- strh r0, [r4, 0xA]
-_0804AB1E:
- ldr r0, =gBattlePartyID
- ldr r7, =gBattleStruct
- ldr r1, [r7]
- ldrb r2, [r1, 0x10]
- ldrh r0, [r0, 0x4]
- cmp r0, r2
- beq _0804AB2E
- b _0804AC2E
-_0804AB2E:
- ldr r6, =gBattleMons
- movs r4, 0xD8
- adds r4, r6
- mov r8, r4
- ldrh r0, [r4]
- cmp r0, 0
- beq _0804AC2E
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804AC2E
- movs r5, 0x64
- adds r0, r2, 0
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x38
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xDA
- strb r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xDC
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3B
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xB2
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3C
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xB4
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3D
- bl GetMonData
- movs r2, 0xB6
- adds r2, r6
- mov r8, r2
- strh r0, [r2]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3D
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3E
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xB8
- strh r0, [r1]
- b _0804AC2E
- .pool
-_0804AC28:
- ldr r1, =gBattleMoveDamage
- movs r0, 0
- str r0, [r1]
-_0804AC2E:
- ldr r1, =gBattleScripting
- movs r0, 0x5
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC40:
- ldr r0, =gBattleMoveDamage
- ldr r0, [r0]
- cmp r0, 0
- beq _0804AC58
- ldr r1, =gBattleScripting
- movs r0, 0x3
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC58:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x5
- bhi _0804AC7C
- ldr r1, =gBattleScripting
- movs r0, 0x2
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC7C:
- ldr r1, =gBattleScripting
- movs r0, 0x6
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC88:
- ldr r0, =gBattleExecBuffer
- ldr r5, [r0]
- cmp r5, 0
- bne _0804ACB2
- ldr r4, =gBattleMons
- ldr r2, =gUnknown_0202420D
- ldrb r0, [r2]
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- movs r3, 0
- strh r5, [r0, 0x2E]
- ldrb r0, [r2]
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- strb r3, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_0804ACB2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk23_getexp
-
- thumb_func_start atk24
-atk24: @ 804ACD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804ACE2
- b _0804AF22
-_0804ACE2:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _0804AD48
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _0804AD48
- movs r5, 0
-_0804ACFC:
- 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 _0804AD2C
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804AD2C
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
-_0804AD2C:
- adds r5, 0x1
- cmp r5, 0x2
- ble _0804ACFC
- b _0804ADA8
- .pool
-_0804AD48:
- movs r5, 0
-_0804AD4A:
- 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 _0804ADA2
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804ADA2
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0804AD94
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804ADA2
-_0804AD94:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
-_0804ADA2:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0804AD4A
-_0804ADA8:
- cmp r6, 0
- bne _0804ADB6
- ldr r0, =gBattleOutcome
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_0804ADB6:
- movs r6, 0
- movs r5, 0
-_0804ADBA:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804AE10
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804AE10
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0804AE02
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldr r1, =0x000002a1
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804AE10
-_0804AE02:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
-_0804AE10:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0804ADBA
- ldr r2, =gBattleOutcome
- cmp r6, 0
- bne _0804AE24
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_0804AE24:
- ldrb r0, [r2]
- cmp r0, 0
- bne _0804AF1A
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r2, =0x02000002
- ands r1, r2
- mov r8, r0
- cmp r1, 0
- beq _0804AF1A
- movs r3, 0
- movs r5, 0
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r0]
- mov r12, r0
- ldr r7, =gBattlescriptCurrInstr
- cmp r3, r1
- bge _0804AE70
- ldr r0, =gHitMarker
- movs r6, 0x80
- lsls r6, 21
- ldr r4, [r0]
- adds r2, r1, 0
- ldr r1, =gSpecialStatuses
-_0804AE54:
- adds r0, r6, 0
- lsls r0, r5
- ands r0, r4
- cmp r0, 0
- beq _0804AE68
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804AE68
- adds r3, 0x1
-_0804AE68:
- adds r1, 0x28
- adds r5, 0x2
- cmp r5, r2
- blt _0804AE54
-_0804AE70:
- movs r2, 0
- movs r5, 0x1
- mov r4, r12
- ldrb r1, [r4]
- cmp r5, r1
- bge _0804AEAA
- ldr r0, =gHitMarker
- movs r4, 0x80
- lsls r4, 21
- mov r12, r4
- ldr r6, [r0]
- ldr r0, =gSpecialStatuses
- adds r4, r1, 0
- adds r1, r0, 0
- adds r1, 0x14
-_0804AE8E:
- mov r0, r12
- lsls r0, r5
- ands r0, r6
- cmp r0, 0
- beq _0804AEA2
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804AEA2
- adds r2, 0x1
-_0804AEA2:
- adds r1, 0x28
- adds r5, 0x2
- cmp r5, r4
- blt _0804AE8E
-_0804AEAA:
- mov r1, r8
- ldr r0, [r1]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804AEF0
- adds r0, r2, r3
- cmp r0, 0x1
- bgt _0804AEF8
- b _0804AF12
- .pool
-_0804AEF0:
- cmp r2, 0
- beq _0804AF12
- cmp r3, 0
- beq _0804AF12
-_0804AEF8:
- ldr r2, [r7]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- str r1, [r7]
- b _0804AF22
-_0804AF12:
- ldr r0, [r7]
- adds r0, 0x5
- str r0, [r7]
- b _0804AF22
-_0804AF1A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0804AF22:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk24
-
- thumb_func_start sub_804AF30
-sub_804AF30: @ 804AF30
- ldr r1, =gBattleMoveFlags
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gBattleScripting
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0, 0xE]
- ldr r0, =gCritMultiplier
- strb r1, [r0]
- ldr r0, =gBattleCommunication
- strb r2, [r0, 0x3]
- strb r2, [r0, 0x6]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- subs r1, 0x42
- ands r0, r1
- ldr r1, =0xffffbfff
- ands r0, r1
- str r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_804AF30
-
- thumb_func_start atk25_move_values_cleanup
-atk25_move_values_cleanup: @ 804AF70
- push {lr}
- bl sub_804AF30
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk25_move_values_cleanup
-
- thumb_func_start atk26_set_multihit
-atk26_set_multihit: @ 804AF88
- ldr r3, =gUnknown_02024212
- ldr r2, =gBattlescriptCurrInstr
- ldr r0, [r2]
- ldrb r1, [r0, 0x1]
- strb r1, [r3]
- adds r0, 0x2
- str r0, [r2]
- bx lr
- .pool
- thumb_func_end atk26_set_multihit
-
- thumb_func_start atk27_decrement_multihit
-atk27_decrement_multihit: @ 804AFA0
- push {lr}
- ldr r1, =gUnknown_02024212
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _0804AFC4
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _0804AFDE
- .pool
-_0804AFC4:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
-_0804AFDE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk27_decrement_multihit
-
- thumb_func_start atk28_goto
-atk28_goto: @ 804AFE8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
- bx lr
- .pool
- thumb_func_end atk28_goto
-
- thumb_func_start atk29_jumpifbyte
-atk29_jumpifbyte: @ 804B008
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r6, [r1, 0x1]
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x6]
- ldrb r2, [r1, 0x7]
- ldrb r0, [r1, 0x8]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x9]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 24
- adds r2, r0
- adds r1, 0xB
- str r1, [r3]
- cmp r6, 0x5
- bhi _0804B0A0
- lsls r0, r6, 2
- ldr r1, =_0804B054
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804B054:
- .4byte _0804B06C
- .4byte _0804B074
- .4byte _0804B07C
- .4byte _0804B084
- .4byte _0804B08C
- .4byte _0804B096
-_0804B06C:
- ldrb r0, [r5]
- cmp r0, r4
- bne _0804B0A0
- b _0804B09E
-_0804B074:
- ldrb r0, [r5]
- cmp r0, r4
- beq _0804B0A0
- b _0804B09E
-_0804B07C:
- ldrb r0, [r5]
- cmp r0, r4
- bls _0804B0A0
- b _0804B09E
-_0804B084:
- ldrb r0, [r5]
- cmp r0, r4
- bcs _0804B0A0
- b _0804B09E
-_0804B08C:
- ldrb r0, [r5]
- ands r4, r0
- cmp r4, 0
- beq _0804B0A0
- b _0804B09E
-_0804B096:
- ldrb r0, [r5]
- ands r4, r0
- cmp r4, 0
- bne _0804B0A0
-_0804B09E:
- str r2, [r3]
-_0804B0A0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk29_jumpifbyte
-
- thumb_func_start atk2A_jumpifhalfword
-atk2A_jumpifhalfword: @ 804B0A8
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r6, [r1, 0x1]
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x6]
- ldrb r0, [r1, 0x7]
- lsls r0, 8
- orrs r4, r0
- ldrb r2, [r1, 0x8]
- ldrb r0, [r1, 0x9]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 24
- adds r2, r0
- adds r1, 0xC
- str r1, [r3]
- cmp r6, 0x5
- bhi _0804B148
- lsls r0, r6, 2
- ldr r1, =_0804B0FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804B0FC:
- .4byte _0804B114
- .4byte _0804B11C
- .4byte _0804B124
- .4byte _0804B12C
- .4byte _0804B134
- .4byte _0804B13E
-_0804B114:
- ldrh r0, [r5]
- cmp r0, r4
- bne _0804B148
- b _0804B146
-_0804B11C:
- ldrh r0, [r5]
- cmp r0, r4
- beq _0804B148
- b _0804B146
-_0804B124:
- ldrh r0, [r5]
- cmp r0, r4
- bls _0804B148
- b _0804B146
-_0804B12C:
- ldrh r0, [r5]
- cmp r0, r4
- bcs _0804B148
- b _0804B146
-_0804B134:
- ldrh r0, [r5]
- ands r4, r0
- cmp r4, 0
- beq _0804B148
- b _0804B146
-_0804B13E:
- ldrh r0, [r5]
- ands r4, r0
- cmp r4, 0
- bne _0804B148
-_0804B146:
- str r2, [r3]
-_0804B148:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk2A_jumpifhalfword
-
- thumb_func_start atk2B_jumpifword
-atk2B_jumpifword: @ 804B150
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r6, [r1, 0x1]
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x6]
- ldrb r0, [r1, 0x7]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r1, 0x9]
- lsls r0, 24
- orrs r4, r0
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- adds r2, r0
- adds r1, 0xE
- str r1, [r3]
- cmp r6, 0x5
- bhi _0804B1FC
- lsls r0, r6, 2
- ldr r1, =_0804B1B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804B1B0:
- .4byte _0804B1C8
- .4byte _0804B1D0
- .4byte _0804B1D8
- .4byte _0804B1E0
- .4byte _0804B1E8
- .4byte _0804B1F2
-_0804B1C8:
- ldr r0, [r5]
- cmp r0, r4
- bne _0804B1FC
- b _0804B1FA
-_0804B1D0:
- ldr r0, [r5]
- cmp r0, r4
- beq _0804B1FC
- b _0804B1FA
-_0804B1D8:
- ldr r0, [r5]
- cmp r0, r4
- bls _0804B1FC
- b _0804B1FA
-_0804B1E0:
- ldr r0, [r5]
- cmp r0, r4
- bcs _0804B1FC
- b _0804B1FA
-_0804B1E8:
- ldr r0, [r5]
- ands r0, r4
- cmp r0, 0
- beq _0804B1FC
- b _0804B1FA
-_0804B1F2:
- ldr r0, [r5]
- ands r0, r4
- cmp r0, 0
- bne _0804B1FC
-_0804B1FA:
- str r2, [r3]
-_0804B1FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk2B_jumpifword
-
- thumb_func_start atk2C_jumpifarrayequal
-atk2C_jumpifarrayequal: @ 804B204
- push {r4-r7,lr}
- ldr r2, =gBattlescriptCurrInstr
- ldr r3, [r2]
- ldrb r1, [r3, 0x1]
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 24
- adds r5, r1, r0
- ldrb r1, [r3, 0x5]
- ldrb r0, [r3, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 24
- adds r4, r1, r0
- ldrb r6, [r3, 0x9]
- ldrb r1, [r3, 0xA]
- ldrb r0, [r3, 0xB]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0xC]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0xD]
- lsls r0, 24
- adds r1, r0
- mov r12, r1
- movs r1, 0
- cmp r1, r6
- bcs _0804B27C
- ldrb r0, [r5]
- ldrb r7, [r4]
- cmp r0, r7
- beq _0804B260
- adds r0, r3, 0
- b _0804B278
- .pool
-_0804B260:
- adds r5, 0x1
- adds r4, 0x1
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r6
- bcs _0804B27C
- ldrb r0, [r5]
- ldrb r3, [r4]
- cmp r0, r3
- beq _0804B260
- ldr r0, [r2]
-_0804B278:
- adds r0, 0xE
- str r0, [r2]
-_0804B27C:
- cmp r1, r6
- bne _0804B284
- mov r7, r12
- str r7, [r2]
-_0804B284:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk2C_jumpifarrayequal
-
- thumb_func_start atk2D_jumpifarraynotequal
-atk2D_jumpifarraynotequal: @ 804B28C
- push {r4-r7,lr}
- movs r7, 0
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r2, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 24
- adds r4, r2, r0
- ldrb r6, [r1, 0x9]
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- adds r2, r0
- mov r12, r2
- movs r1, 0
- cmp r7, r6
- bcs _0804B2F6
-_0804B2DA:
- ldrb r0, [r5]
- ldrb r2, [r4]
- cmp r0, r2
- bne _0804B2E8
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_0804B2E8:
- adds r5, 0x1
- adds r4, 0x1
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r6
- bcc _0804B2DA
-_0804B2F6:
- cmp r7, r6
- beq _0804B304
- mov r0, r12
- b _0804B308
- .pool
-_0804B304:
- ldr r0, [r3]
- adds r0, 0xE
-_0804B308:
- str r0, [r3]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk2D_jumpifarraynotequal
-
- thumb_func_start atk2E_setbyte
-atk2E_setbyte: @ 804B310
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r2, 0x5]
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk2E_setbyte
-
- thumb_func_start atk2F_addbyte
-atk2F_addbyte: @ 804B338
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r2, 0x5]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk2F_addbyte
-
- thumb_func_start atk30_subbyte
-atk30_subbyte: @ 804B364
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r1]
- ldrb r2, [r2, 0x5]
- subs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk30_subbyte
-
- thumb_func_start atk31_copyarray
-atk31_copyarray: @ 804B390
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- adds r6, r2, r0
- ldrb r2, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x9]
- movs r2, 0
- cmp r2, r4
- bge _0804B3D4
-_0804B3C6:
- adds r0, r6, r2
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r4
- blt _0804B3C6
-_0804B3D4:
- ldr r0, [r3]
- adds r0, 0xA
- str r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk31_copyarray
-
- thumb_func_start atk32_copyarray_withindex
-atk32_copyarray_withindex: @ 804B3E4
- push {r4-r7,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- adds r7, r2, r0
- ldrb r2, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 24
- adds r6, r2, r0
- ldrb r2, [r1, 0x9]
- ldrb r0, [r1, 0xA]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0xD]
- movs r2, 0
- cmp r2, r4
- bge _0804B440
-_0804B42E:
- adds r0, r7, r2
- ldrb r1, [r5]
- adds r1, r2, r1
- adds r1, r6, r1
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r4
- blt _0804B42E
-_0804B440:
- ldr r0, [r3]
- adds r0, 0xE
- str r0, [r3]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk32_copyarray_withindex
-
- thumb_func_start atk33_orbyte
-atk33_orbyte: @ 804B450
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r1]
- ldrb r2, [r2, 0x5]
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk33_orbyte
-
- thumb_func_start atk34_orhalfword
-atk34_orhalfword: @ 804B47C
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r3, [r4]
- ldrb r2, [r3, 0x1]
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 24
- adds r2, r0
- ldrb r1, [r3, 0x5]
- ldrb r0, [r3, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2]
- orrs r1, r0
- strh r1, [r2]
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk34_orhalfword
-
- thumb_func_start atk35_orword
-atk35_orword: @ 804B4B4
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r2, [r4]
- ldrb r3, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r3, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r3, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r3, r0
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- adds r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- ldr r0, [r4]
- adds r0, 0x9
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk35_orword
-
- thumb_func_start atk36_bicbyte
-atk36_bicbyte: @ 804B4F8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r2, [r2, 0x5]
- ldrb r0, [r1]
- bics r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk36_bicbyte
-
- thumb_func_start atk37_bichalfword
-atk37_bichalfword: @ 804B524
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r3, [r4]
- ldrb r1, [r3, 0x1]
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r2, [r3, 0x5]
- ldrb r0, [r3, 0x6]
- lsls r0, 8
- orrs r2, r0
- ldrh r0, [r1]
- bics r0, r2
- strh r0, [r1]
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk37_bichalfword
-
- thumb_func_start atk38_bicword
-atk38_bicword: @ 804B55C
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r2, [r4]
- ldrb r3, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r3, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r3, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r3, r0
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- adds r1, r0
- ldr r0, [r3]
- bics r0, r1
- str r0, [r3]
- ldr r0, [r4]
- adds r0, 0x9
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk38_bicword
-
- thumb_func_start atk39_pause
-atk39_pause: @ 804B5A0
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r4, [r0]
- cmp r4, 0
- bne _0804B5CC
- ldr r5, =gBattlescriptCurrInstr
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r3, =gUnknown_0202432C
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bcc _0804B5CC
- strh r4, [r3]
- adds r0, r2, 0x3
- str r0, [r5]
-_0804B5CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk39_pause
-
- thumb_func_start atk3A_waitstate
-atk3A_waitstate: @ 804B5E0
- push {lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804B5F2
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_0804B5F2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3A_waitstate
-
- thumb_func_start atk3B_healthbar_update
-atk3B_healthbar_update: @ 804B600
- push {lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0804B620
- ldr r0, =gActiveBank
- ldr r1, =gBankTarget
- b _0804B624
- .pool
-_0804B620:
- ldr r0, =gActiveBank
- ldr r1, =gBankAttacker
-_0804B624:
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r0, =gBattleMoveDamage
- ldrh r1, [r0]
- movs r0, 0
- bl dp01_build_cmdbuf_x18_0_aa_health_bar_update
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3B_healthbar_update
-
- thumb_func_start atk3C_return
-atk3C_return: @ 804B658
- push {lr}
- bl b_movescr_stack_pop_cursor
- pop {r0}
- bx r0
- thumb_func_end atk3C_return
-
- thumb_func_start atk3D_end
-atk3D_end: @ 804B664
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0804B67C
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl sub_81A5718
-_0804B67C:
- ldr r0, =gBattleMoveFlags
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gActiveBank
- strb r1, [r0]
- ldr r1, =gFightStateTracker
- movs r0, 0xB
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3D_end
-
- thumb_func_start atk3E_end2
-atk3E_end2: @ 804B6A4
- ldr r1, =gActiveBank
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gFightStateTracker
- movs r0, 0xB
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end atk3E_end2
-
- thumb_func_start atk3F_end3
-atk3F_end3: @ 804B6BC
- push {lr}
- bl b_movescr_stack_pop_cursor
- ldr r3, =gBattleResources
- ldr r0, [r3]
- ldr r0, [r0, 0xC]
- adds r1, r0, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- beq _0804B6D6
- subs r0, 0x1
- strb r0, [r1]
-_0804B6D6:
- ldr r2, =gBattleMainFunc
- ldr r0, [r3]
- ldr r1, [r0, 0xC]
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3F_end3
-
- thumb_func_start atk41_call
-atk41_call: @ 804B6F8
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x5
- bl b_movescr_stack_push
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk41_call
-
- thumb_func_start atk42_jumpiftype2
-atk42_jumpiftype2: @ 804B728
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [r4]
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r0, r1
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r2, [r3, 0x2]
- ldrb r1, [r1]
- cmp r2, r1
- beq _0804B756
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r2, r0
- bne _0804B778
-_0804B756:
- ldrb r1, [r3, 0x3]
- ldrb r0, [r3, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _0804B77C
- .pool
-_0804B778:
- adds r0, r3, 0x7
- str r0, [r4]
-_0804B77C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end atk42_jumpiftype2
-
- thumb_func_start atk43_jumpifabilitypresent
-atk43_jumpifabilitypresent: @ 804B784
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r2, [r0, 0x1]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _0804B7C0
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _0804B7C6
- .pool
-_0804B7C0:
- ldr r0, [r4]
- adds r0, 0x6
- str r0, [r4]
-_0804B7C6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end atk43_jumpifabilitypresent
-
- thumb_func_start atk44
-atk44: @ 804B7D0
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- adds r0, 0x54
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end atk44
-
- thumb_func_start atk45_playanimation
-atk45_playanimation: @ 804B7EC
- push {r4-r6,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r6, =gActiveBank
- strb r0, [r6]
- ldr r2, [r5]
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- adds r3, r1, r0
- ldrb r4, [r2, 0x2]
- adds r0, r4, 0
- cmp r0, 0x1
- beq _0804B822
- cmp r0, 0x11
- beq _0804B822
- cmp r0, 0x2
- bne _0804B848
-_0804B822:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x2]
- ldrh r2, [r3]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- b _0804B8AA
- .pool
-_0804B848:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804B868
- adds r0, r2, 0x7
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DABB9
- b _0804B8A8
- .pool
-_0804B868:
- adds r0, r4, 0
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0804B894
- ldr r1, =gStatuses3
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- beq _0804B894
- adds r0, r2, 0x7
- b _0804B8A8
- .pool
-_0804B894:
- ldrb r1, [r2, 0x2]
- ldrh r2, [r3]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldrb r0, [r6]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x7
-_0804B8A8:
- str r0, [r5]
-_0804B8AA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk45_playanimation
-
- thumb_func_start atk46_playanimation2
-atk46_playanimation2: @ 804B8B0
- push {r4-r7,lr}
- ldr r6, =gBattlescriptCurrInstr
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r7, =gActiveBank
- strb r0, [r7]
- ldr r2, [r6]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- adds r3, r1, r0
- ldrb r1, [r2, 0x6]
- ldrb r0, [r2, 0x7]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x9]
- lsls r0, 24
- adds r4, r1, r0
- ldrb r5, [r3]
- adds r0, r5, 0
- cmp r0, 0x1
- beq _0804B8FA
- cmp r0, 0x11
- beq _0804B8FA
- cmp r0, 0x2
- bne _0804B920
-_0804B8FA:
- ldrb r1, [r3]
- ldrh r2, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
- b _0804B976
- .pool
-_0804B920:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804B934
- adds r0, r2, 0
- b _0804B972
- .pool
-_0804B934:
- adds r0, r5, 0
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0804B960
- ldr r1, =gStatuses3
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- beq _0804B960
- adds r0, r2, 0
- b _0804B972
- .pool
-_0804B960:
- ldrb r1, [r3]
- ldrh r2, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldrb r0, [r7]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r6]
-_0804B972:
- adds r0, 0xA
- str r0, [r6]
-_0804B976:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk46_playanimation2
-
- thumb_func_start atk47_setgraphicalstatchangevalues
-atk47_setgraphicalstatchangevalues: @ 804B97C
- push {r4,lr}
- movs r3, 0
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1A]
- movs r2, 0xF0
- ands r2, r0
- adds r4, r1, 0
- cmp r2, 0x20
- beq _0804B9AA
- cmp r2, 0x20
- bgt _0804B99C
- cmp r2, 0x10
- beq _0804B9A6
- b _0804B9B4
- .pool
-_0804B99C:
- cmp r2, 0x90
- beq _0804B9AE
- cmp r2, 0xA0
- beq _0804B9B2
- b _0804B9B4
-_0804B9A6:
- movs r3, 0xF
- b _0804B9B4
-_0804B9AA:
- movs r3, 0x27
- b _0804B9B4
-_0804B9AE:
- movs r3, 0x16
- b _0804B9B4
-_0804B9B2:
- movs r3, 0x2E
-_0804B9B4:
- ldrb r1, [r4, 0x1A]
- movs r0, 0xF
- ands r0, r1
- adds r0, r3, r0
- subs r0, 0x1
- movs r1, 0
- strb r0, [r4, 0x10]
- strb r1, [r4, 0x11]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk47_setgraphicalstatchangevalues
-
- thumb_func_start atk48_playstatchangeanimation
-atk48_playstatchangeanimation: @ 804B9D8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r7, 0
- movs r0, 0
- mov r8, r0
- movs r3, 0
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- str r3, [sp]
- bl get_battle_side_of_something
- ldr r2, =gActiveBank
- strb r0, [r2]
- ldr r0, [r5]
- ldrb r4, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- movs r0, 0x1
- ands r0, r1
- ldr r3, [sp]
- cmp r0, 0
- beq _0804BAEC
- movs r0, 0x2
- ands r0, r1
- movs r1, 0x15
- cmp r0, 0
- beq _0804BA18
- movs r1, 0x2D
-_0804BA18:
- cmp r4, 0
- beq _0804BAC0
- movs r0, 0x1
- mov r10, r0
- ldr r0, =gBattleMons + 0x18
- mov r9, r0
- lsls r5, r1, 16
-_0804BA26:
- adds r0, r4, 0
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- beq _0804BAB2
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r1, [r0, 0x3]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804BA58
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7, r0
- b _0804BAA0
- .pool
-_0804BA58:
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- str r3, [sp]
- bl GetBankIdentity
- mov r1, r10
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSideTimers
- adds r0, r1
- ldrb r0, [r0, 0x4]
- ldr r3, [sp]
- cmp r0, 0
- bne _0804BAB2
- ldr r0, =gBattleMons
- ldrb r2, [r6]
- movs r1, 0x58
- muls r2, r1
- adds r0, r2, r0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1D
- beq _0804BAB2
- cmp r0, 0x49
- beq _0804BAB2
- cmp r0, 0x33
- bne _0804BA96
- cmp r7, 0x6
- beq _0804BAB2
-_0804BA96:
- cmp r0, 0x34
- bne _0804BA9E
- cmp r7, 0x1
- beq _0804BAB2
-_0804BA9E:
- adds r0, r7, r2
-_0804BAA0:
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _0804BAB2
- lsrs r0, r5, 16
- mov r8, r0
- adds r3, 0x1
-_0804BAB2:
- lsrs r4, 1
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- adds r7, 0x1
- cmp r4, 0
- bne _0804BA26
-_0804BAC0:
- ldr r0, =gBattlescriptCurrInstr
- mov r9, r0
- cmp r3, 0x1
- ble _0804BB4E
- ldr r0, [r0]
- ldrb r1, [r0, 0x3]
- movs r0, 0x2
- ands r0, r1
- movs r1, 0x39
- mov r8, r1
- cmp r0, 0
- beq _0804BB4E
- movs r0, 0x3A
- b _0804BB4C
- .pool
-_0804BAEC:
- movs r0, 0x2
- ands r0, r1
- movs r1, 0xE
- cmp r0, 0
- beq _0804BAF8
- movs r1, 0x26
-_0804BAF8:
- mov r9, r5
- cmp r4, 0
- beq _0804BB34
- ldr r6, =gBattleMons + 0x18
- adds r5, r2, 0
- lsls r2, r1, 16
-_0804BB04:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0804BB26
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r0, r7, r0
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xB
- bgt _0804BB26
- lsrs r1, r2, 16
- mov r8, r1
- adds r3, 0x1
-_0804BB26:
- lsrs r4, 1
- movs r0, 0x80
- lsls r0, 9
- adds r2, r0
- adds r7, 0x1
- cmp r4, 0
- bne _0804BB04
-_0804BB34:
- cmp r3, 0x1
- ble _0804BB4E
- mov r1, r9
- ldr r0, [r1]
- ldrb r1, [r0, 0x3]
- movs r0, 0x2
- ands r0, r1
- movs r1, 0x37
- mov r8, r1
- cmp r0, 0
- beq _0804BB4E
- movs r0, 0x38
-_0804BB4C:
- mov r8, r0
-_0804BB4E:
- mov r1, r9
- ldr r2, [r1]
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0804BB6C
- cmp r3, 0x1
- bgt _0804BB6C
- adds r0, r2, 0x4
- mov r1, r9
- b _0804BBBA
- .pool
-_0804BB6C:
- cmp r3, 0
- beq _0804BBB4
- ldr r4, =gBattleScripting
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- bne _0804BBB4
- movs r0, 0
- movs r1, 0x1
- mov r2, r8
- str r3, [sp]
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r1, [r0, 0x3]
- movs r0, 0x4
- ands r0, r1
- ldr r3, [sp]
- cmp r0, 0
- beq _0804BBA4
- cmp r3, 0x1
- ble _0804BBA4
- movs r0, 0x1
- strb r0, [r4, 0x1B]
-_0804BBA4:
- ldr r1, =gBattlescriptCurrInstr
- b _0804BBB6
- .pool
-_0804BBB4:
- mov r1, r9
-_0804BBB6:
- ldr r0, [r1]
- adds r0, 0x4
-_0804BBBA:
- str r0, [r1]
- 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 atk48_playstatchangeanimation
-
- thumb_func_start atk49_moveendturn
-atk49_moveendturn: @ 804BBCC
- 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 r2, =gUnknown_020241EC
- ldrh r1, [r2]
- ldr r0, =0x0000ffff
- movs r3, 0
- str r3, [sp, 0x18]
- cmp r1, r0
- beq _0804BBEE
- ldrh r2, [r2]
- str r2, [sp, 0x18]
-_0804BBEE:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r4, [r0, 0x1]
- str r4, [sp, 0x10]
- ldrb r0, [r0, 0x2]
- str r0, [sp, 0x14]
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0, r1
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _0804BC34
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x7]
- b _0804BC3E
- .pool
-_0804BC34:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
-_0804BC3E:
- str r0, [sp, 0x8]
- ldr r1, =gBattleStruct
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, 0xC8
- ldr r1, [r1]
- adds r0, r1, r0
- str r0, [sp, 0xC]
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- beq _0804BCF0
- movs r5, 0x3F
- ands r5, r0
- str r5, [sp, 0x4]
- b _0804BD02
- .pool
-_0804BC68:
- ldr r4, =gActiveBank
- strb r2, [r4]
- movs r0, 0
- movs r1, 0x1
- bl dp01_build_cmdbuf_x33_a_33_33
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804C15A
- .pool
-_0804BC80:
- ldr r4, =gActiveBank
- strb r2, [r4]
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x33_a_33_33
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r5
- ldr r0, [r1]
- ldr r2, =0xfffbff3f
- ands r0, r2
- str r0, [r1]
- b _0804C15A
- .pool
-_0804BCAC:
- strb r2, [r7]
- ldr r0, [r5]
- orrs r0, r6
- str r0, [r5]
- ldr r0, =gBattleScripting
- strb r4, [r0, 0x14]
- bl sub_804AF30
- ldr r2, =gUnknown_082D86A8
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- bl b_movescr_stack_push
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB87D
- bl _0804C5B8
- .pool
-_0804BCF0:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- str r0, [sp, 0x4]
-_0804BD02:
- ldr r1, =gBattleScripting
- mov r12, r1
- b _0804BD1E
- .pool
-_0804BD14:
- mov r2, r10
- cmp r2, 0
- beq _0804BD1E
- bl _0804C5A4
-_0804BD1E:
- mov r3, r12
- ldrb r0, [r3, 0x14]
- cmp r0, 0x11
- bls _0804BD2A
- bl _0804C570
-_0804BD2A:
- lsls r0, 2
- ldr r1, =_0804BD38
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804BD38:
- .4byte _0804BD80
- .4byte _0804BE5C
- .4byte _0804BF18
- .4byte _0804BF3C
- .4byte _0804BF54
- .4byte _0804BF7C
- .4byte _0804BFA0
- .4byte _0804C048
- .4byte _0804C0BE
- .4byte _0804C0F4
- .4byte _0804C194
- .4byte _0804C088
- .4byte _0804C0A8
- .4byte _0804C1D8
- .4byte _0804C21C
- .4byte _0804C3FC
- .4byte _0804C4E4
- .4byte _0804C570
-_0804BD80:
- ldr r6, =gBattleMons
- ldr r5, =gBankTarget
- ldrb r3, [r5]
- movs r7, 0x58
- adds r2, r3, 0
- muls r2, r7
- adds r0, r6, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 16
- ands r0, r1
- cmp r0, 0
- bne _0804BDA0
- b _0804C184
-_0804BDA0:
- adds r0, r2, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _0804BDAA
- b _0804C184
-_0804BDAA:
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- cmp r1, r3
- bne _0804BDB4
- b _0804C184
-_0804BDB4:
- adds r0, r1, 0
- bl GetBankSide
- adds r4, r0, 0
- ldrb r0, [r5]
- bl GetBankSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0804BDCC
- b _0804C184
-_0804BDCC:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _0804BDDA
- b _0804C184
-_0804BDDA:
- ldr r2, =gSpecialStatuses
- ldrb r3, [r5]
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 2
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _0804BDFE
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _0804BDFE
- b _0804C184
-_0804BDFE:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0804BE14
- b _0804C184
-_0804BE14:
- adds r0, r3, 0
- muls r0, r7
- adds r1, r0, r6
- ldrb r2, [r1, 0x19]
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0804BE26
- b _0804C184
-_0804BE26:
- adds r0, r2, 0x1
- strb r0, [r1, 0x19]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAE0D
- str r0, [r1]
- b _0804C0B8
- .pool
-_0804BE5C:
- ldr r4, =gBattleMons
- ldr r6, =gBankTarget
- ldrb r2, [r6]
- movs r5, 0x58
- mov r12, r5
- mov r1, r12
- muls r1, r2
- adds r7, r4, 0
- adds r7, 0x4C
- adds r5, r1, r7
- ldr r3, [r5]
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- bne _0804BE7C
- b _0804C184
-_0804BE7C:
- adds r0, r1, r4
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _0804BE86
- b _0804C184
-_0804BE86:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- cmp r0, r2
- bne _0804BE90
- b _0804C184
-_0804BE90:
- ldr r0, =gSpecialStatuses
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r0, 0xC
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0
- bne _0804BEA4
- b _0804C184
-_0804BEA4:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _0804BEB2
- b _0804C184
-_0804BEB2:
- ldr r0, [sp, 0x4]
- cmp r0, 0xA
- beq _0804BEBA
- b _0804C184
-_0804BEBA:
- movs r0, 0x21
- negs r0, r0
- ands r3, r0
- str r3, [r5]
- ldr r4, =gActiveBank
- ldrb r0, [r6]
- strb r0, [r4]
- ldrb r0, [r6]
- mov r1, r12
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB282
- str r0, [r1]
- movs r2, 0x1
- mov r10, r2
- b _0804C184
- .pool
-_0804BF18:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _0804BF32
- b _0804C184
-_0804BF32:
- movs r3, 0x1
- mov r10, r3
- b _0804C184
- .pool
-_0804BF3C:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- b _0804C0B2
- .pool
-_0804BF54:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _0804BF6C
- b _0804C184
-_0804BF6C:
- movs r5, 0x1
- mov r10, r5
- ldr r0, =gBattleScripting
- mov r12, r0
- b _0804C570
- .pool
-_0804BF7C:
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _0804BF96
- b _0804C184
-_0804BF96:
- movs r1, 0x1
- mov r10, r1
- b _0804C184
- .pool
-_0804BFA0:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _0804BFE4
- ldr r2, [sp, 0x8]
- cmp r2, 0x1D
- bne _0804BFE4
- ldr r0, =gUnknown_020241EC
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, 0xA5
- beq _0804BFE4
- ldr r4, [sp, 0xC]
- ldrh r1, [r4]
- cmp r1, 0
- beq _0804BFCC
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _0804BFE4
-_0804BFCC:
- cmp r2, 0xE2
- bne _0804BFDE
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0804BFDE
- b _0804C4B6
-_0804BFDE:
- ldrh r0, [r3]
- ldr r1, [sp, 0xC]
- strh r0, [r1]
-_0804BFE4:
- movs r4, 0
- ldr r2, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r2, 0xC
- adds r0, r2
- ldrh r0, [r0]
- ldr r5, [sp, 0xC]
- ldrh r1, [r5]
- mov r9, r3
- cmp r0, r1
- beq _0804C01C
- mov r6, r9
- movs r3, 0x58
- adds r5, r1, 0
-_0804C006:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0804C01C
- lsls r0, r4, 1
- ldrb r1, [r6]
- muls r1, r3
- adds r0, r1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r5
- bne _0804C006
-_0804C01C:
- cmp r4, 0x4
- bne _0804C026
- movs r0, 0
- ldr r1, [sp, 0xC]
- strh r0, [r1]
-_0804C026:
- mov r2, r12
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- b _0804C570
- .pool
-_0804C048:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r3, [r0]
- cmp r4, r3
- blt _0804C054
- b _0804C202
-_0804C054:
- ldr r7, =gBattleStruct
- movs r6, 0
- movs r3, 0xD0
- adds r5, r0, 0
- ldr r2, =gBattleMons
-_0804C05E:
- ldr r0, [r7]
- adds r0, r3
- ldrh r1, [r0]
- cmp r1, 0
- beq _0804C06C
- strh r1, [r2, 0x2E]
- strh r6, [r0]
-_0804C06C:
- adds r3, 0x2
- adds r2, 0x58
- adds r4, 0x1
- ldrb r0, [r5]
- cmp r4, r0
- blt _0804C05E
- b _0804C202
- .pool
-_0804C088:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl berry_effects_maybe
- lsls r0, 24
- cmp r0, 0
- beq _0804C184
- movs r2, 0x1
- mov r10, r2
- ldr r3, =gBattleScripting
- mov r12, r3
- b _0804C570
- .pool
-_0804C0A8:
- movs r0, 0x4
- movs r1, 0
- movs r2, 0
- bl berry_effects_maybe
-_0804C0B2:
- lsls r0, 24
- cmp r0, 0
- beq _0804C184
-_0804C0B8:
- movs r4, 0x1
- mov r10, r4
- b _0804C184
-_0804C0BE:
- ldr r1, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _0804C0D4
- b _0804C4B6
-_0804C0D4:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804C0E2
- b _0804BC68
-_0804C0E2:
- b _0804C4B6
- .pool
-_0804C0F4:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _0804C120
- ldr r1, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- beq _0804C120
- adds r0, r2, 0
- bl sub_803F90C
- lsls r0, 24
- cmp r0, 0
- beq _0804C184
-_0804C120:
- ldr r4, =gActiveBank
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x33_a_33_33
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, =gStatuses3
- ldrb r2, [r5]
- lsls r2, 2
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xfffbff3f
- ands r0, r1
- str r0, [r2]
- ldr r2, =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0804C15A:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
- b _0804C5BA
- .pool
-_0804C184:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
- mov r12, r1
- b _0804C570
- .pool
-_0804C194:
- ldr r0, =gSpecialStatuses
- ldr r6, =gBankTarget
- ldrb r2, [r6]
- lsls r3, r2, 2
- adds r1, r3, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 29
- cmp r0, 0
- blt _0804C202
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0804C202
- ldr r5, =gStatuses3
- adds r0, r3, r5
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _0804C1C2
- b _0804BC80
-_0804C1C2:
- b _0804C202
- .pool
-_0804C1D8:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r2, [r0]
- cmp r4, r2
- bge _0804C202
- ldr r2, =gDisableStructs
- ldr r5, =0xfeffffff
- adds r3, r0, 0
- ldr r1, =gBattleMons + 0x50
-_0804C1EA:
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- bne _0804C1F6
- ldr r0, [r1]
- ands r0, r5
- str r0, [r1]
-_0804C1F6:
- adds r2, 0x1C
- adds r1, 0x58
- adds r4, 0x1
- ldrb r0, [r3]
- cmp r4, r0
- blt _0804C1EA
-_0804C202:
- mov r1, r12
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
- b _0804C570
- .pool
-_0804C21C:
- ldr r1, =gHitMarker
- ldr r3, [r1]
- movs r0, 0x80
- lsls r0, 5
- ands r0, r3
- ldr r2, =gBankAttacker
- mov r9, r2
- adds r5, r1, 0
- cmp r0, 0
- beq _0804C246
- ldr r0, =gActiveBank
- ldrb r2, [r2]
- strb r2, [r0]
- ldr r1, =gBankTarget
- ldrb r0, [r1]
- mov r4, r9
- strb r0, [r4]
- strb r2, [r1]
- ldr r0, =0xffffefff
- ands r3, r0
- str r3, [r5]
-_0804C246:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- beq _0804C262
- ldr r0, =gUnknown_02024240
- mov r2, r9
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- ldr r0, =gUnknown_020241EC
- ldrh r0, [r0]
- strh r0, [r1]
-_0804C262:
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- mov r3, r9
- ldrb r4, [r3]
- lsls r0, r4, 2
- adds r0, r2
- ldr r3, [r0]
- ands r1, r3
- adds r6, r2, 0
- cmp r1, 0
- beq _0804C27C
- b _0804C3E8
-_0804C27C:
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r1, 0x91
- ldrb r1, [r1]
- ands r1, r3
- adds r7, r0, 0
- cmp r1, 0
- beq _0804C28E
- b _0804C3E8
-_0804C28E:
- ldr r0, =gBattleMoves
- ldr r2, [sp, 0x18]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r1, [r1]
- mov r8, r0
- cmp r1, 0x7F
- bne _0804C2A4
- b _0804C3E8
-_0804C2A4:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _0804C308
- ldr r0, =gLastUsedMovesByBanks
- lsls r1, r4, 1
- adds r1, r0
- ldr r0, =gUnknown_020241EC
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, =gUnknown_02024260
- mov r3, r9
- ldrb r1, [r3]
- lsls r1, 1
- adds r1, r0
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- strh r0, [r1]
- b _0804C322
- .pool
-_0804C308:
- ldr r1, =gLastUsedMovesByBanks
- lsls r0, r4, 1
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0]
- ldr r1, =gUnknown_02024260
- mov r4, r9
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0]
-_0804C322:
- ldr r2, =gBankTarget
- ldrb r3, [r2]
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- lsls r0, 28
- ldr r1, [r5]
- ands r1, r0
- cmp r1, 0
- bne _0804C340
- ldr r0, =gUnknown_02024270
- adds r0, r3, r0
- mov r3, r9
- ldrb r1, [r3]
- strb r1, [r0]
-_0804C340:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _0804C3DC
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _0804C3DC
- ldr r0, =gUnknown_020241EC
- ldrh r3, [r0]
- ldr r0, =0x0000ffff
- cmp r3, r0
- bne _0804C390
- ldr r1, =gUnknown_02024250
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- strh r3, [r0]
- b _0804C3E8
- .pool
-_0804C390:
- ldr r0, =gUnknown_02024250
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- ldr r4, =gCurrentMove
- ldrh r0, [r4]
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r3, [r0, 0x13]
- cmp r3, 0
- beq _0804C3C0
- ldr r0, =gUnknown_02024258
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- movs r0, 0x3F
- ands r0, r3
- b _0804C3E6
- .pool
-_0804C3C0:
- ldr r0, =gUnknown_02024258
- ldrb r2, [r2]
- lsls r2, 1
- adds r2, r0
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x2]
- strh r0, [r2]
- b _0804C3E8
- .pool
-_0804C3DC:
- ldr r0, =gUnknown_02024250
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- ldr r0, =0x0000ffff
-_0804C3E6:
- strh r0, [r1]
-_0804C3E8:
- mov r4, r12
- ldrb r0, [r4, 0x14]
- adds r0, 0x1
- strb r0, [r4, 0x14]
- b _0804C570
- .pool
-_0804C3FC:
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r7, =gBitTable
- ldr r2, =gBankAttacker
- ldrb r3, [r2]
- lsls r0, r3, 2
- adds r0, r7
- ldr r4, [r0]
- ands r1, r4
- mov r9, r2
- cmp r1, 0
- bne _0804C4B6
- ldr r6, =gBattleStruct
- ldr r5, [r6]
- adds r0, r5, 0
- adds r0, 0x91
- ldrb r0, [r0]
- ands r0, r4
- cmp r0, 0
- bne _0804C4B6
- ldr r1, =gBattleMoves
- ldr r2, [sp, 0x18]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0804C4B6
- ldr r0, =gHitMarker
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 18
- ands r0, r1
- cmp r0, 0
- beq _0804C4B6
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- cmp r3, r0
- beq _0804C4B6
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r7
- ldr r0, [r0]
- lsls r0, 28
- ands r1, r0
- cmp r1, 0
- bne _0804C4B6
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _0804C4B6
- lsls r1, r2, 1
- adds r1, r5
- adds r1, 0x98
- ldr r3, =gUnknown_020241EC
- ldrh r0, [r3]
- strb r0, [r1]
- ldrb r1, [r4]
- ldr r0, [r6]
- lsls r1, 1
- adds r1, r0
- adds r1, 0x99
- ldrh r0, [r3]
- lsrs r0, 8
- strb r0, [r1]
- ldrb r0, [r4]
- mov r2, r9
- ldrb r1, [r2]
- ldr r2, [r6]
- lsls r0, 3
- lsls r1, 1
- adds r0, r1
- adds r0, r2
- adds r0, 0xE0
- ldrh r1, [r3]
- strb r1, [r0]
- ldrb r1, [r4]
- mov r4, r9
- ldrb r0, [r4]
- ldr r2, [r6]
- lsls r1, 3
- lsls r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0xE1
- ldrh r0, [r3]
- lsrs r0, 8
- strb r0, [r1]
-_0804C4B6:
- mov r5, r12
- ldrb r0, [r5, 0x14]
- adds r0, 0x1
- strb r0, [r5, 0x14]
- b _0804C570
- .pool
-_0804C4E4:
- ldr r5, =gHitMarker
- ldr r2, [r5]
- movs r0, 0x80
- lsls r0, 12
- ands r0, r2
- cmp r0, 0
- bne _0804C568
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804C568
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- cmp r0, 0
- blt _0804C568
- ldr r0, =gBattleMoves
- mov r9, r0
- ldr r1, =gCurrentMove
- mov r8, r1
- ldrh r0, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- add r1, r9
- ldrb r0, [r1, 0x6]
- cmp r0, 0x8
- bne _0804C568
- movs r6, 0x80
- lsls r6, 2
- adds r4, r6, 0
- ands r4, r2
- cmp r4, 0
- bne _0804C568
- ldr r7, =gBankTarget
- ldrb r0, [r7]
- bl GetBankIdentity
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _0804C55E
- bl _0804BCAC
-_0804C55E:
- ldr r0, [r5]
- orrs r0, r6
- str r0, [r5]
- ldr r2, =gBattleScripting
- mov r12, r2
-_0804C568:
- mov r3, r12
- ldrb r0, [r3, 0x14]
- adds r0, 0x1
- strb r0, [r3, 0x14]
-_0804C570:
- ldr r4, [sp, 0x10]
- cmp r4, 0x1
- bne _0804C582
- mov r5, r10
- cmp r5, 0
- bne _0804C582
- movs r0, 0x11
- mov r1, r12
- strb r0, [r1, 0x14]
-_0804C582:
- ldr r2, [sp, 0x10]
- cmp r2, 0x2
- bne _0804C598
- ldr r4, [sp, 0x14]
- mov r3, r12
- ldrb r3, [r3, 0x14]
- cmp r4, r3
- bne _0804C598
- movs r0, 0x11
- mov r4, r12
- strb r0, [r4, 0x14]
-_0804C598:
- mov r5, r12
- ldrb r0, [r5, 0x14]
- cmp r0, 0x11
- beq _0804C5A4
- bl _0804BD14
-_0804C5A4:
- mov r1, r12
- ldrb r0, [r1, 0x14]
- cmp r0, 0x11
- bne _0804C5BA
- mov r2, r10
- cmp r2, 0
- bne _0804C5BA
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x3
-_0804C5B8:
- str r0, [r1]
-_0804C5BA:
- 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 atk49_moveendturn
-
- thumb_func_start atk4A_typecalc2
-atk4A_typecalc2: @ 804C5F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- movs r5, 0
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- mov r8, r0
- ldr r2, =gBattleMons
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- mov r12, r2
- adds r7, r3, 0
- cmp r0, 0x1A
- bne _0804C688
- mov r1, r8
- cmp r1, 0x4
- bne _0804C688
- ldr r3, =gLastUsedAbility
- strb r0, [r3]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x9
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gUnknown_02024250
- ldrb r0, [r7]
- lsls r0, 1
- adds r0, r1
- strh r4, [r0]
- ldr r0, =gBattleCommunication
- mov r2, r8
- strb r2, [r0, 0x6]
- ldrb r0, [r7]
- ldrb r1, [r3]
- bl RecordAbilityBattle
- b _0804C76A
- .pool
-_0804C678:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
- b _0804C76A
- .pool
-_0804C688:
- ldr r1, =gUnknown_0831ACE8
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r6, r1, 0
- b _0804C74A
- .pool
-_0804C698:
- adds r0, r5, r6
- ldrb r0, [r0]
- cmp r0, r8
- bne _0804C744
- adds r2, r5, 0x1
- adds r3, r2, r6
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- add r0, r12
- adds r0, 0x21
- ldrb r1, [r3]
- adds r3, r2, 0
- ldrb r0, [r0]
- cmp r1, r0
- bne _0804C6D6
- adds r0, r5, 0x2
- adds r0, r6
- ldrb r1, [r0]
- cmp r1, 0
- beq _0804C678
- cmp r1, 0x5
- bne _0804C6CA
- movs r0, 0x4
- orrs r4, r0
-_0804C6CA:
- cmp r1, 0x14
- bne _0804C6D6
- movs r0, 0x2
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0804C6D6:
- adds r2, r3, r6
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- add r0, r12
- adds r1, r0, 0
- adds r1, 0x22
- ldrb r2, [r2]
- ldrb r1, [r1]
- cmp r2, r1
- bne _0804C744
- adds r0, 0x21
- ldrb r1, [r0]
- cmp r1, r2
- beq _0804C6FE
- adds r0, r5, 0x2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804C678
-_0804C6FE:
- cmp r1, r2
- beq _0804C714
- adds r0, r5, 0x2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _0804C714
- movs r0, 0x4
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0804C714:
- adds r2, r3, r6
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- add r0, r12
- adds r1, r0, 0
- adds r1, 0x22
- ldrb r2, [r2]
- ldrb r1, [r1]
- cmp r2, r1
- bne _0804C744
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, r2
- beq _0804C744
- adds r0, r5, 0x2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x14
- bne _0804C744
- movs r0, 0x2
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0804C744:
- adds r5, 0x3
- adds r0, r5, r6
- ldrb r0, [r0]
-_0804C74A:
- cmp r0, 0xFF
- beq _0804C76A
- cmp r0, 0xFE
- bne _0804C698
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- mov r1, r12
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 22
- ands r0, r1
- cmp r0, 0
- beq _0804C744
-_0804C76A:
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- mov r8, r0
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r6, [r0]
- cmp r6, 0x19
- bne _0804C7E6
- movs r5, 0x29
- ands r5, r4
- cmp r5, 0
- bne _0804C7E6
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r7, =gCurrentMove
- ldrh r1, [r7]
- bl move_weather_interaction
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bne _0804C7E6
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0804C7AC
- movs r0, 0x6
- ands r4, r0
- cmp r4, 0x6
- bne _0804C7E6
-_0804C7AC:
- ldr r2, =gBattleMoves
- ldrh r1, [r7]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _0804C7E6
- ldr r3, =gLastUsedAbility
- strb r6, [r3]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gUnknown_02024250
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- strh r5, [r0]
- ldr r1, =gBattleCommunication
- movs r0, 0x3
- strb r0, [r1, 0x6]
- ldrb r0, [r2]
- ldrb r1, [r3]
- bl RecordAbilityBattle
-_0804C7E6:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804C804
- ldr r2, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 4
- adds r1, r2
- ldrb r0, [r1, 0x1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1, 0x1]
-_0804C804:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk4A_typecalc2
-
- thumb_func_start atk4B_return_atk_to_ball
-atk4B_return_atk_to_ball: @ 804C844
- push {r4,lr}
- ldr r4, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r4]
- ldr r2, =gHitMarker
- ldr r1, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _0804C872
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x06_a
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804C872:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk4B_return_atk_to_ball
-
- thumb_func_start atk4C_copy_poke_data
-atk4C_copy_poke_data: @ 804C894
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804C8E4
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r3, =gBattlePartyID
- ldrb r0, [r4]
- lsls r2, r0, 1
- adds r2, r3
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- adds r0, 0x5C
- ldrb r0, [r0]
- strh r0, [r2]
- ldr r1, =gBitTable
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x00_a_b_0
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
-_0804C8E4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk4C_copy_poke_data
-
- thumb_func_start atk4D_switch_data_update
-atk4D_switch_data_update: @ 804C904
- push {r4-r7,lr}
- sub sp, 0x58
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804C912
- b _0804CAA4
-_0804C912:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r6, =gBattleMons
- ldrb r0, [r4]
- movs r5, 0x58
- adds r1, r0, 0
- muls r1, r5
- adds r1, r6
- mov r0, sp
- movs r2, 0x58
- bl memcpy
- ldrb r0, [r4]
- muls r0, r5
- adds r3, r0, r6
- movs r2, 0
- ldr r5, =gBattleBufferB
-_0804C93E:
- adds r0, r3, r2
- ldrb r1, [r4]
- lsls r1, 9
- adds r1, 0x4
- adds r1, r2, r1
- adds r1, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x57
- bls _0804C93E
- ldr r4, =gBattleMons
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- movs r7, 0x58
- adds r2, r0, 0
- muls r2, r7
- adds r2, r4
- ldr r3, =gBaseStats
- ldrh r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x6]
- adds r2, 0x21
- strb r0, [r2]
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r7
- adds r1, r4
- ldrh r2, [r1]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x7]
- adds r1, 0x22
- strb r0, [r1]
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r7
- adds r1, r4
- ldrh r0, [r1]
- ldrb r1, [r1, 0x17]
- lsrs r1, 7
- bl GetAbilityBySpecies
- ldrb r1, [r6]
- muls r1, r7
- adds r1, r4
- adds r1, 0x20
- strb r0, [r1]
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_020243D0
- adds r0, 0x29
- adds r0, r2, r0
- ldrb r1, [r0]
- ldr r3, =gBitTable
- ldr r2, =gBattlePartyID
- ldrb r5, [r6]
- lsls r0, r5, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ands r1, r0
- mov r12, r4
- cmp r1, 0
- beq _0804C9DE
- adds r0, r5, 0
- muls r0, r7
- add r0, r12
- movs r1, 0
- strh r1, [r0, 0x2E]
-_0804C9DE:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x7F
- bne _0804CA26
- movs r2, 0
- adds r4, r6, 0
- movs r6, 0x58
- mov r5, r12
- adds r5, 0x18
- add r3, sp, 0x18
-_0804C9FE:
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r2, r1
- adds r1, r5
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x7
- ble _0804C9FE
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- mov r1, r12
- adds r1, 0x50
- adds r0, r1
- ldr r1, [sp, 0x50]
- str r1, [r0]
-_0804CA26:
- bl sub_803A284
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0804CA78
- ldr r4, =gBattleMons
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- movs r0, 0x58
- adds r2, r3, 0
- muls r2, r0
- adds r1, r2, r4
- ldrh r0, [r1, 0x2C]
- lsrs r0, 1
- ldrh r1, [r1, 0x28]
- cmp r0, r1
- bcc _0804CA78
- cmp r1, 0
- beq _0804CA78
- adds r0, r4, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0804CA78
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- adds r2, 0x92
- ldr r1, =gBitTable
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
-_0804CA78:
- ldr r0, =gBattleScripting
- ldr r3, =gActiveBank
- ldrb r2, [r3]
- strb r2, [r0, 0x17]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x7
- strb r0, [r1, 0x1]
- strb r2, [r1, 0x2]
- ldr r2, =gBattlePartyID
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_0804CAA4:
- add sp, 0x58
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk4D_switch_data_update
-
- thumb_func_start atk4E_switchin_anim
-atk4E_switchin_anim: @ 804CAE8
- push {r4-r6,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804CB86
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r6, =gActiveBank
- strb r0, [r6]
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0804CB3E
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x063f0902
- ands r0, r1
- cmp r0, 0
- bne _0804CB3E
- ldr r4, =gBattleMons
- ldrb r0, [r6]
- movs r5, 0x58
- muls r0, r5
- adds r0, r4
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r6]
- muls r1, r5
- adds r4, 0x48
- adds r1, r4
- ldr r2, [r1]
- movs r1, 0x2
- bl HandleSetPokedexFlag
-_0804CB3E:
- ldr r2, =gAbsentBankFlags
- ldr r1, =gBitTable
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrb r1, [r0]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r2, [r0, 0x2]
- movs r0, 0
- bl dp01_build_cmdbuf_x05_a_b_c
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r4]
- adds r0, 0x3
- str r0, [r4]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0804CB86
- bl sub_81A56B4
-_0804CB86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk4E_switchin_anim
-
- thumb_func_start atk4F_jump_if_cannot_switch
-atk4F_jump_if_cannot_switch: @ 804CBB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x1]
- movs r0, 0x7F
- ands r0, r1
- bl get_battle_side_of_something
- ldr r3, =gActiveBank
- strb r0, [r3]
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804CC28
- ldr r1, =gBattleMons
- ldrb r3, [r3]
- movs r0, 0x58
- muls r0, r3
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x0400e000
- ands r0, r1
- cmp r0, 0
- bne _0804CBFC
- ldr r1, =gStatuses3
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- beq _0804CC28
-_0804CBFC:
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _0804CF00
- .pool
-_0804CC28:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 15
- ands r0, r1
- cmp r0, 0
- beq _0804CCC0
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gPlayerParty
- mov r8, r1
- cmp r0, 0x1
- bne _0804CC4E
- ldr r0, =gEnemyParty
- mov r8, r0
-_0804CC4E:
- movs r4, 0
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804CC5C
- movs r4, 0x3
-_0804CC5C:
- adds r6, r4, 0x3
- cmp r4, r6
- bge _0804CCA4
- ldr r7, =gBattlePartyID
-_0804CC64:
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804CC9E
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804CC9E
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804CC9E
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r4
- bne _0804CCA4
-_0804CC9E:
- adds r4, 0x1
- cmp r4, r6
- blt _0804CC64
-_0804CCA4:
- cmp r4, r6
- bne _0804CCAA
- b _0804CED0
-_0804CCAA:
- b _0804CEF8
- .pool
-_0804CCC0:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804CD8C
- movs r0, 0x80
- lsls r0, 16
- ands r1, r0
- cmp r1, 0
- beq _0804CD00
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0804CCEC
- ldr r0, =gPlayerParty
- b _0804CD16
- .pool
-_0804CCEC:
- ldr r1, =gEnemyParty
- mov r8, r1
- ldrb r0, [r5]
- movs r4, 0x3
- cmp r0, 0x1
- bne _0804CD32
- movs r4, 0
- b _0804CD32
- .pool
-_0804CD00:
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gPlayerParty
- mov r8, r1
- cmp r0, 0x1
- bne _0804CD18
- ldr r0, =gEnemyParty
-_0804CD16:
- mov r8, r0
-_0804CD18:
- movs r4, 0
- ldrb r0, [r5]
- bl sub_806D864
- lsls r0, 24
- lsrs r0, 24
- bl sub_806D82C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0804CD32
- movs r4, 0x3
-_0804CD32:
- adds r6, r4, 0x3
- cmp r4, r6
- bge _0804CCA4
- ldr r7, =gBattlePartyID
-_0804CD3A:
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804CD74
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804CD74
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804CD74
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r4
- bne _0804CCA4
-_0804CD74:
- adds r4, 0x1
- cmp r4, r6
- blt _0804CD3A
- b _0804CCA4
- .pool
-_0804CD8C:
- movs r0, 0x80
- lsls r0, 8
- ands r1, r0
- cmp r1, 0
- beq _0804CE10
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0804CE10
- ldr r0, =gEnemyParty
- mov r8, r0
- movs r4, 0
- ldrb r0, [r5]
- cmp r0, 0x3
- bne _0804CDB4
- movs r4, 0x3
-_0804CDB4:
- adds r6, r4, 0x3
- cmp r4, r6
- blt _0804CDBC
- b _0804CCA4
-_0804CDBC:
- ldr r7, =gBattlePartyID
-_0804CDBE:
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804CDFA
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804CDFA
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804CDFA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r4
- beq _0804CDFA
- b _0804CCA4
-_0804CDFA:
- adds r4, 0x1
- cmp r4, r6
- blt _0804CDBE
- b _0804CCA4
- .pool
-_0804CE10:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0804CE54
- movs r0, 0x1
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _0804CE48
- movs r0, 0x3
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r6, r0, 24
- b _0804CE4A
- .pool
-_0804CE48:
- adds r6, r7, 0
-_0804CE4A:
- ldr r0, =gEnemyParty
- mov r8, r0
- b _0804CE82
- .pool
-_0804CE54:
- movs r0, 0
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804CE7C
- movs r0, 0x2
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r6, r0, 24
- b _0804CE7E
- .pool
-_0804CE7C:
- adds r6, r7, 0
-_0804CE7E:
- ldr r1, =gPlayerParty
- mov r8, r1
-_0804CE82:
- movs r4, 0
-_0804CE84:
- movs r0, 0x64
- muls r0, r4
- mov r1, r8
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804CEC6
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804CEC6
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804CEC6
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _0804CEC6
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _0804CECC
-_0804CEC6:
- adds r4, 0x1
- cmp r4, 0x5
- ble _0804CE84
-_0804CECC:
- cmp r4, 0x6
- bne _0804CEF8
-_0804CED0:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0804CF00
- .pool
-_0804CEF8:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
-_0804CF00:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk4F_jump_if_cannot_switch
-
- thumb_func_start sub_804CF10
-sub_804CF10: @ 804CF10
- push {r4,r5,lr}
- sub sp, 0x4
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r4, =gBattleStruct
- ldr r1, [r4]
- adds r1, r0, r1
- adds r1, 0x58
- ldr r3, =gBattlePartyID
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r5]
- ldr r1, [r4]
- adds r0, r1
- adds r0, 0x5C
- movs r1, 0x6
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0x93
- ldr r3, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- ldrb r0, [r1]
- bics r0, r3
- strb r0, [r1]
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0x60
- ldr r0, [r4]
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_804CF10
-
- thumb_func_start atk50_openpartyscreen
-atk50_openpartyscreen: @ 804CF88
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r7, 0
- movs r0, 0
- mov r9, r0
- ldr r6, =gBattlescriptCurrInstr
- ldr r2, [r6]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- mov r8, r1
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0
- mov r12, r6
- cmp r0, 0x5
- beq _0804CFBE
- b _0804D464
-_0804CFBE:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x41
- ands r1, r0
- cmp r1, 0x1
- beq _0804D0B0
- ldr r1, =gActiveBank
- strb r7, [r1]
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r7, r0
- bcc _0804CFD8
- b _0804D450
-_0804CFD8:
- ldr r7, =gHitMarker
- ldr r6, =gBitTable
- adds r4, r1, 0
- ldr r2, =gAbsentBankFlags
- mov r8, r2
-_0804CFE2:
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r7]
- ands r0, r1
- cmp r0, 0
- beq _0804D088
- adds r0, r2, 0
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D054
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r7]
- bics r0, r1
- str r0, [r7]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804D098
- .pool
-_0804D054:
- ldr r5, =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D098
- movs r0, 0x6
- bl sub_804CF10
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0804D098
- .pool
-_0804D088:
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804D098:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0804CFE2
- b _0804D450
- .pool
-_0804D0B0:
- ands r0, r1
- cmp r0, 0
- bne _0804D0B8
- b _0804D450
-_0804D0B8:
- ldr r0, =gHitMarker
- mov r8, r0
- ldr r0, [r0]
- lsrs r5, r0, 28
- ldr r6, =gBitTable
- ldr r0, [r6]
- ands r0, r5
- cmp r0, 0
- beq _0804D170
- ldr r4, =gActiveBank
- strb r7, [r4]
- movs r0, 0
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D120
- ldr r2, =gAbsentBankFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- mov r2, r8
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x2A_2A_2A_2A
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804D170
- .pool
-_0804D120:
- ldr r6, =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D15C
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5E
- ldrb r0, [r0]
- bl sub_804CF10
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0804D170
- .pool
-_0804D15C:
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- movs r0, 0x1
- mov r9, r0
-_0804D170:
- ldr r6, =gBitTable
- ldr r0, [r6, 0x8]
- ands r0, r5
- cmp r0, 0
- beq _0804D22E
- ldr r0, [r6]
- ands r0, r5
- cmp r0, 0
- bne _0804D22E
- ldr r4, =gActiveBank
- movs r0, 0x2
- strb r0, [r4]
- movs r0, 0x2
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D1D8
- ldr r2, =gAbsentBankFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, =gHitMarker
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x2A_2A_2A_2A
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804D22E
- .pool
-_0804D1D8:
- ldr r6, =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D214
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5C
- ldrb r0, [r0]
- bl sub_804CF10
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0804D22E
- .pool
-_0804D214:
- movs r0, 0x1
- mov r1, r9
- ands r0, r1
- cmp r0, 0
- bne _0804D22E
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804D22E:
- ldr r6, =gBitTable
- ldr r0, [r6, 0x4]
- ands r0, r5
- cmp r0, 0
- beq _0804D2E4
- ldr r4, =gActiveBank
- movs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D290
- ldr r2, =gAbsentBankFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, =gHitMarker
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x2A_2A_2A_2A
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804D2E4
- .pool
-_0804D290:
- ldr r6, =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D2CC
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5F
- ldrb r0, [r0]
- bl sub_804CF10
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0804D2E4
- .pool
-_0804D2CC:
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- movs r0, 0x2
- mov r2, r9
- orrs r2, r0
- mov r9, r2
-_0804D2E4:
- ldr r6, =gBitTable
- ldr r0, [r6, 0xC]
- ands r0, r5
- cmp r0, 0
- beq _0804D3A2
- ldr r0, [r6, 0x4]
- ands r0, r5
- cmp r0, 0
- bne _0804D3A2
- ldr r4, =gActiveBank
- movs r0, 0x3
- strb r0, [r4]
- movs r0, 0x3
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D34C
- ldr r2, =gAbsentBankFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, =gHitMarker
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x2A_2A_2A_2A
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804D3A2
- .pool
-_0804D34C:
- ldr r6, =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D388
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5D
- ldrb r0, [r0]
- bl sub_804CF10
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0804D3A2
- .pool
-_0804D388:
- movs r0, 0x2
- mov r1, r9
- ands r1, r0
- cmp r1, 0
- bne _0804D3A2
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804D3A2:
- ldr r1, =gSpecialStatuses
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D3FA
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- blt _0804D3FA
- cmp r5, 0
- beq _0804D3FA
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r0, =gBitTable
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0804D3E4
- ldr r1, =gActiveBank
- movs r0, 0x2
- strb r0, [r1]
- b _0804D3E8
- .pool
-_0804D3E4:
- ldr r0, =gActiveBank
- strb r1, [r0]
-_0804D3E8:
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804D3FA:
- ldr r1, =gSpecialStatuses
- ldrb r0, [r1, 0x14]
- lsls r0, 25
- cmp r0, 0
- blt _0804D450
- adds r0, r1, 0
- adds r0, 0x3C
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- blt _0804D450
- cmp r5, 0
- beq _0804D450
- ldr r0, =gAbsentBankFlags
- ldrb r0, [r0]
- ldr r1, =gBitTable
- ldr r1, [r1, 0x4]
- ands r0, r1
- cmp r0, 0
- beq _0804D438
- ldr r1, =gActiveBank
- movs r0, 0x3
- b _0804D43C
- .pool
-_0804D438:
- ldr r1, =gActiveBank
- movs r0, 0x1
-_0804D43C:
- strb r0, [r1]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804D450:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
- b _0804D804
- .pool
-_0804D464:
- cmp r0, 0x6
- beq _0804D46A
- b _0804D658
-_0804D46A:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804D478
- b _0804D5F4
-_0804D478:
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _0804D482
- b _0804D5F4
-_0804D482:
- ldr r7, =gHitMarker
- ldr r0, [r7]
- lsrs r5, r0, 28
- ldr r4, =gBitTable
- ldr r0, [r4, 0x8]
- ands r0, r5
- cmp r0, 0
- beq _0804D52A
- ldr r0, [r4]
- ands r0, r5
- cmp r0, 0
- beq _0804D52A
- ldr r6, =gActiveBank
- movs r0, 0x2
- strb r0, [r6]
- ldr r0, =gBattleBufferB
- ldrb r1, [r0, 0x1]
- movs r0, 0x2
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D4F8
- ldr r2, =gAbsentBankFlags
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r4
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r7]
- bics r0, r1
- str r0, [r7]
- movs r0, 0
- bl dp01_build_cmdbuf_x2A_2A_2A_2A
- ldrb r0, [r6]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804D52A
- .pool
-_0804D4F8:
- ldr r4, =gSpecialStatuses
- ldrb r0, [r6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D52A
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5C
- ldrb r0, [r0]
- bl sub_804CF10
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
-_0804D52A:
- ldr r4, =gBitTable
- ldr r0, [r4, 0xC]
- ands r0, r5
- cmp r0, 0
- beq _0804D5DA
- ldr r0, [r4, 0x4]
- ands r5, r0
- cmp r5, 0
- beq _0804D5DA
- ldr r5, =gActiveBank
- movs r0, 0x3
- strb r0, [r5]
- ldr r0, =gBattleBufferB
- ldr r2, =0x00000201
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x3
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D5A8
- ldr r2, =gAbsentBankFlags
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, =gHitMarker
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x2A_2A_2A_2A
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804D5DA
- .pool
-_0804D5A8:
- ldr r4, =gSpecialStatuses
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804D5DA
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5D
- ldrb r0, [r0]
- bl sub_804CF10
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
-_0804D5DA:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
- mov r12, r1
- b _0804D5F8
- .pool
-_0804D5F4:
- adds r0, r2, 0x6
- str r0, [r6]
-_0804D5F8:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- lsrs r5, r0, 28
- ldr r1, =gUnknown_0202420D
- movs r0, 0
- strb r0, [r1]
- ldr r4, =gBitTable
- ldr r2, [r4]
- ands r2, r5
- ldr r6, =gNoOfAllBanks
- cmp r2, 0
- bne _0804D634
- adds r7, r6, 0
- ldrb r0, [r6]
- cmp r2, r0
- bcs _0804D634
- adds r3, r1, 0
-_0804D61A:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldrb r2, [r3]
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- ands r0, r5
- cmp r0, 0
- bne _0804D634
- ldrb r0, [r7]
- cmp r2, r0
- bcc _0804D61A
-_0804D634:
- ldrb r0, [r1]
- ldrb r6, [r6]
- cmp r0, r6
- beq _0804D63E
- b _0804D804
-_0804D63E:
- mov r1, r8
- mov r2, r12
- str r1, [r2]
- b _0804D804
- .pool
-_0804D658:
- movs r0, 0x80
- ands r0, r1
- movs r5, 0x1
- cmp r0, 0
- beq _0804D664
- movs r5, 0
-_0804D664:
- movs r0, 0x7F
- ands r0, r1
- bl get_battle_side_of_something
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gSpecialStatuses
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- bge _0804D690
- ldr r0, [r6]
- adds r0, 0x6
- str r0, [r6]
- b _0804D804
- .pool
-_0804D690:
- adds r0, r7, 0
- movs r1, 0x6
- movs r2, 0x6
- bl sub_80423F4
- lsls r0, 24
- cmp r0, 0
- beq _0804D6E0
- ldr r2, =gActiveBank
- strb r7, [r2]
- ldr r3, =gAbsentBankFlags
- ldr r4, =gBitTable
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- ldr r3, =gHitMarker
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r3]
- bics r0, r1
- str r0, [r3]
- mov r0, r8
- str r0, [r6]
- b _0804D804
- .pool
-_0804D6E0:
- ldr r4, =gActiveBank
- strb r7, [r4]
- ldrb r0, [r4]
- ldr r3, =gBattleStruct
- ldr r1, [r3]
- adds r1, r0, r1
- adds r1, 0x58
- ldr r2, =gBattlePartyID
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r4]
- ldr r1, [r3]
- adds r0, r1
- adds r0, 0x5C
- movs r1, 0x6
- strb r1, [r0]
- ldr r1, [r3]
- adds r1, 0x93
- ldr r2, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- ldrb r0, [r1]
- bics r0, r2
- strb r0, [r1]
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- ldr r3, [r3]
- adds r0, r3
- adds r0, 0x5C
- ldrb r2, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x60
- adds r3, r0
- str r3, [sp]
- movs r0, 0
- adds r1, r5, 0
- movs r3, 0
- bl dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r6]
- adds r0, 0x6
- str r0, [r6]
- ldrb r0, [r4]
- bl GetBankIdentity
- lsls r0, 24
- cmp r0, 0
- bne _0804D760
- ldr r1, =gBattleResults
- ldrb r0, [r1, 0x2]
- cmp r0, 0xFE
- bhi _0804D760
- adds r0, 0x1
- strb r0, [r1, 0x2]
-_0804D760:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804D7C4
- ldr r1, =gActiveBank
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804D804
- adds r4, r1, 0
-_0804D77C:
- ldrb r0, [r4]
- cmp r0, r7
- beq _0804D792
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804D792:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0804D77C
- b _0804D804
- .pool
-_0804D7C4:
- adds r0, r7, 0
- bl GetBankIdentity
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByPlayerAI
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r3, [r4]
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0804D7F4
- movs r0, 0x2
- eors r3, r0
- strb r3, [r4]
-_0804D7F4:
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_8034464
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804D804:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk50_openpartyscreen
-
- thumb_func_start atk51_switch_handle_order
-atk51_switch_handle_order: @ 804D820
- push {r4-r7,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804D82C
- b _0804DA8A
-_0804D82C:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x1
- beq _0804D8CC
- cmp r0, 0x1
- bgt _0804D858
- cmp r0, 0
- beq _0804D862
- b _0804DA82
- .pool
-_0804D858:
- cmp r0, 0x2
- beq _0804D8E8
- cmp r0, 0x3
- beq _0804D922
- b _0804DA82
-_0804D862:
- movs r6, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r6, r0
- blt _0804D86E
- b _0804DA82
-_0804D86E:
- ldr r7, =gBattleBufferB
-_0804D870:
- ldrb r0, [r7]
- cmp r0, 0x22
- bne _0804D8AA
- ldr r5, =gBattleStruct
- ldr r0, [r5]
- adds r0, r6, r0
- adds r0, 0x5C
- ldrb r1, [r7, 0x1]
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x93
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r6, 2
- adds r0, r2
- ldr r4, [r0]
- ands r1, r4
- cmp r1, 0
- bne _0804D8AA
- lsls r0, r6, 24
- lsrs r0, 24
- ldrb r1, [r7, 0x1]
- bl sub_8184FBC
- ldr r1, [r5]
- adds r1, 0x93
- ldrb r0, [r1]
- orrs r4, r0
- strb r4, [r1]
-_0804D8AA:
- movs r0, 0x80
- lsls r0, 2
- adds r7, r0
- adds r6, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r6, r0
- blt _0804D870
- b _0804DA82
- .pool
-_0804D8CC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804D8DA
- b _0804DA82
-_0804D8DA:
- ldrb r0, [r5]
- bl sub_803BDA0
- b _0804DA82
- .pool
-_0804D8E8:
- ldr r4, =gBattleStruct
- ldr r0, [r4]
- adds r0, 0x93
- ldrb r1, [r0]
- ldr r6, =gBitTable
- ldrb r2, [r5]
- lsls r0, r2, 2
- adds r0, r6
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804D922
- ldr r0, =gBattleBufferB
- lsls r1, r2, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r2, 0
- bl sub_8184FBC
- ldr r2, [r4]
- adds r2, 0x93
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
-_0804D922:
- ldr r1, =gBattleCommunication
- ldr r6, =gBattleBufferB
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- lsls r0, 9
- adds r2, r6, 0x1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- ldr r1, =gBattleStruct
- mov r12, r1
- ldr r1, [r1]
- adds r1, r0, r1
- adds r1, 0x5C
- lsls r0, 9
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x42
- ands r0, r1
- cmp r0, 0x42
- bne _0804DA14
- ldrb r0, [r7]
- mov r3, r12
- ldr r2, [r3]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- ldrb r2, [r1]
- movs r0, 0xF
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r7]
- ldr r2, [r3]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- lsls r0, 9
- adds r5, r6, 0x2
- adds r0, r5
- ldrb r2, [r0]
- movs r3, 0xF0
- adds r0, r3, 0
- ands r0, r2
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r2
- adds r0, 0x61
- lsls r1, 9
- adds r6, 0x3
- adds r1, r6
- ldrb r1, [r1]
- strb r1, [r0]
- ldrb r0, [r7]
- movs r4, 0x2
- eors r0, r4
- mov r1, r12
- ldr r2, [r1]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r7]
- eors r0, r4
- mov r1, r12
- ldr r2, [r1]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- ldrb r0, [r7]
- lsls r0, 9
- adds r0, r5
- ldrb r0, [r0]
- ands r3, r0
- lsrs r3, 4
- ldrb r0, [r1]
- orrs r3, r0
- strb r3, [r1]
- ldrb r0, [r7]
- eors r4, r0
- mov r2, r12
- ldr r0, [r2]
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r0
- adds r1, 0x62
- ldrb r0, [r7]
- lsls r0, 9
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- b _0804DA36
- .pool
-_0804DA14:
- movs r0, 0x80
- lsls r0, 15
- ands r1, r0
- cmp r1, 0
- beq _0804DA30
- ldrb r0, [r7]
- mov r3, r12
- ldr r1, [r3]
- adds r1, r0, r1
- adds r1, 0x5C
- ldrb r1, [r1]
- bl sub_80571DC
- b _0804DA36
-_0804DA30:
- ldrb r0, [r7]
- bl sub_803BDA0
-_0804DA36:
- ldr r1, =gBattleTextBuff1
- movs r5, 0xFD
- strb r5, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r4, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- movs r2, 0x58
- muls r0, r2
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r0, [r3]
- muls r0, r2
- adds r0, r4
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r2, =gBattleTextBuff2
- strb r5, [r2]
- movs r0, 0x7
- strb r0, [r2, 0x1]
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- strb r0, [r2, 0x2]
- ldr r1, =gBattleBufferB
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2, 0x3]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2, 0x4]
-_0804DA82:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x3
- str r0, [r1]
-_0804DA8A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk51_switch_handle_order
-
- thumb_func_start atk52_switch_in_effects
-atk52_switch_in_effects: @ 804DAAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, =gBattlescriptCurrInstr
- mov r9, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldrb r0, [r4]
- bl sub_803FA70
- ldr r1, =gHitMarker
- mov r8, r1
- ldr r1, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 28
- mov r2, r8
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- ldr r2, =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- bl GetBankSide
- ldr r5, =gSideAffecting
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r1, [r0]
- movs r7, 0x80
- lsls r7, 2
- mov r10, r7
- mov r0, r10
- ands r0, r1
- cmp r0, 0
- beq _0804DB1C
- b _0804DC30
-_0804DB1C:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0804DB34
- b _0804DC30
-_0804DB34:
- ldr r7, =gBattleMons
- ldrb r2, [r4]
- movs r6, 0x58
- adds r0, r2, 0
- muls r0, r6
- adds r1, r0, r7
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0804DC30
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0804DC30
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1A
- beq _0804DC30
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r2, [r0]
- mov r1, r10
- orrs r1, r2
- strh r1, [r0]
- ldrb r0, [r4]
- adds r2, r0, 0
- muls r2, r6
- adds r0, r7, 0
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xfdffffff
- ands r0, r1
- str r0, [r2]
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0x41
- negs r2, r2
- ands r0, r2
- str r0, [r1]
- ldrb r0, [r4]
- bl GetBankSide
- ldr r2, =gSideTimers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0xA]
- movs r1, 0x5
- subs r1, r0
- lsls r1, 25
- lsrs r1, 24
- ldr r5, =gBattleMoveDamage
- ldrb r0, [r4]
- muls r0, r6
- adds r0, r7
- ldrh r0, [r0, 0x2C]
- bl __divsi3
- str r0, [r5]
- cmp r0, 0
- bne _0804DBC8
- movs r0, 0x1
- str r0, [r5]
-_0804DBC8:
- ldr r0, =gBattleScripting
- ldrb r1, [r4]
- strb r1, [r0, 0x17]
- bl b_movescr_stack_push_cursor
- mov r7, r9
- ldr r0, [r7]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0804DC14
- ldr r0, =gUnknown_082DAE90
- str r0, [r7]
- b _0804DD8E
- .pool
-_0804DC14:
- cmp r0, 0x1
- bne _0804DC24
- ldr r0, =gUnknown_082DAE59
- mov r1, r9
- str r0, [r1]
- b _0804DD8E
- .pool
-_0804DC24:
- ldr r0, =gUnknown_082DAEC7
- mov r2, r9
- str r0, [r2]
- b _0804DD8E
- .pool
-_0804DC30:
- ldr r2, =gBattleMons
- ldr r1, =gActiveBank
- ldrb r3, [r1]
- movs r0, 0x58
- muls r0, r3
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- adds r5, r1, 0
- ldr r4, =gDisableStructs
- cmp r0, 0x36
- bne _0804DC5E
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r2, r0, r4
- ldrb r1, [r2, 0x18]
- lsls r0, r1, 30
- cmp r0, 0
- blt _0804DC5E
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r2, 0x18]
-_0804DC5E:
- ldrb r0, [r5]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x18]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x18]
- ldrb r1, [r5]
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _0804DC88
- b _0804DD8E
-_0804DC88:
- ldrb r1, [r5]
- movs r0, 0
- movs r2, 0
- bl berry_effects_maybe
- lsls r0, 24
- cmp r0, 0
- bne _0804DD8E
- ldrb r0, [r5]
- bl GetBankSide
- ldr r1, =gSideAffecting
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r2, [r0]
- ldr r1, =0x0000fdff
- ands r1, r2
- strh r1, [r0]
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r7, [r0]
- cmp r4, r7
- bge _0804DCD8
- ldr r6, =gTurnOrder
- adds r1, r5, 0
- ldr r5, =gUnknown_0202407A
- movs r3, 0xC
- adds r2, r0, 0
-_0804DCC2:
- adds r0, r4, r6
- ldrb r0, [r0]
- ldrb r7, [r1]
- cmp r0, r7
- bne _0804DCD0
- adds r0, r4, r5
- strb r3, [r0]
-_0804DCD0:
- adds r4, 0x1
- ldrb r0, [r2]
- cmp r4, r0
- blt _0804DCC2
-_0804DCD8:
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- bge _0804DD0C
- ldr r6, =gBattleStruct
- ldr r5, =gBattleMons
-_0804DCE6:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0xA8
- ldr r1, [r6]
- adds r1, r0
- movs r0, 0x58
- muls r0, r4
- adds r0, r5
- ldrh r0, [r0, 0x28]
- strh r0, [r1]
- adds r4, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _0804DCE6
-_0804DD0C:
- ldr r0, =gBattlescriptCurrInstr
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x5
- bne _0804DD88
- ldr r0, =gHitMarker
- ldr r0, [r0]
- lsrs r4, r0, 28
- ldr r1, =gUnknown_0202420D
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r2, =gBitTable
- b _0804DD6E
- .pool
-_0804DD60:
- ldr r0, =gNoOfAllBanks
- ldrb r3, [r1]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _0804DD88
- adds r0, r3, 0x1
- strb r0, [r1]
-_0804DD6E:
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r3, [r0]
- adds r0, r4, 0
- ands r0, r3
- cmp r0, 0
- beq _0804DD60
- ldr r0, =gAbsentBankFlags
- ldrb r0, [r0]
- ands r0, r3
- cmp r0, 0
- bne _0804DD60
-_0804DD88:
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
-_0804DD8E:
- 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 atk52_switch_in_effects
-
- thumb_func_start atk53_trainer_slide
-atk53_trainer_slide: @ 804DDA8
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBankByPlayerAI
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x08_8_8_8
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk53_trainer_slide
-
- thumb_func_start atk54_effectiveness_sound
-atk54_effectiveness_sound: @ 804DDD8
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0
- bl dp01_build_cmdbuf_x2B_aa_0
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r4]
- adds r0, 0x3
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk54_effectiveness_sound
-
- thumb_func_start atk55_play_sound
-atk55_play_sound: @ 804DE14
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0
- movs r2, 0
- bl sub_8034300
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r4]
- adds r0, 0x3
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk55_play_sound
-
- thumb_func_start atk56_fainting_cry
-atk56_fainting_cry: @ 804DE50
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x2D_2D_2D_2D
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk56_fainting_cry
-
- thumb_func_start atk57
-atk57: @ 804DE80
- push {r4,lr}
- movs r0, 0
- bl GetBankByPlayerAI
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r0, =gBattleOutcome
- ldrb r1, [r0]
- movs r0, 0
- bl dp01_build_cmdbuf_x37_a
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk57
-
- thumb_func_start atk58_return_to_ball
-atk58_return_to_ball: @ 804DEB8
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- movs r1, 0x1
- bl dp01_build_cmdbuf_x06_a
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk58_return_to_ball
-
- thumb_func_start atk59_learnmove_inbattle
-atk59_learnmove_inbattle: @ 804DEEC
- push {r4-r7,lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r2, [r0]
- ldrb r6, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r6, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r6, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r6, r0
- ldrb r4, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r4, r0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r2, 0x9]
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x0000fffe
- cmp r5, r0
- bne _0804DF56
- adds r7, r5, 0
-_0804DF3A:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r7
- beq _0804DF3A
-_0804DF56:
- cmp r5, 0
- bne _0804DF70
- ldr r0, =gBattlescriptCurrInstr
- str r4, [r0]
- b _0804E018
- .pool
-_0804DF70:
- ldr r0, =0x0000ffff
- cmp r5, r0
- bne _0804DF88
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
- b _0804E018
- .pool
-_0804DF88:
- movs r0, 0
- bl GetBankByPlayerAI
- ldr r1, =gActiveBank
- strb r0, [r1]
- ldr r2, =gBattlePartyID
- ldrb r3, [r1]
- lsls r0, r3, 1
- adds r0, r2
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- ldrh r0, [r0]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _0804DFC8
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r2, r3, 0
- muls r2, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0804DFC8
- adds r0, r2, r4
- adds r1, r5, 0
- bl GiveMoveToBattleMon
-_0804DFC8:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804E014
- movs r0, 0x2
- bl GetBankByPlayerAI
- ldr r1, =gActiveBank
- strb r0, [r1]
- ldr r2, =gBattlePartyID
- ldrb r3, [r1]
- lsls r0, r3, 1
- adds r0, r2
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- ldrh r0, [r0]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _0804E014
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r2, r3, 0
- muls r2, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0804E014
- adds r0, r2, r4
- adds r1, r5, 0
- bl GiveMoveToBattleMon
-_0804E014:
- ldr r0, =gBattlescriptCurrInstr
- str r6, [r0]
-_0804E018:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk59_learnmove_inbattle
-
- thumb_func_start atk5A
-atk5A: @ 804E038
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r0, =gActiveBank
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gBattleScripting
- ldrb r1, [r0, 0x1F]
- adds r2, r0, 0
- cmp r1, 0x6
- bls _0804E052
- b _0804E3B8
-_0804E052:
- lsls r0, r1, 2
- ldr r1, =_0804E068
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804E068:
- .4byte _0804E084
- .4byte _0804E0BC
- .4byte _0804E162
- .4byte _0804E1B8
- .4byte _0804E1E4
- .4byte _0804E38C
- .4byte _0804E3AC
-_0804E084:
- movs r4, 0
- str r4, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gUnknown_085CCABB
- movs r1, 0xC
- bl battle_show_message_maybe
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1F]
- adds r0, 0x1
- strb r0, [r1, 0x1F]
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x1]
- movs r0, 0
- bl sub_8056B74
- b _0804E3B8
- .pool
-_0804E0BC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804E0E4
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0804E0E4
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl sub_8056BAC
- movs r0, 0
- strb r0, [r4, 0x1]
- bl sub_8056B74
-_0804E0E4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804E10C
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _0804E10C
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl sub_8056BAC
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl sub_8056B74
-_0804E10C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0804E150
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gBattleCommunication
- ldrb r4, [r0, 0x1]
- cmp r4, 0
- bne _0804E20A
- str r5, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0804E192
- .pool
-_0804E150:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0804E15A
- b _0804E3B8
-_0804E15A:
- movs r0, 0x5
- bl PlaySE
- b _0804E20A
-_0804E162:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804E170
- b _0804E3B8
-_0804E170:
- bl FreeAllWindowBuffers
- ldr r0, =gPlayerParty
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- ldrb r1, [r1, 0x10]
- ldr r2, =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =sub_80A92F8
- ldr r4, =gMoveToLearn
- ldrh r4, [r4]
- str r4, [sp]
- bl sub_81BFA38
-_0804E192:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1F]
- adds r0, 0x1
- strb r0, [r1, 0x1F]
- b _0804E3B8
- .pool
-_0804E1B8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804E1C6
- b _0804E3B8
-_0804E1C6:
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
- cmp r1, r0
- beq _0804E1D2
- b _0804E3B8
-_0804E1D2:
- ldrb r0, [r2, 0x1F]
- adds r0, 0x1
- b _0804E3B6
- .pool
-_0804E1E4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804E1F2
- b _0804E3B8
-_0804E1F2:
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
- cmp r1, r0
- beq _0804E1FE
- b _0804E3B8
-_0804E1FE:
- bl sub_81C1B94
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bne _0804E224
-_0804E20A:
- ldr r1, =gBattleScripting
- movs r0, 0x5
- strb r0, [r1, 0x1F]
- b _0804E3B8
- .pool
-_0804E224:
- ldr r6, =gBattleStruct
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, =gPlayerParty
- adds r0, r7
- adds r1, r5, 0
- adds r1, 0xD
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl IsHMMove2
- cmp r0, 0
- beq _0804E274
- ldr r0, =0x0000013f
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- bl b_std_message
- ldr r1, =gBattleScripting
- movs r0, 0x6
- strb r0, [r1, 0x1F]
- b _0804E3B8
- .pool
-_0804E274:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- ldr r1, =gBattleTextBuff2
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- strb r4, [r1, 0x2]
- lsrs r0, r4, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- adds r1, r5, 0
- bl RemoveMonPPBonus
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- ldr r7, =gMoveToLearn
- ldrh r1, [r7]
- adds r2, r5, 0
- bl SetMonMoveSlot
- ldr r0, =gBattlePartyID
- ldr r1, [r6]
- ldrh r0, [r0]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _0804E30A
- ldr r4, =gBattleMons
- ldr r0, [r4, 0x50]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0804E30A
- ldr r0, =gDisableStructs
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804E30A
- adds r0, r4, 0
- adds r1, r5, 0
- bl RemoveBattleMonPPBonus
- ldrh r1, [r7]
- adds r0, r4, 0
- adds r2, r5, 0
- bl SetBattleMonMoveSlot
-_0804E30A:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804E3B8
- ldr r2, =gBattlePartyID
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- ldrh r0, [r2, 0x4]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _0804E3B8
- ldr r4, =gBattleMons
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0804E3B8
- ldr r0, =gDisableStructs
- adds r0, 0x50
- ldrb r1, [r0]
- lsrs r1, 4
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804E3B8
- adds r4, 0xB0
- adds r0, r4, 0
- adds r1, r5, 0
- bl RemoveBattleMonPPBonus
- ldr r0, =gMoveToLearn
- ldrh r1, [r0]
- adds r0, r4, 0
- adds r2, r5, 0
- bl SetBattleMonMoveSlot
- b _0804E3B8
- .pool
-_0804E38C:
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _0804E3B8
- .pool
-_0804E3AC:
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804E3B8
- movs r0, 0x2
-_0804E3B6:
- strb r0, [r2, 0x1F]
-_0804E3B8:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk5A
-
- thumb_func_start atk5B_80256E0
-atk5B_80256E0: @ 804E3C8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gBattleScripting
- ldrb r4, [r5, 0x1F]
- cmp r4, 0
- beq _0804E3E0
- cmp r4, 0x1
- beq _0804E410
- b _0804E4FA
- .pool
-_0804E3E0:
- str r4, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gUnknown_085CCABB
- movs r1, 0xC
- bl battle_show_message_maybe
- ldrb r0, [r5, 0x1F]
- adds r0, 0x1
- strb r0, [r5, 0x1F]
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x1]
- movs r0, 0
- bl sub_8056B74
- b _0804E4FA
- .pool
-_0804E410:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804E438
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0804E438
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl sub_8056BAC
- movs r0, 0
- strb r0, [r4, 0x1]
- bl sub_8056B74
-_0804E438:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804E460
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _0804E460
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl sub_8056BAC
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl sub_8056B74
-_0804E460:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0804E4C4
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _0804E4A4
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0804E4AC
- .pool
-_0804E4A4:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0804E4AC:
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- b _0804E4FA
- .pool
-_0804E4C4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804E4FA
- movs r0, 0x5
- bl PlaySE
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- str r4, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
-_0804E4FA:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk5B_80256E0
-
- thumb_func_start atk5C_hitanimation
-atk5C_hitanimation: @ 804E508
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r2, =gActiveBank
- strb r0, [r2]
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _0804E58C
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- cmp r0, 0
- beq _0804E55A
- ldr r1, =gBattleMons
- ldrb r2, [r2]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _0804E55A
- ldr r0, =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _0804E58C
-_0804E55A:
- movs r0, 0
- bl dp01_build_cmdbuf_x29_29_29_29
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- b _0804E592
- .pool
-_0804E58C:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
-_0804E592:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end atk5C_hitanimation
-
- thumb_func_start sub_804E598
-sub_804E598: @ 804E598
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r7, 0
- movs r5, 0
- movs r0, 0x80
- lsls r0, 3
- cmp r6, r0
- bne _0804E5D8
- ldr r0, =gBattleResources
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x94
- ldrb r2, [r0]
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x4A
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- muls r0, r2
- b _0804E6CA
- .pool
-_0804E5D8:
- ldr r0, =gTrainers
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r4, r1, r0
- ldrb r3, [r4]
- mov r12, r0
- cmp r3, 0x1
- beq _0804E62E
- cmp r3, 0x1
- bgt _0804E5F8
- cmp r3, 0
- beq _0804E602
- b _0804E644
- .pool
-_0804E5F8:
- cmp r3, 0x2
- beq _0804E618
- cmp r3, 0x3
- beq _0804E62E
- b _0804E644
-_0804E602:
- mov r0, r12
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- subs r0, 0x8
- b _0804E642
-_0804E618:
- mov r0, r12
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- subs r0, 0x8
- b _0804E642
-_0804E62E:
- mov r0, r12
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- subs r0, 0x10
-_0804E642:
- ldrb r5, [r0, 0x2]
-_0804E644:
- ldr r1, =gUnknown_0831AEB8
- lsls r0, r7, 2
- adds r4, r0, r1
- ldrb r3, [r4]
- ldr r0, =gBattleStruct
- mov r8, r0
- mov r9, r1
- ldr r1, =gBattleTypeFlags
- mov r10, r1
- cmp r3, 0xFF
- beq _0804E67A
- adds r0, r2, r6
- lsls r0, 3
- add r0, r12
- ldrb r1, [r0, 0x1]
- cmp r3, r1
- beq _0804E67A
- adds r2, r0, 0
- adds r0, r4, 0
-_0804E66A:
- adds r0, 0x4
- adds r7, 0x1
- ldrb r1, [r0]
- cmp r1, 0xFF
- beq _0804E67A
- ldrb r3, [r2, 0x1]
- cmp r1, r3
- bne _0804E66A
-_0804E67A:
- mov r0, r10
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- bne _0804E6B4
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0804E6B4
- mov r3, r8
- ldr r0, [r3]
- adds r0, 0x4A
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r5, 0
- muls r1, r0
- lsls r0, r7, 2
- add r0, r9
- ldrb r0, [r0, 0x1]
- lsls r0, 1
- b _0804E6C8
- .pool
-_0804E6B4:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x4A
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r5, 0
- muls r1, r0
- lsls r0, r7, 2
- add r0, r9
- ldrb r0, [r0, 0x1]
-_0804E6C8:
- muls r0, r1
-_0804E6CA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804E598
-
- thumb_func_start atk5D_getmoneyreward
-atk5D_getmoneyreward: @ 804E6D8
- push {r4,lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- bl sub_804E598
- adds r4, r0, 0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0804E6FC
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r0, [r0]
- bl sub_804E598
- adds r4, r0
-_0804E6FC:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- adds r1, r4, 0
- bl AddMoney
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x4
- strb r0, [r1, 0x2]
- movs r0, 0x5
- strb r0, [r1, 0x3]
- strb r4, [r1, 0x4]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r4
- lsrs r0, 8
- strb r0, [r1, 0x5]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r4
- lsrs r0, 16
- strb r0, [r1, 0x6]
- lsrs r0, r4, 24
- strb r0, [r1, 0x7]
- movs r0, 0xFF
- strb r0, [r1, 0x8]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk5D_getmoneyreward
-
- thumb_func_start atk5E_8025A70
-atk5E_8025A70: @ 804E764
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r6, =gActiveBank
- strb r0, [r6]
- ldr r5, =gBattleCommunication
- ldrb r0, [r5]
- mov r8, r4
- cmp r0, 0
- beq _0804E794
- cmp r0, 0x1
- beq _0804E7AC
- b _0804E800
- .pool
-_0804E794:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl dp01_build_cmdbuf_x00_a_b_0
- ldrb r0, [r6]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0804E800
-_0804E7AC:
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804E800
- ldrb r0, [r6]
- lsls r0, 9
- ldr r1, =gBattleBufferB + 4
- adds r0, r1
- mov r12, r0
- movs r2, 0
- adds r4, r6, 0
- movs r5, 0x58
- ldr r6, =gBattleMons + 0x24
- adds r7, r6, 0
- subs r7, 0x18
- mov r3, r12
- adds r3, 0xC
-_0804E7CE:
- lsls r1, r2, 1
- ldrb r0, [r4]
- muls r0, r5
- adds r1, r0
- adds r1, r7
- ldrh r0, [r3]
- strh r0, [r1]
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r2, r1
- adds r1, r6
- mov r0, r12
- adds r0, 0x24
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x3
- ble _0804E7CE
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_0804E800:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk5E_8025A70
-
- thumb_func_start atk5F_8025B24
-atk5F_8025B24: @ 804E818
- push {lr}
- ldr r0, =gActiveBank
- ldr r2, =gBankAttacker
- ldrb r3, [r2]
- strb r3, [r0]
- ldr r1, =gBankTarget
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 5
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _0804E854
- ldr r0, =0xffffefff
- ands r1, r0
- b _0804E856
- .pool
-_0804E854:
- orrs r1, r3
-_0804E856:
- str r1, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk5F_8025B24
-
- thumb_func_start atk60_increment_gamestat
-atk60_increment_gamestat: @ 804E868
- push {lr}
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0804E882
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl IncrementGameStat
-_0804E882:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk60_increment_gamestat
-
- thumb_func_start atk61_8025BA4
-atk61_8025BA4: @ 804E898
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x30
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804E94C
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r1, =gActiveBank
- strb r0, [r1]
- ldrb r0, [r1]
- bl GetBankSide
- lsls r0, 24
- ldr r1, =gEnemyParty
- mov r8, r1
- cmp r0, 0
- bne _0804E8CA
- ldr r0, =gPlayerParty
- mov r8, r0
-_0804E8CA:
- movs r7, 0
- add r6, sp, 0x4
- mov r5, sp
-_0804E8D0:
- movs r0, 0x64
- muls r0, r7
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _0804E8F4
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _0804E914
-_0804E8F4:
- ldr r0, =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _0804E926
- .pool
-_0804E914:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_0804E926:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _0804E8D0
- movs r0, 0
- mov r1, sp
- movs r2, 0x1
- bl dp01_build_cmdbuf_x30_TODO
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_0804E94C:
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk61_8025BA4
-
- thumb_func_start atk62_08025C6C
-atk62_08025C6C: @ 804E960
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x31_31_31_31
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk62_08025C6C
-
- thumb_func_start atk63_jumptorandomattack
-atk63_jumptorandomattack: @ 804E990
- push {r4,lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0
- beq _0804E9B4
- ldr r0, =gCurrentMove
- ldr r1, =gRandomMove
- ldrh r1, [r1]
- strh r1, [r0]
- b _0804E9C2
- .pool
-_0804E9B4:
- ldr r2, =gUnknown_020241EC
- ldr r1, =gCurrentMove
- ldr r0, =gRandomMove
- ldrh r0, [r0]
- strh r0, [r1]
- strh r0, [r2]
- adds r0, r1, 0
-_0804E9C2:
- ldr r3, =gUnknown_082D86A8
- ldr r2, =gBattleMoves
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk63_jumptorandomattack
-
- thumb_func_start atk64_statusanimation
-atk64_statusanimation: @ 804E9F4
- push {r4,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804EA5C
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r1, =gStatuses3
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _0804EA54
- ldr r0, =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _0804EA54
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804EA54
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x1B_aaaa_b
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804EA54:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_0804EA5C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk64_statusanimation
-
- thumb_func_start atk65_status2animation
-atk65_status2animation: @ 804EA84
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804EB04
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r1, [r4]
- ldrb r3, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- orrs r3, r0
- ldr r1, =gStatuses3
- ldrb r2, [r5]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _0804EAFC
- ldr r0, =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _0804EAFC
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804EAFC
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r2, [r0]
- ands r2, r3
- movs r0, 0
- movs r1, 0x1
- bl dp01_build_cmdbuf_x1B_aaaa_b
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804EAFC:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
-_0804EB04:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk65_status2animation
-
- thumb_func_start atk66_chosenstatusanimation
-atk66_chosenstatusanimation: @ 804EB2C
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804EB9E
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r4, [r4]
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x4]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r4, 0x5]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r4, 0x6]
- lsls r0, 24
- orrs r2, r0
- ldr r1, =gStatuses3
- ldrb r3, [r5]
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _0804EB96
- ldr r0, =gDisableStructs
- lsls r1, r3, 3
- subs r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _0804EB96
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804EB96
- ldrb r1, [r4, 0x2]
- movs r0, 0
- bl dp01_build_cmdbuf_x1B_aaaa_b
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804EB96:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x7
- str r0, [r1]
-_0804EB9E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk66_chosenstatusanimation
-
- thumb_func_start atk67_8025ECC
-atk67_8025ECC: @ 804EBC0
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gBattleCommunication
- ldrb r4, [r5]
- cmp r4, 0
- beq _0804EBD8
- cmp r4, 0x1
- beq _0804EC04
- b _0804EC96
- .pool
-_0804EBD8:
- str r4, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gUnknown_085CCABB
- movs r1, 0xC
- bl battle_show_message_maybe
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- strb r4, [r5, 0x1]
- movs r0, 0
- bl sub_8056B74
- b _0804EC96
- .pool
-_0804EC04:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804EC2A
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _0804EC2A
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r5, 0x1]
- bl sub_8056BAC
- movs r0, 0
- strb r0, [r5, 0x1]
- bl sub_8056B74
-_0804EC2A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804EC52
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _0804EC52
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl sub_8056BAC
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl sub_8056B74
-_0804EC52:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804EC70
- ldr r0, =gBattleCommunication
- movs r4, 0x1
- strb r4, [r0, 0x1]
- b _0804EC7A
- .pool
-_0804EC70:
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0804EC96
-_0804EC7A:
- movs r0, 0x5
- bl PlaySE
- str r4, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_0804EC96:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk67_8025ECC
-
- thumb_func_start atk68_80246A0
-atk68_80246A0: @ 804ECA4
- push {r4,r5,lr}
- movs r1, 0
- ldr r2, =gNoOfAllBanks
- ldr r5, =gBattlescriptCurrInstr
- ldrb r0, [r2]
- cmp r1, r0
- bge _0804ECC2
- ldr r4, =gUnknown_0202407A
- movs r3, 0xC
-_0804ECB6:
- adds r0, r1, r4
- strb r3, [r0]
- adds r1, 0x1
- ldrb r0, [r2]
- cmp r1, r0
- blt _0804ECB6
-_0804ECC2:
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk68_80246A0
-
- thumb_func_start atk69_dmg_adjustment2
-atk69_dmg_adjustment2: @ 804ECDC
- push {r4-r7,lr}
- ldr r7, =gBattleMons
- ldr r6, =gBankTarget
- ldrb r2, [r6]
- movs r5, 0x58
- adds r0, r2, 0
- muls r0, r5
- adds r1, r0, r7
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _0804ED10
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x7]
- ldrb r6, [r0, 0x1A]
- b _0804ED2A
- .pool
-_0804ED10:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r7
- ldrh r0, [r0, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r6, r0, 24
-_0804ED2A:
- ldr r1, =gStringBank
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- strb r0, [r1]
- cmp r4, 0x27
- bne _0804ED68
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bcs _0804ED68
- ldrb r0, [r5]
- movs r1, 0x27
- bl RecordItemEffectBattle
- ldr r2, =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
-_0804ED68:
- ldr r2, =gBattleMons
- ldr r3, =gBankTarget
- ldrb r4, [r3]
- movs r0, 0x58
- muls r0, r4
- adds r1, r2, 0
- adds r1, 0x50
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 17
- ands r1, r0
- adds r5, r2, 0
- cmp r1, 0
- bne _0804EE38
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x65
- beq _0804EDBA
- ldr r0, =gProtectStructs
- lsls r1, r4, 4
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0804EDBA
- ldr r0, =gSpecialStatuses
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _0804EE38
-_0804EDBA:
- ldrb r0, [r3]
- movs r4, 0x58
- muls r0, r4
- adds r0, r5
- ldrh r1, [r0, 0x28]
- ldr r2, =gBattleMoveDamage
- ldr r0, [r2]
- cmp r1, r0
- bgt _0804EE38
- subs r0, r1, 0x1
- str r0, [r2]
- ldr r1, =gProtectStructs
- ldrb r3, [r3]
- lsls r0, r3, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bge _0804EE10
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0804EE38
- .pool
-_0804EE10:
- ldr r0, =gSpecialStatuses
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _0804EE38
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gLastUsedItem
- adds r0, r3, 0
- muls r0, r4
- adds r0, r5
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
-_0804EE38:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk69_dmg_adjustment2
-
- thumb_func_start atk6A_removeitem
-atk6A_removeitem: @ 804EE58
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, =gBattlescriptCurrInstr
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r1, =gBattleStruct
- ldrb r4, [r5]
- lsls r0, r4, 1
- adds r0, 0xB8
- ldr r1, [r1]
- adds r1, r0
- ldr r2, =gBattleMons
- movs r3, 0x58
- adds r0, r4, 0
- muls r0, r3
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
- ldrb r0, [r5]
- muls r0, r3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- muls r0, r3
- adds r2, 0x2E
- adds r0, r2
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r6]
- adds r0, 0x2
- str r0, [r6]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk6A_removeitem
-
- thumb_func_start atk6B_atknameinbuff1
-atk6B_atknameinbuff1: @ 804EEC8
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x7
- strb r0, [r1, 0x1]
- ldr r2, =gBankAttacker
- ldrb r0, [r2]
- strb r0, [r1, 0x2]
- ldr r3, =gBattlePartyID
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atk6B_atknameinbuff1
-
- thumb_func_start atk6C_lvlbox_display
-atk6C_lvlbox_display: @ 804EF04
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gBattleScripting
- ldrb r1, [r0, 0x1E]
- adds r4, r0, 0
- cmp r1, 0
- bne _0804EF28
- bl sub_804F498
- cmp r0, 0
- beq _0804EF24
- movs r0, 0x3
- b _0804EF26
- .pool
-_0804EF24:
- movs r0, 0x1
-_0804EF26:
- strb r0, [r4, 0x1E]
-_0804EF28:
- ldrb r0, [r4, 0x1E]
- subs r0, 0x1
- cmp r0, 0x9
- bls _0804EF32
- b _0804F0F2
-_0804EF32:
- lsls r0, 2
- ldr r1, =_0804EF40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804EF40:
- .4byte _0804EF68
- .4byte _0804EF94
- .4byte _0804EFAC
- .4byte _0804F000
- .4byte _0804F014
- .4byte _0804F02C
- .4byte _0804F014
- .4byte _0804F04C
- .4byte _0804F07C
- .4byte _0804F0C0
-_0804EF68:
- ldr r1, =gUnknown_02022E1E
- movs r0, 0x60
- strh r0, [r1]
- movs r0, 0x2
- movs r1, 0x7
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- bl ShowBg
- bl sub_804F17C
- ldr r1, =gBattleScripting
- movs r0, 0x2
- strb r0, [r1, 0x1E]
- b _0804F0F2
- .pool
-_0804EF94:
- bl sub_804F1CC
- lsls r0, 24
- cmp r0, 0
- beq _0804EFA0
- b _0804F0F2
-_0804EFA0:
- ldr r1, =gBattleScripting
- movs r0, 0x3
- strb r0, [r1, 0x1E]
- b _0804F0F2
- .pool
-_0804EFAC:
- ldr r1, =gUnknown_02022E18
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0x7
- movs r2, 0x1
- bl SetBgAttribute
- movs r0, 0x1
- movs r1, 0x7
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x80
- str r0, [sp]
- movs r0, 0x12
- movs r1, 0x7
- movs r2, 0x1D
- movs r3, 0x13
- bl sub_8056A3C
- ldr r1, =gBattleScripting
- movs r0, 0x4
- strb r0, [r1, 0x1E]
- b _0804F0F2
- .pool
-_0804F000:
- bl sub_804F100
- movs r0, 0xD
- bl PutWindowTilemap
- movs r0, 0xD
- movs r1, 0x3
- bl CopyWindowToVram
- b _0804F06A
-_0804F014:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0804F0F2
- ldr r0, =gUnknown_02022E1A
- strh r1, [r0]
- b _0804F06A
- .pool
-_0804F02C:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- beq _0804F0F2
- movs r0, 0x5
- bl PlaySE
- bl sub_804F144
- movs r0, 0xD
- movs r1, 0x2
- bl CopyWindowToVram
- b _0804F06A
- .pool
-_0804F04C:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- beq _0804F0F2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x81
- str r0, [sp]
- movs r0, 0x12
- movs r1, 0x7
- movs r2, 0x1D
- movs r3, 0x13
- bl sub_8056A3C
-_0804F06A:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1E]
- adds r0, 0x1
- strb r0, [r1, 0x1E]
- b _0804F0F2
- .pool
-_0804F07C:
- bl sub_804F344
- lsls r0, 24
- cmp r0, 0
- bne _0804F0F2
- movs r0, 0xE
- bl ClearWindowTilemap
- movs r0, 0xE
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0xD
- bl ClearWindowTilemap
- movs r0, 0xD
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x7
- movs r2, 0x2
- bl SetBgAttribute
- movs r0, 0x2
- bl ShowBg
- ldr r1, =gBattleScripting
- movs r0, 0xA
- strb r0, [r1, 0x1E]
- b _0804F0F2
- .pool
-_0804F0C0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0804F0F2
- movs r0, 0
- movs r1, 0x7
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x1
- movs r1, 0x7
- movs r2, 0x1
- bl SetBgAttribute
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_0804F0F2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk6C_lvlbox_display
-
- thumb_func_start sub_804F100
-sub_804F100: @ 804F100
- push {lr}
- sub sp, 0x14
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- add r1, sp, 0x8
- bl sub_81D388C
- ldr r0, =gBattleResources
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- movs r0, 0xD
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0xD
- add r2, sp, 0x8
- movs r3, 0xE
- bl sub_81D3640
- add sp, 0x14
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_804F100
-
- thumb_func_start sub_804F144
-sub_804F144: @ 804F144
- push {lr}
- sub sp, 0x10
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- add r1, sp, 0x4
- bl sub_81D388C
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0xD
- add r1, sp, 0x4
- movs r2, 0xE
- movs r3, 0xD
- bl sub_81D3784
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_804F144
-
- thumb_func_start sub_804F17C
-sub_804F17C: @ 804F17C
- push {lr}
- ldr r1, =gUnknown_02022E1E
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_02022E1C
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =gUnknown_0831C2C8
- movs r1, 0x60
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_0831C2E8
- movs r0, 0xE
- movs r2, 0
- movs r3, 0
- bl CopyToWindowPixelBuffer
- movs r0, 0xE
- bl PutWindowTilemap
- movs r0, 0xE
- movs r1, 0x3
- bl CopyWindowToVram
- bl sub_804F384
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_804F17C
-
- thumb_func_start sub_804F1CC
-sub_804F1CC: @ 804F1CC
- push {r4,r5,lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _0804F1DC
- movs r0, 0x1
- b _0804F216
-_0804F1DC:
- ldr r4, =gUnknown_02022E1C
- ldrh r1, [r4]
- movs r5, 0x80
- lsls r5, 2
- cmp r1, r5
- bne _0804F1F0
- movs r0, 0
- b _0804F216
- .pool
-_0804F1F0:
- movs r0, 0xD0
- lsls r0, 1
- cmp r1, r0
- bne _0804F1FC
- bl sub_804F220
-_0804F1FC:
- ldrh r0, [r4]
- adds r0, 0x8
- strh r0, [r4]
- lsls r0, 16
- ldr r1, =0x01ff0000
- cmp r0, r1
- bls _0804F20C
- strh r5, [r4]
-_0804F20C:
- ldrh r1, [r4]
- eors r1, r5
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_0804F216:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_804F1CC
-
- thumb_func_start sub_804F220
-sub_804F220: @ 804F220
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r6, =gBattleStruct
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x38
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- bl GetMonGender
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- ldr r5, =gStringVar4
- adds r1, r5, 0
- bl GetMonNickname
- str r5, [sp]
- mov r2, sp
- movs r1, 0
- movs r0, 0xE
- strb r0, [r2, 0x4]
- mov r0, sp
- strb r1, [r0, 0x5]
- movs r4, 0x20
- strb r4, [r0, 0x6]
- strb r1, [r0, 0x7]
- strb r4, [r0, 0x8]
- strb r1, [r0, 0x9]
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r3, sp
- ldrb r2, [r3, 0xC]
- subs r1, 0x10
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- mov r2, sp
- movs r0, 0x10
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- strb r1, [r2, 0xD]
- mov r0, sp
- strb r4, [r0, 0xD]
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- movs r0, 0xF9
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0x5
- strb r0, [r5]
- adds r5, 0x1
- adds r4, r5, 0
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- subs r4, r5, r4
- movs r2, 0x4
- subs r2, r4
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0x77
- bl StringFill
- adds r5, r0, 0
- cmp r7, 0xFF
- beq _0804F320
- cmp r7, 0
- bne _0804F300
- movs r1, 0
- movs r2, 0xC
- bl WriteColorChangeControlCode
- adds r5, r0, 0
- movs r1, 0x1
- movs r2, 0xD
- bl WriteColorChangeControlCode
- adds r5, r0, 0
- movs r0, 0xB5
- b _0804F318
- .pool
-_0804F300:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xE
- bl WriteColorChangeControlCode
- adds r5, r0, 0
- movs r1, 0x1
- movs r2, 0xF
- bl WriteColorChangeControlCode
- adds r5, r0, 0
- movs r0, 0xB6
-_0804F318:
- strb r0, [r5]
- adds r5, 0x1
- movs r0, 0xFF
- strb r0, [r5]
-_0804F320:
- mov r0, sp
- movs r1, 0xA
- strb r1, [r0, 0x7]
- strb r1, [r0, 0x9]
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- movs r0, 0xE
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804F220
-
- thumb_func_start sub_804F344
-sub_804F344: @ 804F344
- push {lr}
- ldr r0, =gUnknown_02022E1C
- ldrh r1, [r0]
- movs r3, 0xD0
- lsls r3, 1
- adds r2, r0, 0
- cmp r1, r3
- bne _0804F35C
- movs r0, 0
- b _0804F380
- .pool
-_0804F35C:
- ldrh r0, [r2]
- adds r1, r0, 0
- subs r1, 0x10
- ldr r0, =0x0000019f
- cmp r1, r0
- bgt _0804F370
- strh r3, [r2]
- b _0804F372
- .pool
-_0804F370:
- strh r1, [r2]
-_0804F372:
- ldrh r1, [r2]
- movs r0, 0xD0
- lsls r0, 1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_0804F380:
- pop {r1}
- bx r1
- thumb_func_end sub_804F344
-
- thumb_func_start sub_804F384
-sub_804F384: @ 804F384
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- ldr r0, =gBattleStruct
- mov r8, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80D2EDC
- str r0, [sp]
- ldr r5, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r5
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- ldr r1, =0xd75a0000
- orrs r0, r1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_80D30B0
- str r0, [sp, 0x8]
- add r4, sp, 0x8
- ldr r0, [r4, 0x4]
- ands r0, r5
- ldr r1, =0x0000d75a
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r0, =gUnknown_0831C3C0
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0xA
- 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
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, =gUnknown_02022E1C
- ldrh r0, [r0]
- strh r0, [r1, 0x30]
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_804F384
-
- thumb_func_start sub_804F450
-sub_804F450: @ 804F450
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02022E1C
- ldrh r1, [r2, 0x30]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x24]
- lsls r1, 16
- cmp r1, 0
- beq _0804F470
- movs r0, 0x1
- strh r0, [r2, 0x2E]
- b _0804F48C
- .pool
-_0804F470:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0804F48C
- adds r0, r2, 0
- bl DestroySprite
- ldr r4, =0x0000d75a
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
-_0804F48C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_804F450
-
- thumb_func_start sub_804F498
-sub_804F498: @ 804F498
- push {lr}
- ldr r3, =gBattlePartyID
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrh r1, [r3]
- ldrb r2, [r0, 0x10]
- cmp r1, r2
- beq _0804F4BA
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804F4CC
- ldrh r0, [r3, 0x4]
- cmp r0, r2
- bne _0804F4CC
-_0804F4BA:
- movs r0, 0x1
- b _0804F4CE
- .pool
-_0804F4CC:
- movs r0, 0
-_0804F4CE:
- pop {r1}
- bx r1
- thumb_func_end sub_804F498
-
- thumb_func_start atk6D_set_sentpokes_values
-atk6D_set_sentpokes_values: @ 804F4D4
- push {lr}
- bl sub_803F988
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk6D_set_sentpokes_values
-
- thumb_func_start atk6E_set_atk_to_player0
-atk6E_set_atk_to_player0: @ 804F4EC
- push {lr}
- movs r0, 0
- bl GetBankByPlayerAI
- ldr r1, =gBankAttacker
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk6E_set_atk_to_player0
-
- thumb_func_start atk6F_set_visible
-atk6F_set_visible: @ 804F50C
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x33_a_33_33
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk6F_set_visible
-
- thumb_func_start atk70_record_ability
-atk70_record_ability: @ 804F540
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r1, =gActiveBank
- strb r0, [r1]
- ldrb r0, [r1]
- ldr r1, =gLastUsedAbility
- ldrb r1, [r1]
- bl RecordAbilityBattle
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk70_record_ability
-
- thumb_func_start sub_804F574
-sub_804F574: @ 804F574
- ldr r2, =gBattleTextBuff2
- movs r0, 0xFD
- strb r0, [r2]
- movs r0, 0x2
- strb r0, [r2, 0x1]
- ldr r0, =gMoveToLearn
- ldrh r1, [r0]
- strb r1, [r2, 0x2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r2, 0x3]
- movs r0, 0xFF
- strb r0, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end sub_804F574
-
- thumb_func_start atk71_buffer_move_to_learn
-atk71_buffer_move_to_learn: @ 804F59C
- push {lr}
- bl sub_804F574
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk71_buffer_move_to_learn
-
- thumb_func_start atk72_jump_if_can_run_frombattle
-atk72_jump_if_can_run_frombattle: @ 804F5B4
- push {lr}
- ldr r0, =gUnknown_0202420D
- ldrb r0, [r0]
- bl sub_803EC20
- lsls r0, 24
- cmp r0, 0
- beq _0804F5E8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0804F5F0
- .pool
-_0804F5E8:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0804F5F0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk72_jump_if_can_run_frombattle
-
- thumb_func_start atk73_hp_thresholds
-atk73_hp_thresholds: @ 804F5F8
- push {r4-r6,lr}
- ldr r0, =gBattleTypeFlags
- ldr r4, [r0]
- movs r6, 0x1
- ands r4, r6
- cmp r4, 0
- bne _0804F68E
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r1, =gActiveBank
- strb r0, [r1]
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r5, [r1, 0x28]
- movs r0, 0x64
- muls r0, r5
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- cmp r0, 0
- bne _0804F636
- movs r0, 0x1
-_0804F636:
- cmp r0, 0x45
- bgt _0804F63E
- cmp r5, 0
- bne _0804F65C
-_0804F63E:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB1
- strb r4, [r0]
- b _0804F68E
- .pool
-_0804F65C:
- cmp r0, 0x27
- ble _0804F670
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB1
- strb r6, [r0]
- b _0804F68E
- .pool
-_0804F670:
- cmp r0, 0x9
- ble _0804F684
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB1
- movs r1, 0x2
- b _0804F68C
- .pool
-_0804F684:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB1
- movs r1, 0x3
-_0804F68C:
- strb r1, [r0]
-_0804F68E:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk73_hp_thresholds
-
- thumb_func_start atk74_hp_thresholds2
-atk74_hp_thresholds2: @ 804F6A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gBattleTypeFlags
- ldr r7, [r0]
- movs r0, 0x1
- mov r8, r0
- ands r7, r0
- cmp r7, 0
- bne _0804F73E
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- adds r4, r0, 0
- ldr r0, =gActiveBank
- strb r4, [r0]
- movs r0, 0x1
- eors r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- ldr r1, =gBattleStruct
- ldr r6, [r1]
- lsrs r0, 23
- adds r0, r6
- adds r0, 0xA8
- ldrb r5, [r0]
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- ldrh r4, [r0, 0x28]
- subs r1, r5, r4
- movs r0, 0x64
- muls r0, r1
- adds r1, r5, 0
- bl __divsi3
- adds r1, r0, 0
- cmp r4, r5
- bcc _0804F71C
- adds r0, r6, 0
- adds r0, 0xB1
- strb r7, [r0]
- b _0804F73E
- .pool
-_0804F71C:
- cmp r0, 0x1D
- bgt _0804F72A
- adds r0, r6, 0
- adds r0, 0xB1
- mov r1, r8
- strb r1, [r0]
- b _0804F73E
-_0804F72A:
- cmp r1, 0x45
- bgt _0804F736
- adds r1, r6, 0
- adds r1, 0xB1
- movs r0, 0x2
- b _0804F73C
-_0804F736:
- adds r1, r6, 0
- adds r1, 0xB1
- movs r0, 0x3
-_0804F73C:
- strb r0, [r1]
-_0804F73E:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk74_hp_thresholds2
-
- thumb_func_start atk75_8026A58
-atk75_8026A58: @ 804F754
- push {lr}
- sub sp, 0x4
- ldr r2, =gBankInMenu
- ldr r1, =gBankAttacker
- ldrb r0, [r1]
- strb r0, [r2]
- ldr r2, =gBattlePartyID
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r1, =gLastUsedItem
- ldrh r1, [r1]
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0x1
- str r3, [sp]
- movs r3, 0
- bl ExecuteTableBasedItemEffect
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk75_8026A58
-
- thumb_func_start atk76_various
-atk76_various: @ 804F7AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r1, =gActiveBank
- strb r0, [r1]
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x1A
- bls _0804F7CA
- b _0804FD70
-_0804F7CA:
- lsls r0, 2
- ldr r1, =_0804F7E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804F7E0:
- .4byte _0804F84C
- .4byte _0804F85C
- .4byte _0804F8BC
- .4byte _0804F8CC
- .4byte _0804F8E4
- .4byte _0804F920
- .4byte _0804F958
- .4byte _0804F9E0
- .4byte _0804FA20
- .4byte _0804FACC
- .4byte _0804FAE8
- .4byte _0804FB3C
- .4byte _0804FB94
- .4byte _0804FC18
- .4byte _0804FC2C
- .4byte _0804FC32
- .4byte _0804FC38
- .4byte _0804FC60
- .4byte _0804FC6A
- .4byte _0804FC78
- .4byte _0804FC8C
- .4byte _0804FCC4
- .4byte _0804FCD8
- .4byte _0804FCF0
- .4byte _0804FD1C
- .4byte _0804FD30
- .4byte _0804FD5C
-_0804F84C:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl CancelMultiTurnMoves
- b _0804FD70
- .pool
-_0804F85C:
- ldr r1, =gBankAttacker
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- strb r0, [r1]
- ldrb r0, [r1]
- bl GetBankSide
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSideTimers
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0804F8A8
- ldr r1, =gBattleMons
- ldrb r2, [r2, 0x9]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _0804F8A8
- strb r2, [r4]
- b _0804FD70
- .pool
-_0804F8A8:
- ldr r0, =gBankTarget
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- strb r1, [r0]
- b _0804FD70
- .pool
-_0804F8BC:
- bl sub_803BB88
- ldr r1, =gBattleCommunication
- strb r0, [r1]
- b _0804FD70
- .pool
-_0804F8CC:
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- movs r1, 0
- bl GetMoveTarget
- ldr r1, =gBankTarget
- strb r0, [r1]
- b _0804FD70
- .pool
-_0804F8E4:
- ldr r2, =gHitMarker
- ldr r1, =gBitTable
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 28
- ldr r2, [r2]
- ands r2, r0
- cmp r2, 0
- beq _0804F914
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1]
- b _0804FD70
- .pool
-_0804F914:
- ldr r0, =gBattleCommunication
- strb r2, [r0]
- b _0804FD70
- .pool
-_0804F920:
- ldr r4, =gSpecialStatuses
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _0804FD70
- .pool
-_0804F958:
- ldr r4, =gBattlePartyID
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- ldrh r3, [r4]
- ldrb r2, [r0, 0x10]
- adds r6, r1, 0
- cmp r3, r2
- beq _0804F974
- ldrh r0, [r4, 0x4]
- cmp r0, r2
- beq _0804F970
- b _0804FD70
-_0804F970:
- cmp r3, r0
- bne _0804F988
-_0804F974:
- ldr r1, =gActiveBank
- movs r0, 0
- b _0804F98C
- .pool
-_0804F988:
- ldr r1, =gActiveBank
- movs r0, 0x2
-_0804F98C:
- strb r0, [r1]
- adds r5, r1, 0
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, 0xC8
- ldr r1, [r6]
- adds r4, r1, r0
- movs r3, 0
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
- ldrh r2, [r4]
- cmp r0, r2
- beq _0804F9CC
- adds r6, r5, 0
- movs r5, 0x58
- adds r2, r1, 0
-_0804F9B4:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _0804F9CC
- lsls r1, r3, 1
- ldrb r0, [r6]
- muls r0, r5
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- ldrh r1, [r4]
- cmp r0, r1
- bne _0804F9B4
-_0804F9CC:
- cmp r3, 0x4
- beq _0804F9D2
- b _0804FD70
-_0804F9D2:
- movs r0, 0
- strh r0, [r4]
- b _0804FD70
- .pool
-_0804F9E0:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0xB
- ands r0, r1
- cmp r0, 0x8
- beq _0804F9EE
- b _0804FD70
-_0804F9EE:
- ldr r1, =gBattleMons
- ldrh r0, [r1, 0x28]
- cmp r0, 0
- bne _0804F9F8
- b _0804FD70
-_0804F9F8:
- adds r0, r1, 0
- adds r0, 0x80
- ldrh r0, [r0]
- cmp r0, 0
- bne _0804FA04
- b _0804FD70
-_0804FA04:
- ldr r0, =gHitMarker
- ldr r1, [r0]
- ldr r2, =0xffbfffff
- ands r1, r2
- str r1, [r0]
- b _0804FD70
- .pool
-_0804FA20:
- ldr r2, =gBattleCommunication
- mov r8, r2
- movs r0, 0
- strb r0, [r2]
- ldr r1, =gBattleScripting
- ldr r6, =gActiveBank
- ldrb r0, [r2, 0x1]
- strb r0, [r6]
- strb r0, [r1, 0x17]
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r7, r0, 0
- adds r7, 0x92
- ldrb r3, [r7]
- ldr r1, =gBitTable
- ldrb r2, [r6]
- lsls r0, r2, 2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r3, 0
- ands r0, r5
- cmp r0, 0
- beq _0804FA50
- b _0804FD70
-_0804FA50:
- ldr r4, =gBattleMons
- movs r0, 0x58
- mov r12, r0
- mov r1, r12
- muls r1, r2
- adds r2, r1, 0
- adds r1, r2, r4
- ldrh r0, [r1, 0x2C]
- lsrs r0, 1
- ldrh r1, [r1, 0x28]
- cmp r0, r1
- bcs _0804FA6A
- b _0804FD70
-_0804FA6A:
- cmp r1, 0
- bne _0804FA70
- b _0804FD70
-_0804FA70:
- adds r0, r4, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _0804FA82
- b _0804FD70
-_0804FA82:
- orrs r3, r5
- strb r3, [r7]
- movs r0, 0x1
- mov r2, r8
- strb r0, [r2]
- ldrb r0, [r6]
- mov r1, r12
- muls r1, r0
- adds r0, r1, 0
- adds r1, r4, 0
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- bl GetNatureFromPersonality
- ldr r1, =gUnknown_0831C4F8
- lsls r0, 24
- lsrs r0, 24
- adds r0, r1
- ldrb r0, [r0]
- mov r2, r8
- strb r0, [r2, 0x5]
- b _0804FD70
- .pool
-_0804FACC:
- ldr r4, =gBattleCommunication
- adds r0, r4, 0
- bl sub_81A5258
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _0804FADE
- b _0804FD78
-_0804FADE:
- strb r3, [r4, 0x1]
- b _0804FD70
- .pool
-_0804FAE8:
- ldr r0, =gBattleMons
- adds r0, 0x80
- movs r1, 0
- strh r1, [r0]
- ldr r2, =gHitMarker
- ldr r3, =gBitTable
- ldr r1, [r3, 0x4]
- lsls r1, 28
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- ldr r0, =0x000002a1
- adds r2, r0
- ldr r0, =gBattlePartyID
- ldrh r0, [r0, 0x2]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gDisableStructs
- adds r1, 0x34
- ldrb r0, [r1]
- movs r2, 0x2
- b _0804FBF4
- .pool
-_0804FB3C:
- ldr r1, =gBattleMons
- movs r0, 0
- strh r0, [r1, 0x28]
- ldr r2, =gHitMarker
- ldr r3, =gBitTable
- ldr r1, [r3]
- lsls r1, 28
- ldr r0, [r2]
- orrs r0, r1
- movs r1, 0x80
- lsls r1, 15
- orrs r0, r1
- str r0, [r2]
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- movs r1, 0xA8
- lsls r1, 2
- adds r2, r1
- ldr r0, =gBattlePartyID
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, =gDisableStructs
- ldrb r0, [r2, 0x18]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x18]
- b _0804FD70
- .pool
-_0804FB94:
- ldr r0, =gBattleMons
- movs r1, 0
- strh r1, [r0, 0x28]
- adds r0, 0x80
- strh r1, [r0]
- ldr r2, =gHitMarker
- ldr r3, =gBitTable
- ldr r0, [r3]
- lsls r0, 28
- ldr r1, [r2]
- orrs r1, r0
- ldr r0, [r3, 0x4]
- lsls r0, 28
- orrs r1, r0
- movs r0, 0x80
- lsls r0, 15
- orrs r1, r0
- str r1, [r2]
- ldr r5, =gBattleStruct
- ldr r2, [r5]
- movs r0, 0xA8
- lsls r0, 2
- adds r2, r0
- ldr r4, =gBattlePartyID
- ldrh r0, [r4]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r5]
- ldr r1, =0x000002a1
- adds r2, r1
- ldrh r0, [r4, 0x2]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gDisableStructs
- ldrb r0, [r1, 0x18]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1, 0x18]
- adds r1, 0x34
- ldrb r0, [r1]
-_0804FBF4:
- orrs r0, r2
- strb r0, [r1]
- b _0804FD70
- .pool
-_0804FC18:
- movs r0, 0
- bl sub_8033E10
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804FD70
- .pool
-_0804FC2C:
- bl sub_81A5BF8
- b _0804FD70
-_0804FC32:
- bl sub_81A5D44
- b _0804FD70
-_0804FC38:
- ldr r1, =gUnknown_085CD1C8
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
- ldr r0, =gDisplayedStringBattle
- movs r1, 0x16
- bl battle_show_message_maybe
- b _0804FD70
- .pool
-_0804FC60:
- movs r0, 0x16
- bl IsTextPrinterActive
- lsls r0, 16
- b _0804FD24
-_0804FC6A:
- bl IsCryFinished
- lsls r0, 24
- cmp r0, 0
- bne _0804FC76
- b _0804FD78
-_0804FC76:
- b _0804FD70
-_0804FC78:
- ldr r4, =gActiveBank
- movs r0, 0x1
- strb r0, [r4]
- ldr r0, =gBattleMons
- adds r0, 0x58
- b _0804FCA2
- .pool
-_0804FC8C:
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _0804FD70
- ldr r4, =gActiveBank
- movs r0, 0x3
- strb r0, [r4]
- ldr r0, =gBattleMons
- movs r2, 0x84
- lsls r2, 1
- adds r0, r2
-_0804FCA2:
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _0804FD70
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x06_a
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _0804FD70
- .pool
-_0804FCC4:
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x55
- bl m4aMPlayVolumeControl
- b _0804FD70
- .pool
-_0804FCD8:
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- b _0804FD70
- .pool
-_0804FCF0:
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- ldr r0, =0x000002a2
- adds r2, r0
- ldr r1, =gBitTable
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- b _0804FD70
- .pool
-_0804FD1C:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl sub_805725C
-_0804FD24:
- cmp r0, 0
- bne _0804FD78
- b _0804FD70
- .pool
-_0804FD30:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0804FD50
- ldr r1, =gBattleOutcome
- movs r0, 0x5
- strb r0, [r1]
- b _0804FD70
- .pool
-_0804FD50:
- ldr r1, =gBattleOutcome
- movs r0, 0xA
- strb r0, [r1]
- b _0804FD70
- .pool
-_0804FD5C:
- movs r1, 0xCE
- lsls r1, 1
- movs r0, 0
- movs r2, 0x1
- bl sub_8034300
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
-_0804FD70:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x3
- str r0, [r1]
-_0804FD78:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk76_various
-
- thumb_func_start atk77_setprotect
-atk77_setprotect: @ 804FD8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0x1
- ldr r2, =gUnknown_02024260
- ldr r1, =gBankAttacker
- ldrb r3, [r1]
- lsls r0, r3, 1
- adds r0, r2
- ldrh r0, [r0]
- mov r8, r1
- ldr r7, =gDisableStructs
- cmp r0, 0xB6
- beq _0804FDBC
- cmp r0, 0xC5
- beq _0804FDBC
- cmp r0, 0xCB
- beq _0804FDBC
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r7
- movs r1, 0
- strb r1, [r0, 0x8]
-_0804FDBC:
- ldr r0, =gUnknown_02024082
- ldrb r1, [r0]
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _0804FDCC
- movs r6, 0
-_0804FDCC:
- ldr r2, =sProtectSuccessRates
- mov r5, r8
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r4, [r0, 0x8]
- lsls r4, 1
- adds r4, r2
- bl Random
- ldrh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bcc _0804FE80
- cmp r6, 0
- beq _0804FE80
- ldr r4, =gBattleMoves
- ldr r3, =gCurrentMove
- ldrh r0, [r3]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1]
- cmp r0, 0x6F
- bne _0804FE1C
- ldr r0, =gProtectStructs
- ldrb r1, [r5]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x5]
-_0804FE1C:
- ldrh r0, [r3]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1]
- cmp r0, 0x74
- bne _0804FE42
- ldr r0, =gProtectStructs
- ldrb r1, [r5]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
-_0804FE42:
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
- b _0804FEA2
- .pool
-_0804FE80:
- ldr r2, =gDisableStructs
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x8]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_0804FEA2:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk77_setprotect
-
- thumb_func_start atk78_faintifabilitynotdamp
-atk78_faintifabilitynotdamp: @ 804FEC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gBattleExecBuffer
- ldr r2, [r0]
- cmp r2, 0
- bne _0804FFCC
- ldr r1, =gBankTarget
- strb r2, [r1]
- ldr r0, =gNoOfAllBanks
- ldrb r3, [r0]
- adds r5, r1, 0
- mov r8, r0
- ldr r6, =gBattleMons
- cmp r2, r3
- bcs _0804FF14
- adds r0, r6, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _0804FF14
- adds r2, r3, 0
- adds r4, r6, 0
- movs r3, 0x58
-_0804FEF8:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r2
- bcs _0804FF14
- ldrb r0, [r5]
- muls r0, r3
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _0804FEF8
-_0804FF14:
- ldrb r0, [r5]
- mov r1, r8
- ldrb r1, [r1]
- cmp r0, r1
- bne _0804FFB0
- ldr r4, =gActiveBank
- ldr r7, =gBankAttacker
- ldrb r0, [r7]
- strb r0, [r4]
- ldr r2, =gBattleMoveDamage
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r6
- ldrh r0, [r0, 0x28]
- str r0, [r2]
- ldr r1, =0x00007fff
- movs r0, 0
- bl dp01_build_cmdbuf_x18_0_aa_health_bar_update
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- movs r0, 0
- strb r0, [r5]
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0
- beq _0804FFCC
- adds r3, r5, 0
- ldrb r5, [r7]
- ldr r7, =gBitTable
- adds r4, r0, 0
- ldr r6, =gAbsentBankFlags
-_0804FF60:
- ldrb r2, [r3]
- cmp r2, r5
- beq _0804FF76
- ldrb r0, [r6]
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r7
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- beq _0804FFCC
-_0804FF76:
- adds r0, r2, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r4
- bcc _0804FF60
- b _0804FFCC
- .pool
-_0804FFB0:
- ldr r1, =gLastUsedAbility
- movs r0, 0x6
- strb r0, [r1]
- ldrb r0, [r5]
- movs r1, 0x58
- muls r1, r0
- adds r1, r6
- adds r1, 0x20
- ldrb r1, [r1]
- bl RecordAbilityBattle
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB560
- str r0, [r1]
-_0804FFCC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk78_faintifabilitynotdamp
-
- thumb_func_start atk79_setatkhptozero
-atk79_setatkhptozero: @ 804FFE4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gBattleExecBuffer
- ldr r3, [r0]
- cmp r3, 0
- bne _08050028
- ldr r4, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r4]
- ldr r1, =gBattleMons
- ldrb r0, [r4]
- movs r2, 0x58
- muls r0, r2
- adds r0, r1
- strh r3, [r0, 0x28]
- ldrb r0, [r4]
- muls r0, r2
- adds r1, 0x28
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2A
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08050028:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk79_setatkhptozero
-
- thumb_func_start atk7A_jumpwhiletargetvalid
-atk7A_jumpwhiletargetvalid: @ 8050044
- push {r4-r7,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r4, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r4, r0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- adds r7, r3, 0
- cmp r0, 0
- beq _080500DC
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r2, =gBankAttacker
- lsls r1, 24
- lsrs r1, 24
- adds r3, r0, 0
- ldr r6, =gAbsentBankFlags
- ldr r5, =gBitTable
- ldr r0, =gNoOfAllBanks
- mov r12, r0
- ldrb r0, [r2]
- cmp r1, r0
- bne _0805009A
-_0805008A:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- beq _0805008A
-_0805009A:
- ldrb r0, [r6]
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r5
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _0805008A
- ldrb r0, [r3]
- mov r2, r12
- ldrb r2, [r2]
- cmp r0, r2
- bcc _080500D8
- ldr r0, [r7]
- adds r0, 0x5
- str r0, [r7]
- b _080500E0
- .pool
-_080500D8:
- str r4, [r7]
- b _080500E0
-_080500DC:
- adds r0, r2, 0x5
- str r0, [r3]
-_080500E0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk7A_jumpwhiletargetvalid
-
- thumb_func_start atk7B_healhalfHP_if_possible
-atk7B_healhalfHP_if_possible: @ 80500E8
- push {r4-r6,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r1, [r4]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r2, r0
- ldrb r0, [r1, 0x5]
- ldr r3, =gBankTarget
- cmp r0, 0x1
- bne _08050110
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r3]
-_08050110:
- ldr r1, =gBattleMoveDamage
- ldr r6, =gBattleMons
- ldrb r0, [r3]
- movs r5, 0x58
- muls r0, r5
- adds r0, r6
- ldrh r0, [r0, 0x2C]
- lsrs r0, 1
- str r0, [r1]
- cmp r0, 0
- bne _0805012A
- movs r0, 0x1
- str r0, [r1]
-_0805012A:
- ldr r0, [r1]
- negs r0, r0
- str r0, [r1]
- ldrb r0, [r3]
- muls r0, r5
- adds r0, r6
- ldrh r1, [r0, 0x28]
- ldrh r0, [r0, 0x2C]
- cmp r1, r0
- bne _08050158
- str r2, [r4]
- b _0805015E
- .pool
-_08050158:
- ldr r0, [r4]
- adds r0, 0x6
- str r0, [r4]
-_0805015E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk7B_healhalfHP_if_possible
-
- thumb_func_start atk7C_8025508
-atk7C_8025508: @ 8050164
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r2, =gNoOfAllBanks
- ldr r0, =gBankAttacker
- mov r10, r0
- movs r1, 0
- add r0, sp, 0x4
-_0805017A:
- strh r1, [r0]
- subs r0, 0x2
- cmp r0, sp
- bge _0805017A
- movs r1, 0
- mov r8, r1
- movs r5, 0
- ldrb r1, [r2]
- cmp r5, r1
- bge _080501D0
- ldr r0, =gBankAttacker
- ldrb r6, [r0]
- ldr r2, =0x0000ffff
- mov r9, r2
- lsls r4, r6, 3
- mov r2, sp
- ldr r0, =gBattleStruct
- mov r12, r0
- adds r7, r1, 0
-_080501A0:
- cmp r5, r6
- beq _080501C8
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4, r0
- adds r1, r0, 0
- adds r1, 0xE0
- ldrb r3, [r1]
- adds r0, 0xE1
- ldrb r0, [r0]
- lsls r0, 8
- orrs r3, r0
- cmp r3, 0
- beq _080501C8
- cmp r3, r9
- beq _080501C8
- strh r3, [r2]
- adds r2, 0x2
- movs r0, 0x1
- add r8, r0
-_080501C8:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, r7
- blt _080501A0
-_080501D0:
- mov r1, r10
- ldrb r0, [r1]
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r1, r0, 0
- adds r1, 0x98
- ldrb r3, [r1]
- adds r0, 0x99
- ldrb r0, [r0]
- lsls r0, 8
- orrs r3, r0
- cmp r3, 0
- beq _08050220
- ldr r0, =0x0000ffff
- cmp r3, r0
- beq _08050220
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
- ldr r4, =gCurrentMove
- strh r3, [r4]
- b _0805024A
- .pool
-_08050220:
- mov r0, r8
- cmp r0, 0
- beq _08050290
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- adds r5, r0, 0
- ldr r4, =gCurrentMove
- lsls r0, r5, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4]
-_0805024A:
- ldrh r0, [r4]
- movs r1, 0
- bl GetMoveTarget
- ldr r1, =gBankTarget
- strb r0, [r1]
- ldr r5, =gBattlescriptCurrInstr
- ldr r3, =gUnknown_082D86A8
- ldr r2, =gBattleMoves
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- str r0, [r5]
- b _080502AE
- .pool
-_08050290:
- ldr r2, =gSpecialStatuses
- mov r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_080502AE:
- 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 atk7C_8025508
-
- thumb_func_start atk7D_set_rain
-atk7D_set_rain: @ 80502C8
- push {lr}
- ldr r2, =gBattleWeather
- ldrh r0, [r2]
- movs r1, 0x7
- ands r1, r0
- cmp r1, 0
- beq _080502F4
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- b _08050304
- .pool
-_080502F4:
- movs r0, 0x1
- strh r0, [r2]
- ldr r0, =gBattleCommunication
- strb r1, [r0, 0x5]
- ldr r0, =gUnknown_020243D0
- adds r0, 0x28
- movs r1, 0x5
- strb r1, [r0]
-_08050304:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk7D_set_rain
-
- thumb_func_start atk7E_setreflect
-atk7E_setreflect: @ 805031C
- push {r4-r6,lr}
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- bl GetBankIdentity
- ldr r4, =gSideAffecting
- movs r5, 0x1
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r1, [r1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0805035C
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0
- b _080503D0
- .pool
-_0805035C:
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strh r0, [r1]
- ldrb r0, [r6]
- bl GetBankIdentity
- ldr r4, =gSideTimers
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x5
- strb r1, [r0]
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r6]
- strb r1, [r0, 0x1]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ands r0, r5
- cmp r0, 0
- beq _080503CC
- movs r0, 0x1
- bl CountAliveMonsInBattle
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bne _080503CC
- ldr r0, =gBattleCommunication
- strb r1, [r0, 0x5]
- b _080503D2
- .pool
-_080503CC:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
-_080503D0:
- strb r0, [r1, 0x5]
-_080503D2:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk7E_setreflect
-
- thumb_func_start atk7F_setseeded
-atk7F_setseeded: @ 80503E8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r7, =gBattleMoveFlags
- ldrb r5, [r7]
- movs r0, 0x29
- ands r0, r5
- cmp r0, 0
- bne _0805041A
- ldr r0, =gStatuses3
- mov r9, r0
- ldr r1, =gBankTarget
- mov r8, r1
- ldrb r4, [r1]
- lsls r0, r4, 2
- mov r2, r9
- adds r6, r0, r2
- ldr r2, [r6]
- movs r0, 0x4
- mov r12, r0
- adds r3, r2, 0
- ands r3, r0
- cmp r3, 0
- beq _08050438
-_0805041A:
- movs r0, 0x1
- orrs r0, r5
- strb r0, [r7]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _08050488
- .pool
-_08050438:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r1, r0, r1
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xC
- beq _08050454
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xC
- bne _0805046C
-_08050454:
- movs r0, 0x1
- orrs r0, r5
- strb r0, [r7]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- b _08050488
- .pool
-_0805046C:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- orrs r2, r0
- str r2, [r6]
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 2
- add r1, r9
- ldr r0, [r1]
- mov r2, r12
- orrs r0, r2
- str r0, [r1]
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x5]
-_08050488:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk7F_setseeded
-
- thumb_func_start atk80_manipulatedamage
-atk80_manipulatedamage: @ 80504A8
- push {r4,lr}
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- ldrb r2, [r0, 0x1]
- adds r4, r1, 0
- cmp r2, 0x1
- beq _080504D8
- cmp r2, 0x1
- bgt _080504C4
- cmp r2, 0
- beq _080504CA
- b _08050518
- .pool
-_080504C4:
- cmp r2, 0x2
- beq _08050510
- b _08050518
-_080504CA:
- ldr r1, =gBattleMoveDamage
- ldr r0, [r1]
- negs r0, r0
- b _08050516
- .pool
-_080504D8:
- ldr r3, =gBattleMoveDamage
- ldr r0, [r3]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r3]
- cmp r0, 0
- bne _080504EA
- str r2, [r3]
-_080504EA:
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x2C]
- lsrs r1, r0, 1
- ldr r0, [r3]
- cmp r1, r0
- bge _08050518
- str r1, [r3]
- b _08050518
- .pool
-_08050510:
- ldr r1, =gBattleMoveDamage
- ldr r0, [r1]
- lsls r0, 1
-_08050516:
- str r0, [r1]
-_08050518:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk80_manipulatedamage
-
- thumb_func_start atk81_setrest
-atk81_setrest: @ 8050528
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, =gBattlescriptCurrInstr
- mov r12, r0
- ldr r1, [r0]
- ldrb r6, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r6, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r6, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r6, r0
- ldr r5, =gActiveBank
- ldr r2, =gBankTarget
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r2]
- strb r0, [r5]
- ldr r4, =gBattleMoveDamage
- ldr r1, =gBattleMons
- ldrb r0, [r2]
- movs r3, 0x58
- muls r0, r3
- adds r0, r1
- ldrh r0, [r0, 0x2C]
- negs r0, r0
- str r0, [r4]
- ldrb r0, [r2]
- adds r4, r0, 0
- muls r4, r3
- adds r0, r4, r1
- ldrh r3, [r0, 0x28]
- adds r7, r5, 0
- adds r5, r2, 0
- adds r2, r1, 0
- ldrh r0, [r0, 0x2C]
- cmp r3, r0
- bne _08050598
- mov r0, r12
- str r6, [r0]
- b _080505E8
- .pool
-_08050598:
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r4, r0
- ldr r1, [r0]
- movs r0, 0xF8
- ands r1, r0
- cmp r1, 0
- beq _080505B4
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _080505B8
- .pool
-_080505B4:
- ldr r0, =gBattleCommunication
- strb r1, [r0, 0x5]
-_080505B8:
- ldrb r0, [r5]
- movs r3, 0x58
- muls r0, r3
- adds r2, 0x4C
- adds r0, r2
- movs r1, 0x3
- str r1, [r0]
- ldrb r0, [r7]
- muls r0, r3
- adds r0, r2
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r7]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080505E8:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk81_setrest
-
- thumb_func_start atk82_jumpifnotfirstturn
-atk82_jumpifnotfirstturn: @ 80505F8
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r4, [r5]
- ldrb r3, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r4, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r4, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldr r2, =gDisableStructs
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x16]
- cmp r0, 0
- beq _08050638
- adds r0, r4, 0x5
- str r0, [r5]
- b _0805063A
- .pool
-_08050638:
- str r3, [r5]
-_0805063A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end atk82_jumpifnotfirstturn
-
- thumb_func_start atk83_nop
-atk83_nop: @ 8050640
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atk83_nop
-
- thumb_func_start sub_8050650
-sub_8050650: @ 8050650
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r0]
- mov r8, r0
- cmp r2, r1
- bge _080506C4
- ldr r0, =gBattleMons
- mov r12, r0
- movs r0, 0x58
- muls r0, r3
- add r0, r12
- adds r5, r0, 0
- adds r5, 0x20
- adds r4, r1, 0
- movs r3, 0
- ldr r6, =gBattleScripting
- ldr r7, =gBattleCommunication
-_0805067C:
- mov r0, r12
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x70
- ands r0, r1
- cmp r0, 0
- beq _080506BC
- ldrb r0, [r5]
- cmp r0, 0x2B
- beq _080506BC
- movs r3, 0
- strb r2, [r6, 0x17]
- ldr r1, =gBankTarget
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080506DC
- cmp r0, r2
- beq _080506D0
- movs r0, 0x1
- strb r0, [r7, 0x5]
- b _080506C4
- .pool
-_080506BC:
- adds r3, 0x58
- adds r2, 0x1
- cmp r2, r4
- blt _0805067C
-_080506C4:
- mov r1, r8
- ldrb r1, [r1]
- cmp r2, r1
- beq _080506E0
- movs r0, 0x1
- b _080506E2
-_080506D0:
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x5]
- b _080506C4
- .pool
-_080506DC:
- strb r2, [r1]
- b _080506C4
-_080506E0:
- movs r0, 0
-_080506E2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8050650
-
- thumb_func_start atk84_jump_if_cant_sleep
-atk84_jump_if_cant_sleep: @ 80506EC
- push {r4-r6,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r1, [r5]
- ldrb r4, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r4, r0
- ldr r6, =gBankTarget
- ldrb r0, [r6]
- bl sub_8050650
- lsls r0, 24
- cmp r0, 0
- beq _08050720
- str r4, [r5]
- b _08050762
- .pool
-_08050720:
- ldr r1, =gBattleMons
- ldrb r3, [r6]
- movs r0, 0x58
- muls r0, r3
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r1, 0xF
- beq _08050738
- cmp r1, 0x48
- bne _0805075C
-_08050738:
- ldr r2, =gLastUsedAbility
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- str r4, [r5]
- ldrb r1, [r2]
- adds r0, r3, 0
- bl RecordAbilityBattle
- b _08050762
- .pool
-_0805075C:
- ldr r0, [r5]
- adds r0, 0x5
- str r0, [r5]
-_08050762:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk84_jump_if_cant_sleep
-
- thumb_func_start atk85_stockpile
-atk85_stockpile: @ 8050768
- push {r4,r5,lr}
- ldr r5, =gDisableStructs
- ldr r4, =gBankAttacker
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1, 0x9]
- cmp r0, 0x3
- bne _080507A0
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _080507CA
- .pool
-_080507A0:
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1, 0x9]
- ldr r2, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r2]
- movs r0, 0x1
- strb r0, [r2, 0x1]
- strb r0, [r2, 0x2]
- strb r0, [r2, 0x3]
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x9]
- strb r0, [r2, 0x4]
- movs r0, 0xFF
- strb r0, [r2, 0x5]
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x5]
-_080507CA:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk85_stockpile
-
- thumb_func_start atk86_stockpiletobasedamage
-atk86_stockpiletobasedamage: @ 80507E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r2, r0
- ldr r7, =gDisableStructs
- ldr r6, =gBankAttacker
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _08050828
- str r2, [r3]
- b _080508CA
- .pool
-_08050828:
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- beq _080508B0
- ldr r0, =gBattleMoveDamage
- mov r8, r0
- ldr r4, =gSideAffecting
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- ldrb r0, [r6]
- movs r4, 0x58
- muls r0, r4
- ldr r2, =gBattleMons
- adds r0, r2
- ldrb r1, [r5]
- muls r1, r4
- adds r1, r2
- ldr r2, =gCurrentMove
- ldrh r2, [r2]
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- ldrb r4, [r6]
- str r4, [sp, 0x8]
- ldrb r4, [r5]
- str r4, [sp, 0xC]
- bl CalculateBaseDamage
- ldrb r2, [r6]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r7
- ldrb r1, [r1, 0x9]
- adds r3, r0, 0
- muls r3, r1
- mov r1, r8
- str r3, [r1]
- ldr r2, =gBattleScripting
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0, 0x9]
- strb r0, [r2, 0x18]
- ldr r1, =gProtectStructs
- ldrb r0, [r6]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 28
- cmp r0, 0
- bge _080508B0
- lsls r0, r3, 4
- subs r0, r3
- movs r1, 0xA
- bl __divsi3
- mov r1, r8
- str r0, [r1]
-_080508B0:
- ldr r2, =gDisableStructs
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x9]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080508CA:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk86_stockpiletobasedamage
-
- thumb_func_start atk87_stockpiletohpheal
-atk87_stockpiletohpheal: @ 8050904
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r7, =gBattlescriptCurrInstr
- ldr r1, [r7]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r2, r0
- ldr r0, =gDisableStructs
- mov r8, r0
- ldr r6, =gBankAttacker
- ldrb r3, [r6]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- mov r1, r8
- adds r4, r0, r1
- ldrb r1, [r4, 0x9]
- cmp r1, 0
- bne _08050954
- str r2, [r7]
- ldr r0, =gBattleCommunication
- strb r1, [r0, 0x5]
- b _080509D0
- .pool
-_08050954:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r3
- adds r1, r0, r1
- ldrh r0, [r1, 0x2C]
- ldrh r3, [r1, 0x28]
- cmp r0, r3
- bne _08050984
- movs r0, 0
- strb r0, [r4, 0x9]
- str r2, [r7]
- ldr r1, =gBankTarget
- ldrb r0, [r6]
- strb r0, [r1]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _080509D0
- .pool
-_08050984:
- ldr r5, =gBattleMoveDamage
- ldrh r0, [r1, 0x2C]
- ldrb r1, [r4, 0x9]
- movs r2, 0x3
- subs r2, r1
- movs r4, 0x1
- adds r1, r4, 0
- lsls r1, r2
- bl __divsi3
- str r0, [r5]
- cmp r0, 0
- bne _080509A0
- str r4, [r5]
-_080509A0:
- ldr r0, [r5]
- negs r0, r0
- str r0, [r5]
- ldr r3, =gBattleScripting
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x9]
- movs r2, 0
- strb r0, [r3, 0x18]
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r8
- strb r2, [r0, 0x9]
- ldr r0, [r7]
- adds r0, 0x5
- str r0, [r7]
- ldr r1, =gBankTarget
- ldrb r0, [r6]
- strb r0, [r1]
-_080509D0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk87_stockpiletohpheal
-
- thumb_func_start atk88_negativedamage
-atk88_negativedamage: @ 80509E8
- push {lr}
- ldr r2, =gBattleMoveDamage
- ldr r0, =gUnknown_020241F4
- ldr r0, [r0]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- negs r0, r0
- str r0, [r2]
- cmp r0, 0
- bne _08050A04
- movs r0, 0x1
- negs r0, r0
- str r0, [r2]
-_08050A04:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk88_negativedamage
-
- thumb_func_start sub_8050A1C
-sub_8050A1C: @ 8050A1C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r3
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0
- mov r9, r0
- mov r10, r0
- movs r0, 0x40
- ands r0, r5
- cmp r0, 0
- beq _08050A50
- ldr r0, =gActiveBank
- ldr r1, =gBankAttacker
- b _08050A54
- .pool
-_08050A50:
- ldr r0, =gActiveBank
- ldr r1, =gBankTarget
-_08050A54:
- ldrb r1, [r1]
- strb r1, [r0]
- movs r0, 0xBF
- ands r5, r0
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- beq _08050A6E
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08050A6E:
- movs r0, 0x7F
- ands r5, r0
- movs r0, 0x20
- ands r0, r5
- cmp r0, 0
- beq _08050A84
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_08050A84:
- movs r0, 0xDF
- ands r5, r0
- ldr r1, =gBattleTextBuff1
- movs r4, 0
- movs r2, 0xFD
- strb r2, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- strb r7, [r1, 0x2]
- movs r3, 0x1
- negs r3, r3
- mov r12, r3
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- lsls r0, r6, 24
- cmp r0, 0
- blt _08050AA8
- b _08050D8C
-_08050AA8:
- ldr r4, =gSideTimers
- ldr r1, =gActiveBank
- ldrb r0, [r1]
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08050B48
- mov r2, r9
- cmp r2, 0
- bne _08050B48
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xAE
- beq _08050B78
- cmp r5, 0x1
- bne _08050B68
- ldr r4, =gSpecialStatuses
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08050B10
- ldr r0, =gBattlescriptCurrInstr
- mov r4, r8
- str r4, [r0]
- b _08050B68
- .pool
-_08050B10:
- mov r0, r8
- bl b_movescr_stack_push
- ldr r1, =gBattleScripting
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- strb r0, [r1, 0x17]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAE03
- str r0, [r1]
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _08050B68
- .pool
-_08050B48:
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xAE
- beq _08050B78
- mov r0, r10
- cmp r0, 0x1
- beq _08050B78
- movs r0, 0
- bl sub_80464AC
- lsls r0, 24
- cmp r0, 0
- beq _08050B78
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D9F1C
- str r0, [r1]
-_08050B68:
- movs r0, 0x1
- b _08050E80
- .pool
-_08050B78:
- ldr r2, =gBattleMons
- ldr r1, =gActiveBank
- ldrb r3, [r1]
- movs r4, 0x58
- adds r0, r3, 0
- muls r0, r4
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- mov r10, r2
- cmp r0, 0x1D
- beq _08050B94
- cmp r0, 0x49
- bne _08050C2C
-_08050B94:
- mov r0, r9
- cmp r0, 0
- bne _08050C2C
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xAE
- beq _08050C2C
- cmp r5, 0x1
- bne _08050B68
- ldr r4, =gSpecialStatuses
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _08050BD4
- ldr r0, =gBattlescriptCurrInstr
- mov r1, r8
- str r1, [r0]
- b _08050B68
- .pool
-_08050BD4:
- mov r0, r8
- bl b_movescr_stack_push
- ldr r1, =gBattleScripting
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- strb r0, [r1, 0x17]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB5C7
- str r0, [r1]
- ldr r1, =gLastUsedAbility
- ldrb r0, [r2]
- movs r3, 0x58
- muls r0, r3
- add r0, r10
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- ldrb r1, [r1]
- bl RecordAbilityBattle
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _08050B68
- .pool
-_08050C2C:
- ldr r1, =gActiveBank
- ldrb r0, [r1]
- movs r4, 0x58
- muls r0, r4
- add r0, r10
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x33
- bne _08050C8C
- mov r2, r9
- cmp r2, 0
- bne _08050C8C
- cmp r7, 0x6
- bne _08050C8C
- cmp r5, 0x1
- bne _08050B68
- mov r0, r8
- bl b_movescr_stack_push
- ldr r1, =gBattleScripting
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- strb r0, [r1, 0x17]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB62F
- str r0, [r1]
- ldr r1, =gLastUsedAbility
- ldrb r0, [r3]
- muls r0, r4
- add r0, r10
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r3]
- ldrb r1, [r1]
- bl RecordAbilityBattle
- b _08050B68
- .pool
-_08050C8C:
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r4, 0x58
- muls r0, r4
- add r0, r10
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x34
- bne _08050CF0
- mov r0, r9
- cmp r0, 0
- bne _08050CF0
- cmp r7, 0x1
- bne _08050CF0
- cmp r5, 0x1
- beq _08050CAE
- b _08050B68
-_08050CAE:
- mov r0, r8
- bl b_movescr_stack_push
- ldr r1, =gBattleScripting
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- strb r0, [r1, 0x17]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB62F
- str r0, [r1]
- ldr r1, =gLastUsedAbility
- ldrb r0, [r2]
- muls r0, r4
- add r0, r10
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- ldrb r1, [r1]
- bl RecordAbilityBattle
- b _08050B68
- .pool
-_08050CF0:
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- add r0, r10
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x13
- bne _08050D08
- cmp r5, 0
- bne _08050D08
- b _08050B68
-_08050D08:
- lsls r0, r6, 24
- asrs r0, 28
- movs r1, 0x7
- ands r0, r1
- negs r0, r0
- lsls r0, 24
- ldr r3, =gBattleTextBuff2
- movs r4, 0
- movs r1, 0xFD
- strb r1, [r3]
- movs r2, 0x1
- lsrs r6, r0, 24
- asrs r0, 24
- subs r1, 0xFF
- cmp r0, r1
- bne _08050D32
- strb r4, [r3, 0x1]
- movs r0, 0xD3
- strb r0, [r3, 0x2]
- strb r4, [r3, 0x3]
- movs r2, 0x4
-_08050D32:
- adds r0, r2, r3
- strb r4, [r0]
- adds r2, 0x1
- adds r1, r2, r3
- movs r0, 0xD4
- strb r0, [r1]
- adds r2, 0x1
- adds r0, r2, r3
- strb r4, [r0]
- adds r2, 0x1
- adds r1, r2, r3
- movs r0, 0xFF
- strb r0, [r1]
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- movs r0, 0x58
- muls r0, r2
- adds r0, r7, r0
- mov r1, r10
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _08050DE2
- movs r1, 0
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- ldr r3, =gBattleCommunication
- mov r8, r3
- cmp r0, r2
- bne _08050D76
- movs r1, 0x1
-_08050D76:
- mov r4, r8
- strb r1, [r4, 0x5]
- b _08050E10
- .pool
-_08050D8C:
- asrs r6, r0, 28
- movs r0, 0x7
- ands r6, r0
- ldr r3, =gBattleTextBuff2
- strb r2, [r3]
- movs r2, 0x1
- cmp r6, 0x2
- bne _08050DA6
- strb r4, [r3, 0x1]
- movs r0, 0xD1
- strb r0, [r3, 0x2]
- strb r4, [r3, 0x3]
- movs r2, 0x4
-_08050DA6:
- adds r0, r2, r3
- strb r4, [r0]
- adds r2, 0x1
- adds r1, r2, r3
- movs r0, 0xD2
- strb r0, [r1]
- adds r2, 0x1
- adds r0, r2, r3
- strb r4, [r0]
- adds r2, 0x1
- adds r1, r2, r3
- ldrb r0, [r1]
- mov r2, r12
- orrs r0, r2
- strb r0, [r1]
- ldr r2, =gBattleMons
- ldr r4, =gActiveBank
- ldrb r3, [r4]
- movs r0, 0x58
- muls r0, r3
- adds r0, r7, r0
- adds r1, r2, 0
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r10, r2
- cmp r0, 0xC
- bne _08050DFC
-_08050DE2:
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- mov r8, r1
- b _08050E10
- .pool
-_08050DFC:
- movs r1, 0
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- ldr r2, =gBattleCommunication
- mov r8, r2
- cmp r0, r3
- bne _08050E0C
- movs r1, 0x1
-_08050E0C:
- mov r3, r8
- strb r1, [r3, 0x5]
-_08050E10:
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- movs r4, 0x58
- adds r1, r0, 0
- muls r1, r4
- adds r1, r7, r1
- mov r3, r10
- adds r3, 0x18
- adds r1, r3
- lsls r0, r6, 24
- asrs r0, 24
- ldrb r6, [r1]
- adds r0, r6
- strb r0, [r1]
- ldrb r0, [r2]
- muls r0, r4
- adds r0, r7, r0
- adds r1, r0, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _08050E40
- movs r0, 0
- strb r0, [r1]
-_08050E40:
- ldr r1, =gActiveBank
- ldrb r0, [r1]
- muls r0, r4
- adds r0, r7, r0
- adds r1, r0, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _08050E56
- movs r0, 0xC
- strb r0, [r1]
-_08050E56:
- mov r2, r8
- ldrb r0, [r2, 0x5]
- cmp r0, 0x2
- bne _08050E7E
- movs r3, 0x1
- ands r3, r5
- cmp r3, 0
- beq _08050E70
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
-_08050E70:
- mov r4, r8
- ldrb r0, [r4, 0x5]
- cmp r0, 0x2
- bne _08050E7E
- cmp r3, 0
- bne _08050E7E
- b _08050B68
-_08050E7E:
- movs r0, 0
-_08050E80:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8050A1C
-
- thumb_func_start atk89_statbuffchange
-atk89_statbuffchange: @ 8050EA0
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r2, [r5]
- ldrb r3, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r3, r0
- ldr r0, =gBattleScripting
- ldrb r4, [r0, 0x1A]
- movs r0, 0xF0
- ands r0, r4
- lsls r0, 24
- asrs r0, 24
- movs r1, 0xF
- ands r1, r4
- ldrb r2, [r2, 0x1]
- bl sub_8050A1C
- lsls r0, 24
- cmp r0, 0
- bne _08050EDC
- ldr r0, [r5]
- adds r0, 0x6
- str r0, [r5]
-_08050EDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk89_statbuffchange
-
- thumb_func_start atk8A_normalisebuffs
-atk8A_normalisebuffs: @ 8050EEC
- push {r4-r7,lr}
- movs r2, 0
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r0]
- ldr r0, =gBattlescriptCurrInstr
- mov r12, r0
- cmp r2, r1
- bge _08050F24
- ldr r0, =gBattleMons
- movs r4, 0x6
- adds r5, r1, 0
- movs r7, 0x58
- adds r6, r0, 0
- adds r6, 0x18
-_08050F08:
- adds r3, r2, 0x1
- movs r1, 0x7
- adds r0, r2, 0
- muls r0, r7
- adds r0, r6
- adds r0, 0x7
-_08050F14:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _08050F14
- adds r2, r3, 0
- cmp r2, r5
- blt _08050F08
-_08050F24:
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk8A_normalisebuffs
-
- thumb_func_start atk8B_setbide
-atk8B_setbide: @ 8050F40
- push {r4,r5,lr}
- ldr r4, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- movs r5, 0x58
- adds r2, r0, 0
- muls r2, r5
- adds r4, 0x50
- adds r2, r4
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 5
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gUnknown_02024268
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- movs r2, 0
- strh r1, [r0]
- ldr r1, =gUnknown_020241F8
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r1
- str r2, [r0]
- ldrb r0, [r3]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r4
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 2
- orrs r0, r2
- str r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk8B_setbide
-
- thumb_func_start atk8C_confuseifrepeatingattackends
-atk8C_confuseifrepeatingattackends: @ 8050FB0
- push {lr}
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 4
- ands r0, r1
- cmp r0, 0
- bne _08050FD2
- ldr r1, =gBattleCommunication
- movs r0, 0x75
- strb r0, [r1, 0x3]
-_08050FD2:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk8C_confuseifrepeatingattackends
-
- thumb_func_start atk8D_setmultihit_counter
-atk8D_setmultihit_counter: @ 8050FF0
- push {r4,r5,lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- cmp r1, 0
- beq _0805100C
- ldr r0, =gUnknown_02024212
- strb r1, [r0]
- b _08051026
- .pool
-_0805100C:
- ldr r4, =gUnknown_02024212
- bl Random
- movs r5, 0x3
- ands r0, r5
- strb r0, [r4]
- cmp r0, 0x1
- bls _08051022
- bl Random
- ands r0, r5
-_08051022:
- adds r0, 0x2
- strb r0, [r4]
-_08051026:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk8D_setmultihit_counter
-
- thumb_func_start atk8E_prepare_multihit
-atk8E_prepare_multihit: @ 805103C
- ldr r1, =gBattleScripting
- movs r2, 0
- movs r0, 0xFD
- strb r0, [r1, 0x8]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- strb r0, [r1, 0xA]
- strb r0, [r1, 0xB]
- strb r2, [r1, 0xC]
- movs r0, 0xFF
- strb r0, [r1, 0xD]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atk8E_prepare_multihit
-
- thumb_func_start sub_8051064
-sub_8051064: @ 8051064
- push {r4-r7,lr}
- ldr r6, =gBattleMons
- ldr r7, =gBankAttacker
- ldrb r0, [r7]
- movs r5, 0x58
- adds r1, r0, 0
- muls r1, r5
- adds r1, r6
- adds r1, 0x2A
- ldr r4, =gBankTarget
- ldrb r3, [r4]
- adds r0, r3, 0
- muls r0, r5
- adds r0, r6
- adds r0, 0x2A
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bcc _080510AC
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r1, r3, r1
- adds r1, 0x58
- ldr r2, =gBattlePartyID
- lsls r0, r3, 1
- b _08051108
- .pool
-_080510AC:
- bl Random
- movs r3, 0xFF
- ands r3, r0
- ldrb r0, [r7]
- muls r0, r5
- adds r0, r6
- adds r0, 0x2A
- ldrb r2, [r0]
- ldrb r4, [r4]
- adds r0, r4, 0
- muls r0, r5
- adds r0, r6
- adds r0, 0x2A
- ldrb r1, [r0]
- adds r2, r1
- adds r0, r3, 0
- muls r0, r2
- asrs r0, 8
- adds r0, 0x1
- lsrs r1, 2
- cmp r0, r1
- bhi _080510FC
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- movs r0, 0
- b _08051116
- .pool
-_080510FC:
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r1, r4, r1
- adds r1, 0x58
- ldr r2, =gBattlePartyID
- lsls r0, r4, 1
-_08051108:
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DADD8
- str r0, [r1]
- movs r0, 0x1
-_08051116:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8051064
-
- thumb_func_start atk8F_forcerandomswitch
-atk8F_forcerandomswitch: @ 805112C
- 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]
- ldr r5, =gBattleTypeFlags
- ldr r0, [r5]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0805114A
- b _08051410
-_0805114A:
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- ldr r1, =gEnemyParty
- str r1, [sp]
- cmp r0, 0
- bne _08051160
- ldr r0, =gPlayerParty
- str r0, [sp]
-_08051160:
- ldr r2, [r5]
- movs r1, 0x81
- lsls r1, 1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, r1
- beq _08051182
- ldr r1, =0x02000100
- adds r0, r2, 0
- ands r0, r1
- cmp r0, r1
- beq _08051182
- movs r0, 0x80
- lsls r0, 15
- ands r0, r2
- cmp r0, 0
- beq _080511C8
-_08051182:
- ldr r2, =gBankTarget
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- adds r1, r2, 0
- cmp r0, 0
- beq _080511AC
- movs r0, 0x3
- mov r9, r0
- movs r0, 0x6
- b _080511B2
- .pool
-_080511AC:
- movs r0, 0
- mov r9, r0
- movs r0, 0x3
-_080511B2:
- mov r8, r0
- movs r0, 0x3
- mov r10, r0
- movs r0, 0x1
- str r0, [sp, 0x8]
- ldr r2, =gBattlePartyID
- ldrb r1, [r1]
- b _0805128E
- .pool
-_080511C8:
- movs r0, 0x42
- ands r0, r2
- cmp r0, 0x42
- beq _080511DA
- ldr r1, =0x02000040
- adds r0, r2, 0
- ands r0, r1
- cmp r0, r1
- bne _0805121C
-_080511DA:
- ldrb r0, [r4]
- bl sub_806D864
- lsls r0, 24
- lsrs r0, 24
- bl sub_806D82C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _080511FC
- movs r1, 0x3
- mov r9, r1
- movs r0, 0x6
- b _08051202
- .pool
-_080511FC:
- movs r1, 0
- mov r9, r1
- movs r0, 0x3
-_08051202:
- mov r8, r0
- movs r1, 0x3
- mov r10, r1
- movs r0, 0x1
- str r0, [sp, 0x8]
- ldr r2, =gBattlePartyID
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- b _0805128E
- .pool
-_0805121C:
- movs r0, 0x80
- lsls r0, 8
- ands r0, r2
- cmp r0, 0
- beq _08051274
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08051240
- movs r1, 0
- mov r9, r1
- movs r0, 0x6
- mov r8, r0
- mov r10, r0
- movs r1, 0x2
- b _08051260
-_08051240:
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08051252
- movs r0, 0x3
- mov r9, r0
- movs r1, 0x6
- b _08051258
-_08051252:
- movs r0, 0
- mov r9, r0
- movs r1, 0x3
-_08051258:
- mov r8, r1
- movs r0, 0x3
- mov r10, r0
- movs r1, 0x1
-_08051260:
- str r1, [sp, 0x8]
- ldr r2, =gBattlePartyID
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- b _0805128E
- .pool
-_08051274:
- movs r0, 0x1
- ands r2, r0
- cmp r2, 0
- beq _080512A4
- movs r0, 0
- mov r9, r0
- movs r1, 0x6
- mov r8, r1
- mov r10, r1
- movs r0, 0x2
- str r0, [sp, 0x8]
- ldr r2, =gBattlePartyID
- ldrb r1, [r4]
-_0805128E:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r7, [r0]
- movs r0, 0x2
- eors r1, r0
- lsls r1, 1
- adds r1, r2
- ldrh r5, [r1]
- b _080512BE
- .pool
-_080512A4:
- movs r1, 0
- mov r9, r1
- movs r0, 0x6
- mov r8, r0
- mov r10, r0
- movs r1, 0x1
- str r1, [sp, 0x8]
- ldr r1, =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r5, [r0]
- adds r7, r5, 0
-_080512BE:
- mov r6, r9
- cmp r6, r8
- bge _080512FC
-_080512C4:
- movs r0, 0x64
- muls r0, r6
- ldr r1, [sp]
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080512F6
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080512F6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080512F6
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
-_080512F6:
- adds r6, 0x1
- cmp r6, r8
- blt _080512C4
-_080512FC:
- ldr r1, [sp, 0x4]
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bgt _08051328
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08051414
- .pool
-_08051328:
- bl sub_8051064
- lsls r0, 24
- cmp r0, 0
- beq _08051378
-_08051332:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __modsi3
- adds r6, r0, 0
- add r6, r9
- cmp r6, r7
- beq _08051332
- cmp r6, r5
- beq _08051332
- movs r0, 0x64
- muls r0, r6
- ldr r1, [sp]
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08051332
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _08051332
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08051332
-_08051378:
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- adds r0, 0x5C
- strb r6, [r0]
- bl sub_81B1250
- lsls r0, 24
- cmp r0, 0
- bne _08051396
- ldrb r0, [r4]
- bl sub_803BDA0
-_08051396:
- ldr r0, =gBattleTypeFlags
- ldr r2, [r0]
- movs r1, 0x81
- lsls r1, 1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, r1
- beq _080513C0
- movs r0, 0x42
- ands r0, r2
- cmp r0, 0x42
- beq _080513C0
- ldr r1, =0x02000100
- adds r0, r2, 0
- ands r0, r1
- cmp r0, r1
- beq _080513C0
- ldr r0, =0x02000040
- ands r2, r0
- cmp r2, r0
- bne _080513DE
-_080513C0:
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- lsls r4, r6, 24
- lsrs r4, 24
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B8E80
- ldrb r1, [r5]
- movs r0, 0x2
- eors r0, r1
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_81B8E80
-_080513DE:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _08051414
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r1, r6, 24
- lsrs r1, 24
- bl sub_80571DC
- b _08051414
- .pool
-_08051410:
- bl sub_8051064
-_08051414:
- 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 atk8F_forcerandomswitch
-
- thumb_func_start atk90_conversion_type_change
-atk90_conversion_type_change: @ 8051424
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- ldr r2, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
- mov r8, r2
- cmp r0, 0
- beq _08051466
- movs r5, 0x58
- adds r2, r1, 0
-_0805144C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _08051466
- lsls r1, r6, 1
- ldrb r0, [r3]
- muls r0, r5
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- cmp r0, 0
- bne _0805144C
-_08051466:
- movs r3, 0
- cmp r3, r6
- bcs _080514E8
- ldr r0, =gBattleMoves
- mov r10, r0
- ldr r5, =gBattleMons
- mov r12, r5
- ldr r7, =gBankAttacker
- ldrb r0, [r7]
- movs r4, 0x58
- adds r5, r0, 0
- muls r5, r4
- movs r0, 0xC
- add r0, r12
- mov r9, r0
-_08051484:
- lsls r0, r3, 1
- adds r0, r5
- add r0, r9
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r2, [r0, 0x2]
- cmp r2, 0x9
- bne _080514C6
- mov r0, r8
- adds r1, r5, r0
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _080514B2
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _080514C4
-_080514B2:
- movs r2, 0x7
- b _080514C6
- .pool
-_080514C4:
- movs r2, 0
-_080514C6:
- ldrb r0, [r7]
- muls r0, r4
- add r0, r12
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- cmp r2, r1
- beq _080514DE
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r2, r0
- bne _080514E8
-_080514DE:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r6
- bcc _08051484
-_080514E8:
- cmp r3, r6
- bne _0805150C
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _080515B0
- .pool
-_0805150C:
- movs r7, 0x3
- ldr r5, =gBattleMoves
- mov r9, r5
-_08051512:
- bl Random
- adds r3, r0, 0
- ands r3, r7
- cmp r3, r6
- bcs _08051512
- ldr r4, =gBattleMons
- lsls r1, r3, 1
- ldr r3, =gBankAttacker
- ldrb r2, [r3]
- movs r0, 0x58
- adds r5, r2, 0
- muls r5, r0
- adds r1, r5
- adds r0, r4, 0
- adds r0, 0xC
- adds r1, r0
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r2, [r0, 0x2]
- mov r8, r4
- adds r4, r3, 0
- cmp r2, 0x9
- bne _08051572
- mov r0, r8
- adds r2, r5, r0
- adds r0, r2, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _08051560
- adds r0, r2, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08051570
-_08051560:
- movs r2, 0x7
- b _08051572
- .pool
-_08051570:
- movs r2, 0
-_08051572:
- ldrb r0, [r4]
- movs r3, 0x58
- muls r0, r3
- add r0, r8
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r5, [r1]
- cmp r2, r5
- beq _08051512
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r2, r0
- beq _08051512
- strb r2, [r1]
- ldrb r0, [r4]
- muls r0, r3
- add r0, r8
- adds r0, 0x22
- strb r2, [r0]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x3
- strb r0, [r1, 0x1]
- strb r2, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080515B0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk90_conversion_type_change
-
- thumb_func_start atk91_givepaydaymoney
-atk91_givepaydaymoney: @ 80515C8
- push {r4,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- bne _08051650
- ldr r1, =gUnknown_0202432E
- ldrh r0, [r1]
- cmp r0, 0
- beq _08051650
- adds r1, r0, 0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x4A
- ldrb r0, [r0]
- adds r4, r1, 0
- muls r4, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- adds r1, r4, 0
- bl AddMoney
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0x5
- strb r0, [r1, 0x3]
- strb r4, [r1, 0x4]
- movs r0, 0xFF
- lsls r0, 8
- ands r4, r0
- lsrs r4, 8
- strb r4, [r1, 0x5]
- movs r0, 0xFF
- strb r0, [r1, 0x6]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB307
- str r0, [r4]
- b _08051658
- .pool
-_08051650:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08051658:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk91_givepaydaymoney
-
- thumb_func_start atk92_setlightscreen
-atk92_setlightscreen: @ 8051664
- push {r4-r6,lr}
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- bl GetBankIdentity
- ldr r4, =gSideAffecting
- movs r6, 0x1
- adds r1, r6, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r1, [r1]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080516A4
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0
- b _08051718
- .pool
-_080516A4:
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r6, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strh r0, [r1]
- ldrb r0, [r5]
- bl GetBankIdentity
- ldr r4, =gSideTimers
- adds r1, r6, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x5
- strb r1, [r0, 0x2]
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r6, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r5]
- strb r1, [r0, 0x3]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ands r0, r6
- cmp r0, 0
- beq _08051714
- movs r0, 0x1
- bl CountAliveMonsInBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08051714
- ldr r1, =gBattleCommunication
- movs r0, 0x4
- b _08051718
- .pool
-_08051714:
- ldr r1, =gBattleCommunication
- movs r0, 0x3
-_08051718:
- strb r0, [r1, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk92_setlightscreen
-
- thumb_func_start atk93_ko_move
-atk93_ko_move: @ 8051730
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r7, =gBattleMons
- ldr r6, =gBankTarget
- ldrb r2, [r6]
- movs r5, 0x58
- adds r0, r2, 0
- muls r0, r5
- adds r1, r0, r7
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _08051768
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x7]
- ldrb r6, [r0, 0x1A]
- b _08051782
- .pool
-_08051768:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r7
- ldrh r0, [r0, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r6, r0, 24
-_08051782:
- ldr r1, =gStringBank
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- strb r0, [r1]
- cmp r4, 0x27
- bne _080517C0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bcs _080517C0
- ldrb r0, [r5]
- movs r1, 0x27
- bl RecordItemEffectBattle
- ldr r2, =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
-_080517C0:
- ldr r1, =gBattleMons
- ldr r2, =gBankTarget
- ldrb r3, [r2]
- movs r6, 0x58
- adds r0, r3, 0
- muls r0, r6
- adds r5, r0, r1
- adds r0, r5, 0
- adds r0, 0x20
- ldrb r4, [r0]
- mov r8, r1
- mov r9, r2
- cmp r4, 0x5
- bne _0805181C
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gLastUsedAbility
- strb r4, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB552
- str r0, [r1]
- mov r1, r9
- ldrb r0, [r1]
- movs r1, 0x5
- bl RecordAbilityBattle
- b _08051A70
- .pool
-_0805181C:
- ldr r1, =gStatuses3
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x18
- ands r0, r1
- cmp r0, 0
- bne _080518A0
- ldr r1, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldr r7, =gBankAttacker
- ldrb r0, [r7]
- muls r0, r6
- add r0, r8
- adds r0, 0x2A
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r1, 0x2A
- ldrb r1, [r1]
- subs r0, r1
- ldrb r2, [r2, 0x3]
- adds r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0x1
- cmp r0, r4
- blt _08051870
- b _08051A08
-_08051870:
- ldrb r0, [r7]
- adds r1, r0, 0
- muls r1, r6
- add r1, r8
- adds r1, 0x2A
- mov r2, r9
- ldrb r0, [r2]
- muls r0, r6
- add r0, r8
- adds r0, 0x2A
- ldrb r1, [r1]
- movs r4, 0x1
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08051936
- b _08051A08
- .pool
-_080518A0:
- ldr r1, =gDisableStructs
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldr r1, =gBankAttacker
- ldrb r0, [r0, 0x15]
- adds r7, r1, 0
- ldrb r3, [r7]
- cmp r0, r3
- bne _080518CA
- ldrb r0, [r7]
- muls r0, r6
- add r0, r8
- adds r0, 0x2A
- adds r1, r5, 0
- adds r1, 0x2A
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08051942
-_080518CA:
- ldr r1, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldr r6, =gBattleMons
- ldrb r0, [r7]
- movs r5, 0x58
- muls r0, r5
- adds r0, r6
- adds r0, 0x2A
- ldrb r1, [r0]
- ldr r0, =gBankTarget
- mov r8, r0
- ldrb r0, [r0]
- muls r0, r5
- adds r0, r6
- adds r0, 0x2A
- ldrb r0, [r0]
- subs r1, r0
- ldrb r2, [r2, 0x3]
- adds r1, r2
- lsls r1, 16
- lsrs r4, r1, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0x1
- cmp r0, r4
- bge _08051934
- ldrb r0, [r7]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r6
- adds r1, 0x2A
- mov r2, r8
- ldrb r0, [r2]
- muls r0, r5
- adds r0, r6
- adds r0, 0x2A
- ldrb r1, [r1]
- movs r4, 0x1
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08051936
-_08051934:
- movs r4, 0
-_08051936:
- ldr r3, =gBattleMons
- mov r8, r3
- ldr r0, =gBankTarget
- mov r9, r0
- cmp r4, 0
- beq _08051A08
-_08051942:
- ldr r0, =gProtectStructs
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- bge _08051990
- ldr r1, =gBattleMoveDamage
- movs r0, 0x58
- muls r0, r2
- add r0, r8
- ldrh r0, [r0, 0x28]
- subs r0, 0x1
- str r0, [r1]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x40
- b _080519EE
- .pool
-_08051990:
- ldr r0, =gSpecialStatuses
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _080519DC
- ldr r1, =gBattleMoveDamage
- movs r3, 0x58
- adds r0, r2, 0
- muls r0, r3
- add r0, r8
- ldrh r0, [r0, 0x28]
- subs r0, 0x1
- str r0, [r1]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gLastUsedItem
- mov r2, r9
- ldrb r0, [r2]
- muls r0, r3
- add r0, r8
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
- b _080519F2
- .pool
-_080519DC:
- ldr r1, =gBattleMoveDamage
- movs r0, 0x58
- muls r0, r2
- add r0, r8
- ldrh r0, [r0, 0x28]
- str r0, [r1]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x10
-_080519EE:
- orrs r0, r1
- strb r0, [r2]
-_080519F2:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08051A70
- .pool
-_08051A08:
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r3, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- movs r2, 0x58
- adds r1, r0, 0
- muls r1, r2
- adds r1, r3
- adds r1, 0x2A
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- adds r0, 0x2A
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bcc _08051A50
- ldr r1, =gBattleCommunication
- movs r0, 0
- b _08051A54
- .pool
-_08051A50:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
-_08051A54:
- strb r0, [r1, 0x5]
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08051A70:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk93_ko_move
-
- thumb_func_start atk94_gethalfcurrentenemyhp
-atk94_gethalfcurrentenemyhp: @ 8051A84
- push {lr}
- ldr r3, =gBattleMoveDamage
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- lsrs r0, 1
- str r0, [r3]
- cmp r0, 0
- bne _08051AA2
- movs r0, 0x1
- str r0, [r3]
-_08051AA2:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk94_gethalfcurrentenemyhp
-
- thumb_func_start atk95_setsandstorm
-atk95_setsandstorm: @ 8051AC0
- push {lr}
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _08051AEC
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- b _08051AFE
- .pool
-_08051AEC:
- movs r0, 0x8
- strh r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x3
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_020243D0
- adds r0, 0x28
- movs r1, 0x5
- strb r1, [r0]
-_08051AFE:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk95_setsandstorm
-
- thumb_func_start atk96_weatherdamage
-atk96_weatherdamage: @ 8051B18
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08051B36
- b _08051C48
-_08051B36:
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _08051B4C
- b _08051C48
-_08051B4C:
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x18
- ands r0, r1
- adds r4, r2, 0
- ldr r5, =gBankAttacker
- cmp r0, 0
- beq _08051BDA
- ldr r0, =gBattleMons
- ldrb r2, [r5]
- movs r1, 0x58
- muls r1, r2
- adds r3, r1, r0
- adds r0, r3, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _08051BD4
- cmp r0, 0x8
- beq _08051BD4
- cmp r0, 0x4
- beq _08051BD4
- adds r0, r3, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _08051BD4
- cmp r0, 0x8
- beq _08051BD4
- cmp r0, 0x4
- beq _08051BD4
- adds r0, r3, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x8
- beq _08051BD4
- ldr r0, =gStatuses3
- lsls r1, r2, 2
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08051BD4
- movs r0, 0x80
- lsls r0, 11
- ands r1, r0
- cmp r1, 0
- bne _08051BD4
- ldr r1, =gBattleMoveDamage
- ldrh r0, [r3, 0x2C]
- lsrs r0, 4
- str r0, [r1]
- cmp r0, 0
- bne _08051BDA
- movs r0, 0x1
- b _08051BD8
- .pool
-_08051BD4:
- ldr r1, =gBattleMoveDamage
- movs r0, 0
-_08051BD8:
- str r0, [r1]
-_08051BDA:
- ldrh r1, [r4]
- movs r4, 0x80
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08051C50
- ldr r1, =gBattleMons
- ldrb r3, [r5]
- movs r0, 0x58
- muls r0, r3
- adds r2, r0, r1
- adds r0, r2, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xF
- beq _08051C3C
- adds r0, r2, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xF
- beq _08051C3C
- ldr r0, =gStatuses3
- lsls r1, r3, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r1, 0
- ands r0, r4
- cmp r0, 0
- bne _08051C3C
- movs r0, 0x80
- lsls r0, 11
- ands r1, r0
- cmp r1, 0
- bne _08051C3C
- ldr r1, =gBattleMoveDamage
- ldrh r0, [r2, 0x2C]
- lsrs r0, 4
- str r0, [r1]
- cmp r0, 0
- bne _08051C50
- movs r0, 0x1
- str r0, [r1]
- b _08051C50
- .pool
-_08051C3C:
- ldr r1, =gBattleMoveDamage
- movs r0, 0
- str r0, [r1]
- b _08051C50
- .pool
-_08051C48:
- ldr r1, =gBattleMoveDamage
- movs r0, 0
- str r0, [r1]
- ldr r5, =gBankAttacker
-_08051C50:
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08051C6A
- ldr r1, =gBattleMoveDamage
- movs r0, 0
- str r0, [r1]
-_08051C6A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk96_weatherdamage
-
- thumb_func_start atk97_try_infatuation
-atk97_try_infatuation: @ 8051C90
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08051CC8
- ldr r1, =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _08051CD8
- .pool
-_08051CC8:
- ldr r1, =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_08051CD8:
- adds r5, r1, r0
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08051D0C
- ldr r1, =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _08051D1C
- .pool
-_08051D0C:
- ldr r1, =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_08051D1C:
- adds r4, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0
- bl GetMonData
- mov r9, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r7, r0, 0
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- movs r6, 0x58
- muls r0, r6
- ldr r1, =gBattleMons
- adds r0, r1
- adds r0, 0x20
- ldrb r2, [r0]
- cmp r2, 0xC
- bne _08051D94
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB5F5
- str r0, [r1]
- ldr r0, =gLastUsedAbility
- strb r2, [r0]
- ldrb r0, [r5]
- movs r1, 0xC
- bl RecordAbilityBattle
- b _08051E2C
- .pool
-_08051D94:
- mov r0, r10
- mov r1, r9
- bl GetGenderFromSpeciesAndPersonality
- adds r4, r0, 0
- mov r0, r8
- adds r1, r7, 0
- bl GetGenderFromSpeciesAndPersonality
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08051DE4
- ldrb r0, [r5]
- muls r0, r6
- ldr r4, =gBattleMons
- adds r4, 0x50
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0xF0
- lsls r1, 12
- ands r0, r1
- cmp r0, 0
- bne _08051DE4
- mov r0, r10
- mov r1, r9
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08051DE4
- mov r0, r8
- adds r1, r7, 0
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08051E08
-_08051DE4:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08051E2C
- .pool
-_08051E08:
- ldrb r0, [r5]
- adds r2, r0, 0
- muls r2, r6
- adds r2, r4
- ldr r1, =gBitTable
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 16
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08051E2C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk97_try_infatuation
-
- thumb_func_start atk98_status_icon_update
-atk98_status_icon_update: @ 8051E48
- push {r4-r7,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _08051F34
- ldr r5, =gBattlescriptCurrInstr
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x4
- beq _08051EA0
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r3, =gBattleMons
- ldrb r1, [r4]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- adds r0, r3, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r1, [r0]
- adds r3, 0x50
- adds r2, r3
- ldr r2, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x1A_aaaa_bbbb
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- b _08051F34
- .pool
-_08051EA0:
- ldr r4, =gActiveBank
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- strb r0, [r4]
- ldr r6, =gAbsentBankFlags
- ldrb r1, [r6]
- ldr r7, =gBitTable
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r7
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08051EDC
- ldr r3, =gBattleMons
- movs r0, 0x58
- muls r2, r0
- adds r0, r3, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r1, [r0]
- adds r3, 0x50
- adds r2, r3
- ldr r2, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x1A_aaaa_bbbb
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08051EDC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08051F2C
- ldrb r0, [r5]
- bl GetBankIdentity
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByPlayerAI
- strb r0, [r4]
- ldrb r1, [r6]
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r7
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08051F2C
- ldr r3, =gBattleMons
- movs r0, 0x58
- muls r2, r0
- adds r0, r3, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r1, [r0]
- adds r3, 0x50
- adds r2, r3
- ldr r2, [r2]
- movs r0, 0
- bl dp01_build_cmdbuf_x1A_aaaa_bbbb
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08051F2C:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_08051F34:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk98_status_icon_update
-
- thumb_func_start atk99_setmist
-atk99_setmist: @ 8051F58
- push {r4-r6,lr}
- ldr r6, =gSideTimers
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankIdentity
- movs r5, 0x1
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08051F98
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleCommunication
- strb r5, [r0, 0x5]
- b _08051FE6
- .pool
-_08051F98:
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5
- strb r1, [r0, 0x4]
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r4]
- strb r1, [r0, 0x5]
- ldrb r0, [r4]
- bl GetBankIdentity
- ldr r2, =gSideAffecting
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- movs r3, 0
- orrs r0, r2
- strh r0, [r1]
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x5]
-_08051FE6:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk99_setmist
-
- thumb_func_start atk9A_set_focusenergy
-atk9A_set_focusenergy: @ 8052000
- push {lr}
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r1, [r0]
- movs r3, 0x80
- lsls r3, 13
- adds r2, r1, 0
- ands r2, r3
- cmp r2, 0
- beq _08052040
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _08052048
- .pool
-_08052040:
- orrs r1, r3
- str r1, [r0]
- ldr r0, =gBattleCommunication
- strb r2, [r0, 0x5]
-_08052048:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk9A_set_focusenergy
-
- thumb_func_start atk9B_transformdataexecution
-atk9B_transformdataexecution: @ 805205C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, =gUnknown_020241EC
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r7, =gBattleMons
- ldr r0, =gBankTarget
- mov r12, r0
- ldrb r1, [r0]
- movs r6, 0x58
- adds r0, r1, 0
- muls r0, r6
- adds r5, r7, 0
- adds r5, 0x50
- adds r0, r5
- ldr r0, [r0]
- movs r4, 0x80
- lsls r4, 14
- ands r0, r4
- cmp r0, 0
- bne _080520A2
- ldr r0, =gStatuses3
- lsls r1, 2
- adds r1, r0
- ldr r2, [r1]
- ldr r0, =0x000400c0
- ands r2, r0
- cmp r2, 0
- beq _080520D8
-_080520A2:
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- b _080521EC
- .pool
-_080520D8:
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- ldr r0, [r1]
- orrs r0, r4
- str r0, [r1]
- ldr r4, =gDisableStructs
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x4]
- ldrb r0, [r3]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0xB]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0xB]
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- mov r2, r12
- ldrb r1, [r2]
- muls r1, r6
- adds r2, r7, 0
- adds r2, 0x48
- adds r1, r2
- ldr r1, [r1]
- str r1, [r0]
- ldrb r0, [r3]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x18]
- movs r0, 0xF
- ands r0, r2
- strb r0, [r1, 0x18]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- mov r2, r12
- ldrb r0, [r2]
- muls r0, r6
- adds r0, r7
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r0, [r2]
- muls r0, r6
- adds r0, r7
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldrb r0, [r3]
- muls r0, r6
- adds r5, r0, r7
- ldrb r0, [r2]
- muls r0, r6
- adds r2, r0, r7
- movs r4, 0
- adds r6, r3, 0
- ldr r0, =gActiveBank
- mov r8, r0
-_08052170:
- adds r0, r5, r4
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x23
- bls _08052170
- movs r4, 0
- ldr r7, =gBattleMoves
- ldr r3, =gBattleMons + 0xC
- adds r5, r3, 0
- adds r5, 0x18
-_08052188:
- lsls r1, r4, 1
- ldrb r2, [r6]
- movs r0, 0x58
- muls r2, r0
- adds r1, r2
- adds r1, r3
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x4]
- cmp r1, 0x4
- bhi _080521C4
- adds r0, r4, r2
- adds r0, r5
- b _080521CA
- .pool
-_080521C4:
- adds r0, r4, r2
- adds r0, r5
- movs r1, 0x5
-_080521CA:
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _08052188
- ldrb r0, [r6]
- mov r1, r8
- strb r0, [r1]
- movs r0, 0
- movs r1, 0x2
- bl dp01_build_cmdbuf_x38_a
- mov r2, r8
- ldrb r0, [r2]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattleCommunication
- movs r0, 0
-_080521EC:
- strb r0, [r1, 0x5]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk9B_transformdataexecution
-
- thumb_func_start atk9C_set_substitute
-atk9C_set_substitute: @ 80521FC
- push {r4-r7,lr}
- ldr r7, =gBattleMons
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- movs r5, 0x58
- muls r0, r5
- adds r3, r0, r7
- ldrh r0, [r3, 0x2C]
- lsrs r1, r0, 2
- adds r2, r1, 0
- cmp r1, 0
- bne _08052216
- movs r2, 0x1
-_08052216:
- ldrh r0, [r3, 0x28]
- cmp r0, r2
- bhi _0805223C
- ldr r1, =gBattleMoveDamage
- movs r0, 0
- str r0, [r1]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _08052290
- .pool
-_0805223C:
- ldr r4, =gBattleMoveDamage
- str r1, [r4]
- cmp r1, 0
- bne _08052248
- movs r0, 0x1
- str r0, [r4]
-_08052248:
- ldrb r0, [r6]
- adds r2, r0, 0
- muls r2, r5
- adds r3, r7, 0
- adds r3, 0x50
- adds r2, r3
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 17
- orrs r0, r1
- str r0, [r2]
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r3
- ldr r0, [r1]
- ldr r2, =0xffff1fff
- ands r0, r2
- str r0, [r1]
- ldr r2, =gDisableStructs
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, [r4]
- movs r2, 0
- strb r1, [r0, 0xA]
- ldr r0, =gBattleCommunication
- strb r2, [r0, 0x5]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [r2]
-_08052290:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk9C_set_substitute
-
- thumb_func_start sub_80522B8
-sub_80522B8: @ 80522B8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r3, 0
- ldr r0, =gUnknown_0831C3E0
- ldrh r1, [r0]
- ldr r4, =0x0000fffe
- adds r5, r0, 0
- cmp r1, r4
- beq _080522E0
- cmp r1, r2
- beq _080522E0
- adds r1, r5, 0
-_080522D2:
- adds r1, 0x2
- adds r3, 0x1
- ldrh r0, [r1]
- cmp r0, r4
- beq _080522E0
- cmp r0, r2
- bne _080522D2
-_080522E0:
- lsls r0, r3, 1
- adds r0, r5
- ldrh r1, [r0]
- ldr r0, =0x0000fffe
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80522B8
-
- thumb_func_start atk9D_copyattack
-atk9D_copyattack: @ 8052300
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_020241EC
- ldr r1, =0x0000ffff
- adds r7, r1, 0
- strh r7, [r0]
- ldr r5, =gLastUsedMovesByBanks
- ldr r6, =gBankTarget
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- bl sub_80522B8
- lsls r0, 24
- cmp r0, 0
- bne _0805235A
- ldr r3, =gBattleMons
- ldr r2, =gBankAttacker
- ldrb r1, [r2]
- movs r0, 0x58
- adds r4, r1, 0
- muls r4, r0
- adds r0, r3, 0
- adds r0, 0x50
- adds r0, r4, r0
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 14
- ands r1, r0
- mov r12, r3
- mov r9, r2
- cmp r1, 0
- bne _0805235A
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- cmp r1, 0
- beq _0805235A
- cmp r1, r7
- bne _08052394
-_0805235A:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _080524CC
- .pool
-_08052394:
- movs r2, 0
- mov r3, r12
- adds r3, 0xC
- adds r0, r4, r3
- ldrh r0, [r0]
- ldr r4, =gBattlescriptCurrInstr
- mov r10, r4
- cmp r0, r1
- beq _080523CE
- mov r8, r3
- adds r7, r5, 0
- adds r5, r6, 0
- mov r4, r9
- movs r3, 0x58
-_080523B0:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080523CE
- lsls r1, r2, 1
- ldrb r0, [r4]
- muls r0, r3
- adds r1, r0
- add r1, r8
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r7
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- bne _080523B0
-_080523CE:
- cmp r2, 0x4
- bne _080524B0
- ldr r5, =gCurrMovePos
- ldrb r1, [r5]
- lsls r1, 1
- mov r2, r9
- ldrb r0, [r2]
- movs r6, 0x58
- muls r0, r6
- adds r1, r0
- mov r0, r12
- adds r0, 0xC
- adds r1, r0
- ldr r2, =gLastUsedMovesByBanks
- ldr r3, =gBankTarget
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r4, =gBattleMoves
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r4, [r0, 0x4]
- cmp r4, 0x4
- bhi _08052438
- mov r1, r9
- ldrb r0, [r1]
- muls r0, r6
- ldrb r1, [r5]
- adds r0, r1
- mov r1, r12
- adds r1, 0x24
- adds r0, r1
- strb r4, [r0]
- b _0805244C
- .pool
-_08052438:
- mov r4, r9
- ldrb r0, [r4]
- muls r0, r6
- ldrb r1, [r5]
- adds r0, r1
- mov r1, r12
- adds r1, 0x24
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
-_0805244C:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gDisableStructs
- mov r2, r9
- ldrb r0, [r2]
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r4, [r2, 0x18]
- lsrs r3, r4, 4
- ldr r1, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- orrs r1, r3
- lsls r1, 4
- movs r0, 0xF
- ands r0, r4
- orrs r0, r1
- strb r0, [r2, 0x18]
- mov r4, r10
- ldr r0, [r4]
- adds r0, 0x5
- str r0, [r4]
- b _080524CC
- .pool
-_080524B0:
- mov r0, r10
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- mov r2, r10
- str r1, [r2]
-_080524CC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk9D_copyattack
-
- thumb_func_start atk9E_metronome
-atk9E_metronome: @ 80524DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r7, =gCurrentMove
- movs r6, 0xB1
- lsls r6, 1
- ldr r5, =gUnknown_0831C3E0
- ldr r0, =gBattlescriptCurrInstr
- mov r8, r0
-_080524EE:
- bl Random
- ldr r2, =0x000001ff
- adds r1, r2, 0
- ands r0, r1
- adds r0, 0x1
- strh r0, [r7]
- cmp r0, r6
- bhi _080524EE
- movs r0, 0x3
-_08052502:
- subs r0, 0x1
- cmp r0, 0
- bge _08052502
- ldr r4, =gCurrentMove
- ldrh r2, [r4]
- ldr r3, =0x0000ffff
- subs r0, r5, 0x2
-_08052510:
- adds r0, 0x2
- ldrh r1, [r0]
- cmp r1, r2
- beq _0805251C
- cmp r1, r3
- bne _08052510
-_0805251C:
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080524EE
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
- ldr r3, =gUnknown_082D86A8
- ldr r2, =gBattleMoves
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- mov r1, r8
- str r0, [r1]
- ldrh r0, [r4]
- movs r1, 0
- bl GetMoveTarget
- ldr r1, =gBankTarget
- strb r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk9E_metronome
-
- thumb_func_start atk9F_dmgtolevel
-atk9F_dmgtolevel: @ 8052584
- ldr r3, =gBattleMoveDamage
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2A
- ldrb r0, [r0]
- str r0, [r3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atk9F_dmgtolevel
-
- thumb_func_start atkA0_psywavedamageeffect
-atkA0_psywavedamageeffect: @ 80525B4
- push {r4,lr}
- movs r4, 0xF
-_080525B8:
- bl Random
- adds r3, r4, 0
- ands r3, r0
- cmp r3, 0xA
- bgt _080525B8
- lsls r0, r3, 2
- adds r0, r3
- lsls r3, r0, 1
- ldr r4, =gBattleMoveDamage
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2A
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r0, 0x32
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA0_psywavedamageeffect
-
- thumb_func_start atkA1_counterdamagecalculator
-atkA1_counterdamagecalculator: @ 8052608
- push {r4-r6,lr}
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gProtectStructs
- ldrb r0, [r4]
- lsls r0, 4
- adds r0, r5
- ldrb r0, [r0, 0xC]
- bl GetBankSide
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r0, r5, 0x4
- adds r0, r1, r0
- ldr r3, [r0]
- cmp r3, 0
- beq _080526BC
- cmp r6, r2
- beq _080526BC
- ldr r6, =gBattleMons
- adds r0, r1, r5
- ldrb r0, [r0, 0xC]
- movs r4, 0x58
- muls r0, r4
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _080526BC
- ldr r1, =gBattleMoveDamage
- lsls r0, r3, 1
- str r0, [r1]
- ldr r1, =gSideTimers
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08052690
- ldrb r1, [r1, 0x9]
- adds r0, r1, 0
- muls r0, r4
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08052690
- ldr r0, =gBankTarget
- strb r1, [r0]
- b _080526A0
- .pool
-_08052690:
- ldr r2, =gBankTarget
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0xC]
- strb r0, [r2]
-_080526A0:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _080526EC
- .pool
-_080526BC:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_080526EC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA1_counterdamagecalculator
-
- thumb_func_start atkA2_mirrorcoatdamagecalculator
-atkA2_mirrorcoatdamagecalculator: @ 8052700
- push {r4-r6,lr}
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gProtectStructs
- ldrb r0, [r4]
- lsls r0, 4
- adds r0, r5
- ldrb r0, [r0, 0xD]
- bl GetBankSide
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r0, r5, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r3, [r0]
- cmp r3, 0
- beq _080527B4
- cmp r6, r2
- beq _080527B4
- ldr r6, =gBattleMons
- adds r0, r1, r5
- ldrb r0, [r0, 0xD]
- movs r4, 0x58
- muls r0, r4
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _080527B4
- ldr r1, =gBattleMoveDamage
- lsls r0, r3, 1
- str r0, [r1]
- ldr r1, =gSideTimers
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08052788
- ldrb r1, [r1, 0x9]
- adds r0, r1, 0
- muls r0, r4
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08052788
- ldr r0, =gBankTarget
- strb r1, [r0]
- b _08052798
- .pool
-_08052788:
- ldr r2, =gBankTarget
- ldr r1, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0xD]
- strb r0, [r2]
-_08052798:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _080527E4
- .pool
-_080527B4:
- ldr r2, =gSpecialStatuses
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_080527E4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA2_mirrorcoatdamagecalculator
-
- thumb_func_start atkA3_disablelastusedattack
-atkA3_disablelastusedattack: @ 80527F8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0
- ldr r2, =gBattleMons
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r7, r2, 0
- adds r7, 0xC
- adds r0, r7
- ldr r5, =gLastUsedMovesByBanks
- lsls r1, 1
- adds r1, r5
- ldrh r0, [r0]
- mov r9, r2
- adds r6, r3, 0
- ldr r2, =gDisableStructs
- mov r8, r2
- ldrh r1, [r1]
- cmp r0, r1
- beq _0805284C
- mov r12, r6
- movs r3, 0x58
-_0805282C:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0805284C
- lsls r2, r4, 1
- mov r0, r12
- ldrb r1, [r0]
- adds r0, r1, 0
- muls r0, r3
- adds r2, r0
- adds r2, r7
- lsls r1, 1
- adds r1, r5
- ldrh r0, [r2]
- ldrh r1, [r1]
- cmp r0, r1
- bne _0805282C
-_0805284C:
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r8
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- bne _08052910
- cmp r4, 0x4
- beq _08052910
- movs r5, 0x58
- adds r0, r1, 0
- muls r0, r5
- adds r0, r4, r0
- mov r1, r9
- adds r1, 0x24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08052910
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- lsls r2, r4, 1
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r2, r0
- mov r3, r9
- adds r3, 0xC
- adds r0, r3
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r2, r0
- adds r0, r3
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r8
- muls r1, r5
- adds r2, r1
- adds r2, r3
- ldrh r1, [r2]
- strh r1, [r0, 0x4]
- bl Random
- ldrb r2, [r6]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- add r1, r8
- movs r2, 0x3
- ands r2, r0
- adds r2, 0x2
- ldrb r3, [r1, 0xB]
- movs r0, 0x10
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0xB]
- ldrb r0, [r6]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r3, [r1, 0xB]
- lsls r2, r3, 28
- lsrs r2, 24
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0xB]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _0805292A
- .pool
-_08052910:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_0805292A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA3_disablelastusedattack
-
- thumb_func_start atkA4_setencore
-atkA4_setencore: @ 805293C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r3, =gBattleMons
- ldr r4, =gBankTarget
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r6, r3, 0
- adds r6, 0xC
- adds r0, r6
- ldr r2, =gLastUsedMovesByBanks
- lsls r1, 1
- adds r1, r2
- ldrh r0, [r0]
- mov r10, r3
- mov r8, r2
- ldr r2, =gDisableStructs
- mov r9, r2
- ldrh r1, [r1]
- cmp r0, r1
- beq _08052996
- mov r12, r4
- adds r7, r6, 0
- mov r6, r8
- movs r3, 0x58
-_08052976:
- adds r5, 0x1
- cmp r5, 0x3
- bgt _08052996
- lsls r2, r5, 1
- mov r0, r12
- ldrb r1, [r0]
- adds r0, r1, 0
- muls r0, r3
- adds r2, r0
- adds r2, r7
- lsls r1, 1
- adds r1, r6
- ldrh r0, [r2]
- ldrh r1, [r1]
- cmp r0, r1
- bne _08052976
-_08052996:
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r2, [r0]
- cmp r2, 0xA5
- beq _080529AA
- cmp r2, 0xE3
- beq _080529AA
- cmp r2, 0x77
- bne _080529AC
-_080529AA:
- movs r5, 0x4
-_080529AC:
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r2, r9
- adds r3, r0, r2
- ldrh r0, [r3, 0x6]
- cmp r0, 0
- bne _08052A44
- cmp r5, 0x4
- beq _08052A44
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- adds r0, r5, r2
- mov r1, r10
- adds r1, 0x24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08052A44
- lsls r0, r5, 1
- adds r0, r2
- subs r1, 0x18
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x6]
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- strb r5, [r0, 0xC]
- bl Random
- ldrb r2, [r4]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- add r1, r9
- movs r2, 0x3
- ands r2, r0
- adds r2, 0x3
- ldrb r3, [r1, 0xE]
- movs r0, 0x10
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0xE]
- ldrb r0, [r4]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- add r1, r9
- ldrb r3, [r1, 0xE]
- lsls r2, r3, 28
- lsrs r2, 24
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0xE]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08052A5E
- .pool
-_08052A44:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08052A5E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA4_setencore
-
- thumb_func_start atkA5_painsplitdmgcalc
-atkA5_painsplitdmgcalc: @ 8052A70
- push {r4-r7,lr}
- ldr r6, =gBattleMons
- ldr r0, =gBankTarget
- mov r12, r0
- ldrb r0, [r0]
- movs r7, 0x58
- adds r2, r0, 0
- muls r2, r7
- adds r0, r6, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- bne _08052B10
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- muls r0, r7
- adds r0, r6
- ldrh r3, [r0, 0x28]
- adds r0, r2, r6
- ldrh r1, [r0, 0x28]
- adds r3, r1
- asrs r3, 1
- ldr r4, =gBattleMoveDamage
- subs r1, r3
- str r1, [r4]
- ldr r2, =gBattleScripting
- strb r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- asrs r0, 8
- strb r0, [r2, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- asrs r0, 16
- strb r0, [r2, 0x2]
- lsrs r1, 24
- strb r1, [r2, 0x3]
- ldrb r0, [r5]
- muls r0, r7
- adds r0, r6
- ldrh r0, [r0, 0x28]
- subs r0, r3
- str r0, [r4]
- ldr r2, =gSpecialStatuses
- mov r0, r12
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r0, r2
- ldr r1, =0x0000ffff
- str r1, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08052B2A
- .pool
-_08052B10:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08052B2A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA5_painsplitdmgcalc
-
- thumb_func_start atkA6_settypetorandomresistance
-atkA6_settypetorandomresistance: @ 8052B34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, =gUnknown_02024250
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- lsls r0, 1
- adds r2, r0, r1
- ldrh r1, [r2]
- cmp r1, 0
- beq _08052B7E
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _08052B7E
- ldrh r0, [r2]
- bl sub_8052F48
- lsls r0, 24
- cmp r0, 0
- beq _08052C1C
- ldr r1, =gBattleMons
- ldr r2, =gUnknown_02024270
- ldrb r0, [r4]
- adds r0, r2
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _08052C1C
-_08052B7E:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08052D08
- .pool
-_08052BB4:
- mov r0, r12
- strb r5, [r0]
- mov r1, r10
- ldrb r0, [r1]
- muls r0, r2
- adds r0, r7
- adds r0, 0x22
- strb r5, [r0]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x3
- strb r0, [r1, 0x1]
- strb r5, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- b _08052C0A
- .pool
-_08052BE0:
- mov r0, r8
- adds r0, 0x1
- adds r0, r3
- ldrb r2, [r0]
- strb r2, [r4]
- mov r4, r10
- ldrb r0, [r4]
- muls r0, r6
- ldr r7, =gBattleMons
- adds r0, r7
- adds r0, 0x22
- strb r2, [r0]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x3
- strb r0, [r1, 0x1]
- strb r2, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- mov r1, r12
-_08052C0A:
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08052D08
- .pool
-_08052C1C:
- movs r4, 0
- mov r8, r4
- movs r7, 0x7F
- mov r9, r7
-_08052C24:
- bl Random
- mov r4, r9
- ands r4, r0
- cmp r4, 0x70
- bhi _08052C24
- lsls r0, r4, 1
- adds r4, r0, r4
- ldr r6, =gUnknown_0831ACE8
- adds r3, r4, r6
- ldr r1, =gUnknown_02024258
- ldr r2, =gBankAttacker
- ldrb r5, [r2]
- lsls r0, r5, 1
- adds r0, r1
- ldrb r1, [r3]
- mov r10, r2
- ldrh r0, [r0]
- cmp r1, r0
- bne _08052C80
- adds r0, r4, 0x2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _08052C80
- ldr r7, =gBattleMons
- movs r2, 0x58
- adds r0, r5, 0
- muls r0, r2
- adds r3, r0, r7
- movs r0, 0x21
- adds r0, r3
- mov r12, r0
- adds r0, r4, 0x1
- adds r0, r6
- ldrb r5, [r0]
- mov r1, r12
- ldrb r0, [r1]
- adds r1, r5, 0
- cmp r0, r1
- beq _08052C80
- adds r0, r3, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, r1
- bne _08052BB4
-_08052C80:
- movs r7, 0x1
- add r8, r7
- ldr r0, =0x000003e7
- cmp r8, r0
- ble _08052C24
- movs r0, 0
- mov r8, r0
- ldr r1, =gBattlescriptCurrInstr
- mov r12, r1
- ldr r3, =gUnknown_0831ACE8
- adds r0, r4, 0x1
- adds r0, r3
- mov r9, r0
- adds r5, r3, 0
-_08052C9C:
- ldrb r1, [r5]
- cmp r1, 0xFF
- bgt _08052CA6
- cmp r1, 0xFE
- bge _08052CE0
-_08052CA6:
- mov r4, r10
- ldrb r2, [r4]
- lsls r0, r2, 1
- ldr r7, =gUnknown_02024258
- adds r0, r7
- ldrh r0, [r0]
- cmp r1, r0
- bne _08052CE0
- ldrb r0, [r5, 0x2]
- cmp r0, 0x5
- bhi _08052CE0
- movs r6, 0x58
- adds r0, r2, 0
- muls r0, r6
- ldr r1, =gBattleMons
- adds r2, r0, r1
- adds r4, r2, 0
- adds r4, 0x21
- ldrb r0, [r4]
- mov r7, r9
- ldrb r1, [r7]
- cmp r0, r1
- beq _08052CE0
- adds r0, r2, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, r1
- beq _08052CE0
- b _08052BE0
-_08052CE0:
- adds r5, 0x3
- movs r0, 0x3
- add r8, r0
- ldr r0, =0x0000014f
- cmp r8, r0
- bls _08052C9C
- mov r1, r12
- ldr r2, [r1]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- mov r4, r12
- str r1, [r4]
-_08052D08:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA6_settypetorandomresistance
-
- thumb_func_start atkA7_setalwayshitflag
-atkA7_setalwayshitflag: @ 8052D34
- push {r4,lr}
- ldr r4, =gStatuses3
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r4
- ldr r0, [r1]
- movs r2, 0x19
- negs r2, r2
- ands r0, r2
- str r0, [r1]
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r4
- ldr r0, [r1]
- movs r2, 0x10
- orrs r0, r2
- str r0, [r1]
- ldr r2, =gDisableStructs
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =gBankAttacker
- ldrb r1, [r1]
- strb r1, [r0, 0x15]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA7_setalwayshitflag
-
- thumb_func_start atkA8_copymovepermanently
-atkA8_copymovepermanently: @ 8052D8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r0, =gUnknown_020241EC
- ldr r1, =0x0000ffff
- adds r5, r1, 0
- strh r5, [r0]
- ldr r3, =gBattleMons
- ldr r2, =gBankAttacker
- ldrb r1, [r2]
- movs r0, 0x58
- adds r4, r1, 0
- muls r4, r0
- adds r0, r3, 0
- adds r0, 0x50
- adds r0, r4, r0
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 14
- ands r1, r0
- mov r12, r3
- mov r10, r2
- cmp r1, 0
- beq _08052DC4
- b _08052F18
-_08052DC4:
- ldr r0, =gUnknown_02024240
- ldr r2, =gBankTarget
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- mov r9, r0
- mov r8, r2
- cmp r1, 0xA5
- bne _08052DDA
- b _08052F18
-_08052DDA:
- cmp r1, 0
- bne _08052DE0
- b _08052F18
-_08052DE0:
- cmp r1, r5
- bne _08052DE6
- b _08052F18
-_08052DE6:
- cmp r1, 0xA6
- bne _08052DEC
- b _08052F18
-_08052DEC:
- movs r7, 0
- mov r5, r9
- mov r0, r12
- adds r0, 0xC
- adds r1, r4, r0
- mov r3, r8
-_08052DF8:
- ldrh r2, [r1]
- cmp r2, 0xA6
- beq _08052E0A
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r2, r0
- beq _08052E12
-_08052E0A:
- adds r1, 0x2
- adds r7, 0x1
- cmp r7, 0x3
- ble _08052DF8
-_08052E12:
- cmp r7, 0x4
- beq _08052E18
- b _08052F18
-_08052E18:
- ldr r4, =gCurrMovePos
- ldrb r1, [r4]
- lsls r1, 1
- mov r2, r10
- ldrb r0, [r2]
- movs r3, 0x58
- muls r0, r3
- adds r1, r0
- mov r6, r12
- adds r6, 0xC
- adds r1, r6
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- strh r0, [r1]
- mov r1, r10
- ldrb r0, [r1]
- adds r2, r0, 0
- muls r2, r3
- ldrb r4, [r4]
- adds r2, r4
- mov r5, r12
- adds r5, 0x24
- adds r2, r5
- ldr r4, =gBattleMoves
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- add r0, r9
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x4]
- strb r0, [r2]
- ldr r1, =gActiveBank
- mov r2, r10
- ldrb r0, [r2]
- strb r0, [r1]
- movs r7, 0
- ldrb r0, [r2]
- muls r0, r3
- adds r4, r0, r5
- adds r3, r0, 0
- add r2, sp, 0x4
- add r5, sp, 0xC
-_08052E7A:
- adds r0, r3, r6
- ldrh r0, [r0]
- strh r0, [r2]
- adds r1, r5, r7
- ldrb r0, [r4]
- strb r0, [r1]
- adds r4, 0x1
- adds r3, 0x2
- adds r2, 0x2
- adds r7, 0x1
- cmp r7, 0x3
- ble _08052E7A
- add r2, sp, 0x4
- mov r0, r10
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- add r0, r12
- adds r0, 0x3B
- ldrb r0, [r0]
- strb r0, [r2, 0xC]
- str r2, [sp]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- ldr r3, =gUnknown_02024240
- ldr r2, =gBankTarget
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08052F32
- .pool
-_08052F18:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08052F32:
- 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 atkA8_copymovepermanently
-
- thumb_func_start sub_8052F48
-sub_8052F48: @ 8052F48
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0x91
- beq _08052F72
- cmp r0, 0x27
- beq _08052F72
- cmp r0, 0x4B
- beq _08052F72
- cmp r0, 0x97
- beq _08052F72
- cmp r0, 0x9B
- beq _08052F72
- cmp r0, 0x1A
- bne _08052F7C
-_08052F72:
- movs r0, 0x1
- b _08052F7E
- .pool
-_08052F7C:
- movs r0, 0
-_08052F7E:
- pop {r1}
- bx r1
- thumb_func_end sub_8052F48
-
- thumb_func_start sub_8052F84
-sub_8052F84: @ 8052F84
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _08052FA2
- cmp r1, 0xD6
- beq _08052FA2
- movs r0, 0x89
- lsls r0, 1
- cmp r1, r0
- beq _08052FA2
- cmp r1, 0x77
- beq _08052FA2
- cmp r1, 0x76
- bne _08052FA6
-_08052FA2:
- movs r0, 0x1
- b _08052FA8
-_08052FA6:
- movs r0, 0
-_08052FA8:
- pop {r1}
- bx r1
- thumb_func_end sub_8052F84
-
- thumb_func_start move_weather_interaction
-move_weather_interaction: @ 8052FAC
- push {lr}
- lsls r1, 16
- lsrs r2, r1, 16
- ldr r1, =gBattleMoves
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x97
- bne _08052FD0
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- bne _08053010
-_08052FD0:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x91
- beq _08052FF2
- cmp r0, 0x27
- beq _08052FF2
- cmp r0, 0x4B
- beq _08052FF2
- cmp r0, 0x97
- beq _08052FF2
- cmp r0, 0x9B
- beq _08052FF2
- cmp r0, 0x1A
- bne _08053010
-_08052FF2:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 20
- ands r0, r1
- cmp r0, 0
- beq _08053010
- movs r0, 0x1
- b _08053012
- .pool
-_08053010:
- movs r0, 0x2
-_08053012:
- pop {r1}
- bx r1
- thumb_func_end move_weather_interaction
-
- thumb_func_start atkA9_sleeptalk_choose_move
-atkA9_sleeptalk_choose_move: @ 8053018
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- movs r5, 0
- ldr r0, =gBankAttacker
- mov r9, r0
- movs r1, 0x58
- mov r8, r1
- ldr r7, =gBattleMons + 0xC
- movs r0, 0x84
- lsls r0, 1
- mov r10, r0
-_08053036:
- lsls r4, r5, 1
- mov r1, r9
- ldrb r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r4, r0
- adds r0, r7
- ldrh r0, [r0]
- bl sub_8052F84
- lsls r0, 24
- cmp r0, 0
- bne _08053076
- mov r1, r9
- ldrb r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r4, r0
- adds r0, r7
- ldrh r1, [r0]
- cmp r1, r10
- beq _08053076
- cmp r1, 0xFD
- beq _08053076
- adds r0, r1, 0
- bl sub_8052F48
- lsls r0, 24
- cmp r0, 0
- beq _08053084
-_08053076:
- ldr r1, =gBitTable
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r6, r0
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_08053084:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08053036
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- adds r1, r6, 0
- movs r2, 0xFD
- bl CheckMoveLimitations
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xF
- bne _080530B8
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _0805311C
- .pool
-_080530B8:
- movs r7, 0x3
- ldr r4, =gBitTable
-_080530BC:
- bl Random
- adds r5, r7, 0
- ands r5, r0
- lsls r0, r5, 2
- adds r0, r4
- ldr r0, [r0]
- ands r0, r6
- cmp r0, 0
- bne _080530BC
- ldr r4, =gRandomMove
- ldr r2, =gBattleMons
- lsls r1, r5, 1
- ldr r0, =gBankAttacker
- ldrb r3, [r0]
- movs r0, 0x58
- muls r0, r3
- adds r1, r0
- adds r2, 0xC
- adds r1, r2
- ldrh r0, [r1]
- strh r0, [r4]
- ldr r0, =gCurrMovePos
- strb r5, [r0]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
- ldrh r0, [r4]
- movs r1, 0
- bl GetMoveTarget
- ldr r1, =gBankTarget
- strb r0, [r1]
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_0805311C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkA9_sleeptalk_choose_move
-
- thumb_func_start atkAA_set_destinybond
-atkAA_set_destinybond: @ 8053150
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 18
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atkAA_set_destinybond
-
- thumb_func_start b_feature_update_destiny_bond
-b_feature_update_destiny_bond: @ 8053180
- push {r4,r5,lr}
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, =gBattleMons
- ldrb r2, [r4]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _080531CA
- cmp r5, r3
- beq _080531CA
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 17
- ands r0, r1
- cmp r0, 0
- bne _080531CA
- movs r0, 0x40
- orrs r1, r0
- str r1, [r2]
-_080531CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end b_feature_update_destiny_bond
-
- thumb_func_start atkAB_DestinyBondFlagUpdate
-atkAB_DestinyBondFlagUpdate: @ 80531E0
- push {lr}
- bl b_feature_update_destiny_bond
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkAB_DestinyBondFlagUpdate
-
- thumb_func_start atkAC_remaininghptopower
-atkAC_remaininghptopower: @ 80531F8
- push {lr}
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- movs r2, 0x28
- ldrsh r0, [r1, r2]
- movs r2, 0x2C
- ldrsh r1, [r1, r2]
- movs r2, 0x30
- bl sub_8075034
- lsls r0, 24
- lsrs r1, r0, 24
- movs r3, 0
- ldr r0, =gUnknown_0831C408
- ldrb r2, [r0]
- cmp r1, r2
- ble _08053232
- adds r2, r0, 0
-_08053224:
- adds r3, 0x2
- cmp r3, 0xB
- bgt _08053232
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r1, r0
- bgt _08053224
-_08053232:
- ldr r2, =gDynamicBasePower
- ldr r1, =gUnknown_0831C408
- adds r0, r3, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkAC_remaininghptopower
-
- thumb_func_start atkAD_spite_ppreduce
-atkAD_spite_ppreduce: @ 8053260
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, =gLastUsedMovesByBanks
- ldr r1, =gBankTarget
- ldrb r3, [r1]
- lsls r0, r3, 1
- adds r0, r4
- ldrh r2, [r0]
- mov r8, r1
- cmp r2, 0
- bne _08053280
- b _08053408
-_08053280:
- ldr r0, =0x0000ffff
- cmp r2, r0
- bne _08053288
- b _08053408
-_08053288:
- movs r7, 0
- ldr r0, =gBattleMons
- movs r1, 0x58
- muls r1, r3
- adds r3, r0, 0
- adds r3, 0xC
- adds r1, r3
- ldrh r1, [r1]
- cmp r2, r1
- beq _080532C0
- adds r6, r4, 0
- mov r5, r8
- adds r4, r3, 0
- movs r3, 0x58
-_080532A4:
- adds r7, 0x1
- cmp r7, 0x3
- bgt _080532C0
- ldrb r0, [r5]
- lsls r2, r0, 1
- adds r2, r6
- lsls r1, r7, 1
- muls r0, r3
- adds r1, r0
- adds r1, r4
- ldrh r0, [r2]
- ldrh r1, [r1]
- cmp r0, r1
- bne _080532A4
-_080532C0:
- cmp r7, 0x4
- bne _080532C6
- b _08053408
-_080532C6:
- mov r4, r8
- ldrb r0, [r4]
- movs r1, 0x58
- mov r9, r1
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- adds r0, r7, r0
- ldr r1, =gBattleMons
- adds r1, 0x24
- mov r10, r1
- add r0, r10
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080532E6
- b _08053408
-_080532E6:
- bl Random
- movs r1, 0x3
- ands r1, r0
- adds r6, r1, 0x2
- ldrb r0, [r4]
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- adds r0, r7, r0
- add r0, r10
- ldrb r0, [r0]
- cmp r0, r6
- bge _08053304
- adds r6, r0, 0
-_08053304:
- ldr r1, =gBattleTextBuff1
- movs r5, 0xFD
- strb r5, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- ldr r2, =gLastUsedMovesByBanks
- mov r3, r8
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r4, =gBattleTextBuff2
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- strb r5, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x3]
- strb r6, [r4, 0x4]
- subs r0, 0x2
- strb r0, [r4, 0x5]
- mov r1, r8
- ldrb r0, [r1]
- mov r1, r9
- muls r1, r0
- adds r1, r7, r1
- add r1, r10
- ldrb r0, [r1]
- subs r0, r6
- strb r0, [r1]
- ldr r4, =gActiveBank
- mov r3, r8
- ldrb r0, [r3]
- strb r0, [r4]
- ldr r1, =gDisableStructs
- ldrb r3, [r4]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- lsls r0, r7, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _080533B8
- mov r2, r9
- muls r2, r3
- ldr r0, =gBattleMons
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _080533B8
- adds r1, r7, 0
- adds r1, 0x9
- lsls r1, 24
- lsrs r1, 24
- mov r3, r10
- adds r0, r2, r3
- adds r0, r7
- str r0, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0x1
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080533B8:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- ldr r1, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r0, r7, r0
- adds r1, 0x24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08053422
- adds r0, r2, 0
- bl CancelMultiTurnMoves
- b _08053422
- .pool
-_08053408:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08053422:
- 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 atkAD_spite_ppreduce
-
- thumb_func_start atkAE_heal_party_status
-atkAE_heal_party_status: @ 8053438
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r4, 0
- str r4, [sp, 0x4]
- mov r8, r4
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xD7
- beq _08053454
- b _0805363E
-_08053454:
- ldr r6, =gBattleCommunication
- mov r0, r8
- strb r0, [r6, 0x5]
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- ldr r1, =gEnemyParty
- mov r10, r1
- cmp r0, 0
- bne _08053470
- ldr r2, =gPlayerParty
- mov r10, r2
-_08053470:
- ldr r4, =gBattleMons
- ldrb r3, [r5]
- movs r7, 0x58
- adds r2, r3, 0
- muls r2, r7
- adds r0, r2, r4
- adds r1, r0, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0x2B
- beq _080534C4
- adds r0, r4, 0
- adds r0, 0x4C
- adds r0, r2, r0
- mov r1, r8
- str r1, [r0]
- ldrb r0, [r5]
- adds r2, r0, 0
- muls r2, r7
- adds r0, r4, 0
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- b _080534D4
- .pool
-_080534C4:
- ldrb r1, [r1]
- adds r0, r3, 0
- bl RecordAbilityBattle
- ldrb r0, [r6, 0x5]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r6, 0x5]
-_080534D4:
- ldr r7, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity
- movs r2, 0x2
- mov r9, r2
- mov r1, r9
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByPlayerAI
- ldr r1, =gBattleScripting
- strb r0, [r1, 0x17]
- strb r0, [r7]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805357A
- ldr r0, =gAbsentBankFlags
- ldrb r2, [r0]
- ldr r1, =gBitTable
- ldrb r3, [r7]
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- ands r2, r0
- cmp r2, 0
- bne _0805357A
- ldr r5, =gBattleMons
- movs r6, 0x58
- adds r4, r3, 0
- muls r4, r6
- adds r0, r4, r5
- adds r1, r0, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0x2B
- beq _08053568
- adds r0, r5, 0
- adds r0, 0x4C
- adds r0, r4, r0
- str r2, [r0]
- ldrb r0, [r7]
- adds r2, r0, 0
- muls r2, r6
- adds r0, r5, 0
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- b _0805357A
- .pool
-_08053568:
- ldrb r1, [r1]
- adds r0, r3, 0
- bl RecordAbilityBattle
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x5]
- mov r2, r9
- orrs r0, r2
- strb r0, [r1, 0x5]
-_0805357A:
- movs r6, 0
- ldr r7, =gBattleMons
-_0805357E:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- add r4, r10
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r5, 0
- beq _08053636
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- beq _08053636
- ldr r2, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r6
- bne _080535D0
- movs r0, 0x58
- muls r0, r1
- b _08053600
- .pool
-_080535D0:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08053618
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- lsls r0, r3, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r6
- bne _08053618
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08053618
- movs r0, 0x58
- muls r0, r3
-_08053600:
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- b _08053624
- .pool
-_08053618:
- adds r0, r5, 0
- adds r1, r4, 0
- bl GetAbilityBySpecies
- lsls r0, 24
- lsrs r0, 24
-_08053624:
- cmp r0, 0x2B
- beq _08053636
- movs r0, 0x1
- lsls r0, r6
- mov r1, r8
- orrs r1, r0
- lsls r0, r1, 24
- lsrs r0, 24
- mov r8, r0
-_08053636:
- adds r6, 0x1
- cmp r6, 0x5
- ble _0805357E
- b _080536BC
-_0805363E:
- ldr r1, =gBattleCommunication
- movs r0, 0x4
- strb r0, [r1, 0x5]
- movs r2, 0x3F
- mov r8, r2
- ldr r3, =gBattleMons
- ldr r2, =gBankAttacker
- ldrb r0, [r2]
- movs r5, 0x58
- muls r0, r5
- movs r1, 0x4C
- adds r1, r3
- mov r9, r1
- add r0, r9
- str r4, [r0]
- ldrb r0, [r2]
- adds r1, r0, 0
- muls r1, r5
- adds r7, r3, 0
- adds r7, 0x50
- adds r1, r7
- ldr r0, [r1]
- ldr r6, =0xf7ffffff
- ands r0, r6
- str r0, [r1]
- ldrb r0, [r2]
- bl GetBankIdentity
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByPlayerAI
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080536BC
- ldr r0, =gAbsentBankFlags
- ldrb r2, [r0]
- ldr r1, =gBitTable
- ldrb r3, [r4]
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- ands r2, r0
- cmp r2, 0
- bne _080536BC
- adds r0, r3, 0
- muls r0, r5
- add r0, r9
- str r2, [r0]
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r7
- ldr r0, [r1]
- ands r0, r6
- str r0, [r1]
-_080536BC:
- mov r2, r8
- cmp r2, 0
- beq _080536DE
- ldr r4, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r4]
- add r0, sp, 0x4
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080536DE:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str 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 atkAE_heal_party_status
-
- thumb_func_start atkAF_cursetarget
-atkAF_cursetarget: @ 805371C
- push {r4,r5,lr}
- ldr r5, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- movs r4, 0x58
- adds r1, r0, 0
- muls r1, r4
- adds r0, r5, 0
- adds r0, 0x50
- adds r1, r0
- ldr r2, [r1]
- movs r3, 0x80
- lsls r3, 21
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08053768
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0805378C
- .pool
-_08053768:
- orrs r2, r3
- str r2, [r1]
- ldr r1, =gBattleMoveDamage
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- muls r0, r4
- adds r0, r5
- ldrh r0, [r0, 0x2C]
- lsrs r0, 1
- str r0, [r1]
- cmp r0, 0
- bne _08053784
- movs r0, 0x1
- str r0, [r1]
-_08053784:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0805378C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkAF_cursetarget
-
- thumb_func_start atkB0_set_spikes
-atkB0_set_spikes: @ 80537A0
- push {r4,lr}
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSideTimers
- lsls r2, r0, 1
- adds r0, r2, r0
- lsls r0, 2
- adds r3, r0, r1
- ldrb r0, [r3, 0xA]
- cmp r0, 0x3
- bne _08053804
- ldr r2, =gSpecialStatuses
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0805381E
- .pool
-_08053804:
- ldr r1, =gSideAffecting
- adds r1, r2, r1
- ldrh r2, [r1]
- movs r0, 0x10
- orrs r0, r2
- strh r0, [r1]
- ldrb r0, [r3, 0xA]
- adds r0, 0x1
- strb r0, [r3, 0xA]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0805381E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB0_set_spikes
-
- thumb_func_start atkB1_set_foresight
-atkB1_set_foresight: @ 805382C
- ldr r1, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r2, [r0]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 22
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atkB1_set_foresight
-
- thumb_func_start atkB2_setperishsong
-atkB2_setperishsong: @ 805385C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r6, 0
- movs r3, 0
- ldr r0, =gNoOfAllBanks
- adds r7, r0, 0
- ldr r0, =gBankAttacker
- mov r8, r0
- ldrb r1, [r7]
- cmp r6, r1
- bge _080538C8
- movs r5, 0x20
- ldr r0, =gBattleMons
- mov r12, r0
- ldr r0, =gDisableStructs
- adds r4, r0, 0
- adds r4, 0xF
- ldr r2, =gStatuses3
-_08053884:
- ldr r1, [r2]
- adds r0, r1, 0
- ands r0, r5
- cmp r0, 0
- bne _0805389C
- movs r0, 0x58
- muls r0, r3
- add r0, r12
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x2B
- bne _080538B4
-_0805389C:
- adds r6, 0x1
- b _080538BC
- .pool
-_080538B4:
- orrs r1, r5
- str r1, [r2]
- movs r0, 0x33
- strb r0, [r4]
-_080538BC:
- adds r4, 0x1C
- adds r2, 0x4
- adds r3, 0x1
- ldrb r0, [r7]
- cmp r3, r0
- blt _08053884
-_080538C8:
- mov r1, r8
- ldrb r0, [r1]
- bl sub_803F67C
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r6, r0
- bne _080538FC
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08053904
- .pool
-_080538FC:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08053904:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB2_setperishsong
-
- thumb_func_start atkB3_rolloutdamagecalculation
-atkB3_rolloutdamagecalculation: @ 8053914
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08053948
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl CancelMultiTurnMoves
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D8A60
- str r0, [r1]
- b _08053A60
- .pool
-_08053948:
- ldr r2, =gBattleMons
- ldr r1, =gBankAttacker
- ldrb r3, [r1]
- movs r5, 0x58
- adds r0, r3, 0
- muls r0, r5
- adds r4, r2, 0
- adds r4, 0x50
- adds r0, r4
- ldr r0, [r0]
- movs r7, 0x80
- lsls r7, 5
- ands r0, r7
- adds r6, r1, 0
- mov r9, r2
- ldr r1, =gDisableStructs
- mov r12, r1
- ldr r2, =gCurrentMove
- mov r8, r2
- cmp r0, 0
- bne _080539BA
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- add r0, r12
- ldrb r2, [r0, 0x11]
- movs r1, 0x10
- negs r1, r1
- ands r1, r2
- movs r2, 0x5
- orrs r1, r2
- strb r1, [r0, 0x11]
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r2, [r0, 0x11]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x50
- orrs r1, r2
- strb r1, [r0, 0x11]
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r4
- ldr r0, [r1]
- orrs r0, r7
- str r0, [r1]
- ldr r1, =gUnknown_02024268
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r1
- mov r2, r8
- ldrh r1, [r2]
- strh r1, [r0]
-_080539BA:
- ldrb r0, [r6]
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- add r2, r12
- ldrb r3, [r2, 0x11]
- lsls r1, r3, 28
- lsrs r1, 28
- subs r1, 0x1
- movs r0, 0xF
- ands r1, r0
- movs r0, 0x10
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x11]
- cmp r1, 0
- bne _080539EE
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r4
- ldr r0, [r1]
- ldr r2, =0xffffefff
- ands r0, r2
- str r0, [r1]
-_080539EE:
- ldr r3, =gDynamicBasePower
- ldr r2, =gBattleMoves
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r3]
- movs r2, 0x1
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r1, r12
- adds r4, r0, r1
- ldrb r0, [r4, 0x11]
- lsls r0, 28
- lsrs r0, 28
- movs r1, 0x5
- subs r1, r0
- ldr r7, =gBattlescriptCurrInstr
- adds r5, r3, 0
- cmp r2, r1
- bge _08053A3C
- adds r1, r5, 0
- adds r3, r4, 0
- movs r4, 0x5
-_08053A28:
- ldrh r0, [r1]
- lsls r0, 1
- strh r0, [r1]
- adds r2, 0x1
- ldrb r0, [r3, 0x11]
- lsls r0, 28
- lsrs r0, 28
- subs r0, r4, r0
- cmp r2, r0
- blt _08053A28
-_08053A3C:
- ldrb r1, [r6]
- movs r0, 0x58
- muls r0, r1
- mov r1, r9
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 23
- ands r0, r1
- cmp r0, 0
- beq _08053A5A
- ldrh r0, [r5]
- lsls r0, 1
- strh r0, [r5]
-_08053A5A:
- ldr r0, [r7]
- adds r0, 0x1
- str r0, [r7]
-_08053A60:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB3_rolloutdamagecalculation
-
- thumb_func_start atkB4_jumpifconfusedandstatmaxed
-atkB4_jumpifconfusedandstatmaxed: @ 8053A90
- push {r4,r5,lr}
- ldr r5, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- adds r3, r1, 0
- muls r3, r0
- adds r0, r5, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- ldr r4, =gBattlescriptCurrInstr
- cmp r0, 0
- beq _08053AEC
- ldr r2, [r4]
- ldrb r0, [r2, 0x1]
- adds r0, r3
- adds r1, r5, 0
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xC
- bne _08053AEC
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08053AF2
- .pool
-_08053AEC:
- ldr r0, [r4]
- adds r0, 0x6
- str r0, [r4]
-_08053AF2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end atkB4_jumpifconfusedandstatmaxed
-
- thumb_func_start atkB5_furycuttercalc
-atkB5_furycuttercalc: @ 8053AF8
- push {r4,r5,lr}
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08053B34
- ldr r2, =gDisableStructs
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x10]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D8A60
- str r0, [r1]
- b _08053B8C
- .pool
-_08053B34:
- ldr r5, =gDisableStructs
- ldr r4, =gBankAttacker
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1, 0x10]
- cmp r0, 0x5
- beq _08053B4C
- adds r0, 0x1
- strb r0, [r1, 0x10]
-_08053B4C:
- ldr r3, =gDynamicBasePower
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r3]
- movs r2, 0x1
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r4, =gBattlescriptCurrInstr
- ldrb r1, [r0, 0x10]
- cmp r2, r1
- bge _08053B86
- adds r1, r3, 0
- adds r3, r0, 0
-_08053B78:
- ldrh r0, [r1]
- lsls r0, 1
- strh r0, [r1]
- adds r2, 0x1
- ldrb r0, [r3, 0x10]
- cmp r2, r0
- blt _08053B78
-_08053B86:
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
-_08053B8C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB5_furycuttercalc
-
- thumb_func_start atkB6_happinesstodamagecalculation
-atkB6_happinesstodamagecalculation: @ 8053BAC
- push {r4,lr}
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x79
- bne _08053BEC
- ldr r4, =gDynamicBasePower
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2B
- ldrb r1, [r0]
- b _08053C02
- .pool
-_08053BEC:
- ldr r4, =gDynamicBasePower
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2B
- ldrb r0, [r0]
- movs r1, 0xFF
- subs r1, r0
-_08053C02:
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- movs r1, 0x19
- bl __divsi3
- strh r0, [r4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB6_happinesstodamagecalculation
-
- thumb_func_start atkB7_presentdamagecalculation
-atkB7_presentdamagecalculation: @ 8053C30
- push {r4,lr}
- bl Random
- movs r4, 0xFF
- ands r4, r0
- cmp r4, 0x65
- bgt _08053C4C
- ldr r1, =gDynamicBasePower
- movs r0, 0x28
- strh r0, [r1]
- b _08053C8E
- .pool
-_08053C4C:
- cmp r4, 0xB1
- bgt _08053C5C
- ldr r1, =gDynamicBasePower
- movs r0, 0x50
- strh r0, [r1]
- b _08053C8E
- .pool
-_08053C5C:
- cmp r4, 0xCB
- bgt _08053C6C
- ldr r1, =gDynamicBasePower
- movs r0, 0x78
- strh r0, [r1]
- b _08053C8E
- .pool
-_08053C6C:
- ldr r3, =gBattleMoveDamage
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x2C]
- lsrs r0, 2
- str r0, [r3]
- cmp r0, 0
- bne _08053C88
- movs r0, 0x1
- str r0, [r3]
-_08053C88:
- ldr r0, [r3]
- negs r0, r0
- str r0, [r3]
-_08053C8E:
- cmp r4, 0xCB
- bgt _08053CAC
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D8A30
- b _08053CE6
- .pool
-_08053CAC:
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r1, [r0, 0x2C]
- ldrh r0, [r0, 0x28]
- cmp r1, r0
- bne _08053CD8
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D9EFB
- b _08053CE6
- .pool
-_08053CD8:
- ldr r2, =gBattleMoveFlags
- ldrb r1, [r2]
- movs r0, 0xF7
- ands r0, r1
- strb r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D9EE1
-_08053CE6:
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB7_presentdamagecalculation
-
- thumb_func_start atkB8_set_safeguard
-atkB8_set_safeguard: @ 8053CFC
- push {r4-r7,lr}
- ldr r7, =gBankAttacker
- ldrb r0, [r7]
- bl GetBankIdentity
- ldr r4, =gSideAffecting
- movs r6, 0x1
- adds r1, r6, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r1, [r1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08053D40
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x5]
- b _08053D88
- .pool
-_08053D40:
- ldrb r0, [r7]
- bl GetBankIdentity
- adds r1, r6, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r0, [r1]
- movs r2, 0x20
- orrs r0, r2
- strh r0, [r1]
- ldrb r0, [r7]
- bl GetBankIdentity
- ldr r5, =gSideTimers
- adds r1, r6, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r4, 0x5
- strb r4, [r0, 0x6]
- ldrb r0, [r7]
- bl GetBankIdentity
- adds r1, r6, 0
- ands r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r7]
- strb r1, [r0, 0x7]
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
-_08053D88:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB8_set_safeguard
-
- thumb_func_start atkB9_magnitudedamagecalculation
-atkB9_magnitudedamagecalculation: @ 8053DA4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x4
- bgt _08053DD0
- ldr r1, =gDynamicBasePower
- movs r0, 0xA
- strh r0, [r1]
- movs r3, 0x4
- b _08053E3C
- .pool
-_08053DD0:
- cmp r3, 0xE
- bgt _08053DE4
- ldr r1, =gDynamicBasePower
- movs r0, 0x1E
- strh r0, [r1]
- movs r3, 0x5
- b _08053E3C
- .pool
-_08053DE4:
- cmp r3, 0x22
- bgt _08053DF8
- ldr r1, =gDynamicBasePower
- movs r0, 0x32
- strh r0, [r1]
- movs r3, 0x6
- b _08053E3C
- .pool
-_08053DF8:
- cmp r3, 0x40
- bgt _08053E0C
- ldr r1, =gDynamicBasePower
- movs r0, 0x46
- strh r0, [r1]
- movs r3, 0x7
- b _08053E3C
- .pool
-_08053E0C:
- cmp r3, 0x54
- bgt _08053E20
- ldr r1, =gDynamicBasePower
- movs r0, 0x5A
- strh r0, [r1]
- movs r3, 0x8
- b _08053E3C
- .pool
-_08053E20:
- cmp r3, 0x5E
- bgt _08053E34
- ldr r1, =gDynamicBasePower
- movs r0, 0x6E
- strh r0, [r1]
- movs r3, 0x9
- b _08053E3C
- .pool
-_08053E34:
- ldr r1, =gDynamicBasePower
- movs r0, 0x96
- strh r0, [r1]
- movs r3, 0xA
-_08053E3C:
- ldr r1, =gBattleTextBuff1
- movs r2, 0
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- strb r0, [r1, 0x2]
- movs r0, 0x2
- strb r0, [r1, 0x3]
- strb r3, [r1, 0x4]
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- ldr r1, =gBankTarget
- strb r2, [r1]
- ldr r0, =gNoOfAllBanks
- ldrb r3, [r0]
- adds r6, r1, 0
- ldr r0, =gBattlescriptCurrInstr
- mov r8, r0
- cmp r2, r3
- bcs _08053E94
- adds r4, r6, 0
- ldr r0, =gBankAttacker
- ldrb r5, [r0]
- ldr r1, =gBitTable
- mov r12, r1
- ldr r7, =gAbsentBankFlags
-_08053E72:
- ldrb r2, [r4]
- cmp r2, r5
- beq _08053E88
- ldrb r0, [r7]
- ldrb r1, [r6]
- lsls r1, 2
- add r1, r12
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- beq _08053E94
-_08053E88:
- adds r0, r2, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r3
- bcc _08053E72
-_08053E94:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkB9_magnitudedamagecalculation
-
- thumb_func_start atkBA_jumpifnopursuitswitchdmg
-atkBA_jumpifnopursuitswitchdmg: @ 8053EC8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02024212
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08053EF8
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08053EF4
- movs r0, 0x1
- b _08053F12
- .pool
-_08053EF4:
- movs r0, 0
- b _08053F12
-_08053EF8:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08053F10
- movs r0, 0x3
- b _08053F12
- .pool
-_08053F10:
- movs r0, 0x2
-_08053F12:
- bl GetBankByPlayerAI
- ldr r1, =gBankTarget
- strb r0, [r1]
- ldr r0, =gUnknown_0202421C
- ldr r1, =gBankTarget
- ldrb r3, [r1]
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08053F2A
- b _08054030
-_08053F2A:
- ldr r5, =gBankAttacker
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r1, r3, r1
- ldrb r2, [r5]
- ldrb r1, [r1, 0xC]
- cmp r2, r1
- bne _08054030
- ldr r4, =gBattleMons
- movs r2, 0x58
- adds r0, r3, 0
- muls r0, r2
- adds r1, r4, 0
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x27
- ands r0, r1
- cmp r0, 0
- bne _08054030
- ldrb r0, [r5]
- muls r0, r2
- adds r0, r4
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08054030
- ldr r0, =gDisableStructs
- lsls r1, r3, 3
- subs r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x18]
- lsls r0, 31
- cmp r0, 0
- bne _08054030
- ldr r0, =gUnknown_02024274
- lsls r1, r3, 1
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0xE4
- bne _08054030
- movs r1, 0
- ldr r0, =gNoOfAllBanks
- ldr r2, =gCurrentMove
- mov r8, r2
- ldr r7, =gCurrMovePos
- mov r10, r7
- ldr r2, =gUnknown_020241E9
- mov r9, r2
- ldr r7, =gHitMarker
- mov r12, r7
- ldrb r2, [r0]
- cmp r1, r2
- bge _08053FB6
- ldr r6, =gTurnOrder
- ldr r5, =gBankTarget
- ldr r4, =gUnknown_0202407A
- movs r3, 0xB
- adds r2, r0, 0
-_08053FA0:
- adds r0, r1, r6
- ldrb r0, [r0]
- ldrb r7, [r5]
- cmp r0, r7
- bne _08053FAE
- adds r0, r1, r4
- strb r3, [r0]
-_08053FAE:
- adds r1, 0x1
- ldrb r0, [r2]
- cmp r1, r0
- blt _08053FA0
-_08053FB6:
- movs r0, 0xE4
- mov r1, r8
- strh r0, [r1]
- ldr r2, =gBankTarget
- ldrb r0, [r2]
- ldr r7, =gBattleStruct
- ldr r1, [r7]
- adds r0, r1
- adds r0, 0x80
- ldrb r0, [r0]
- mov r1, r9
- strb r0, [r1]
- mov r2, r10
- strb r0, [r2]
- ldr r7, =gBattlescriptCurrInstr
- ldr r0, [r7]
- adds r0, 0x5
- str r0, [r7]
- movs r0, 0x1
- ldr r1, =gBattleScripting
- strb r0, [r1, 0x18]
- mov r2, r12
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
- b _0805404A
- .pool
-_08054030:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_0805404A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkBA_jumpifnopursuitswitchdmg
-
- thumb_func_start atkBB_setsunny
-atkBB_setsunny: @ 805405C
- push {lr}
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08054088
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- b _0805409A
- .pool
-_08054088:
- movs r0, 0x20
- strh r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x4
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_020243D0
- adds r0, 0x28
- movs r1, 0x5
- strb r1, [r0]
-_0805409A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkBB_setsunny
-
- thumb_func_start atkBC_maxattackhalvehp
-atkBC_maxattackhalvehp: @ 80540B4
- push {r4,r5,lr}
- ldr r5, =gBattleMons
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- movs r3, 0x58
- muls r0, r3
- adds r2, r0, r5
- ldrh r0, [r2, 0x2C]
- lsrs r1, r0, 1
- cmp r1, 0
- bne _080540CC
- movs r1, 0x1
-_080540CC:
- movs r0, 0x19
- ldrsb r0, [r2, r0]
- cmp r0, 0xB
- bgt _08054110
- ldrh r0, [r2, 0x28]
- cmp r0, r1
- bls _08054110
- movs r0, 0xC
- strb r0, [r2, 0x19]
- ldr r1, =gBattleMoveDamage
- ldrb r0, [r4]
- muls r0, r3
- adds r0, r5
- ldrh r0, [r0, 0x2C]
- lsrs r0, 1
- str r0, [r1]
- cmp r0, 0
- bne _080540F4
- movs r0, 0x1
- str r0, [r1]
-_080540F4:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _0805412A
- .pool
-_08054110:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_0805412A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkBC_maxattackhalvehp
-
- thumb_func_start atkBD_copyfoestats
-atkBD_copyfoestats: @ 8054134
- push {r4-r7,lr}
- movs r2, 0
- ldr r7, =gBattlescriptCurrInstr
- ldr r6, =gBankAttacker
- movs r4, 0x58
- ldr r3, =gBattleMons + 0x18
- ldr r5, =gBankTarget
-_08054142:
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r4
- adds r1, r2, r1
- adds r1, r3
- ldrb r0, [r5]
- muls r0, r4
- adds r0, r2, r0
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x7
- ble _08054142
- ldr r0, [r7]
- adds r0, 0x5
- str r0, [r7]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkBD_copyfoestats
-
- thumb_func_start atkBE_breakfree
-atkBE_breakfree: @ 805417C
- push {r4-r6,lr}
- ldr r1, =gBattleMons
- ldr r5, =gBankAttacker
- ldrb r2, [r5]
- movs r6, 0x58
- adds r0, r2, 0
- muls r0, r6
- adds r4, r1, 0
- adds r4, 0x50
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0xE0
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _08054210
- ldr r1, =gBattleScripting
- ldr r3, =gBankTarget
- ldrb r0, [r3]
- strb r0, [r1, 0x17]
- ldrb r0, [r5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r4
- ldr r0, [r1]
- ldr r2, =0xffff1fff
- ands r0, r2
- str r0, [r1]
- ldrb r0, [r5]
- ldr r1, =gBattleStruct
- ldr r2, [r1]
- adds r0, r2
- ldrb r0, [r0, 0x14]
- strb r0, [r3]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0, 0x4]
- strb r0, [r1, 0x2]
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAFC5
- b _080542BA
- .pool
-_08054210:
- ldr r4, =gStatuses3
- lsls r0, r2, 2
- adds r3, r0, r4
- ldr r1, [r3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08054250
- movs r0, 0x5
- negs r0, r0
- ands r1, r0
- str r1, [r3]
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r4
- ldr r0, [r1]
- movs r2, 0x4
- negs r2, r2
- ands r0, r2
- str r0, [r1]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAFD6
- b _080542BA
- .pool
-_08054250:
- adds r0, r2, 0
- bl GetBankSide
- ldr r4, =gSideAffecting
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080542B4
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r2, [r0]
- ldr r1, =0x0000ffef
- ands r1, r2
- movs r4, 0
- strh r1, [r0]
- ldrb r0, [r5]
- bl GetBankSide
- ldr r2, =gSideTimers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- strb r4, [r1, 0xA]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DAFDD
- b _080542BA
- .pool
-_080542B4:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
-_080542BA:
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkBE_breakfree
-
- thumb_func_start atkBF_set_defense_curl
-atkBF_set_defense_curl: @ 80542C8
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 23
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atkBF_set_defense_curl
-
- thumb_func_start atkC0_recoverbasedonsunlight
-atkC0_recoverbasedonsunlight: @ 80542F8
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, =gBankTarget
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- strb r0, [r1]
- ldr r7, =gBattleMons
- ldrb r0, [r5]
- movs r6, 0x58
- muls r0, r6
- adds r0, r7
- ldrh r1, [r0, 0x28]
- ldrh r0, [r0, 0x2C]
- cmp r1, r0
- beq _080543D8
- ldr r4, =gBattleWeather
- ldrh r0, [r4]
- cmp r0, 0
- beq _0805434A
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805434A
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _08054378
-_0805434A:
- ldr r3, =gBattleMoveDamage
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x2C]
- lsrs r0, 1
- str r0, [r3]
- adds r1, r3, 0
- b _080543B2
- .pool
-_08054378:
- ldrh r1, [r4]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _080543A4
- ldr r4, =gBattleMoveDamage
- ldrb r0, [r5]
- muls r0, r6
- adds r0, r7
- ldrh r1, [r0, 0x2C]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- movs r1, 0x1E
- bl __divsi3
- str r0, [r4]
- adds r1, r4, 0
- b _080543B2
- .pool
-_080543A4:
- ldr r1, =gBattleMoveDamage
- ldrb r0, [r5]
- muls r0, r6
- adds r0, r7
- ldrh r0, [r0, 0x2C]
- lsrs r0, 2
- str r0, [r1]
-_080543B2:
- adds r2, r1, 0
- ldr r0, [r2]
- cmp r0, 0
- bne _080543BE
- movs r0, 0x1
- str r0, [r2]
-_080543BE:
- ldr r0, [r1]
- negs r0, r0
- str r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _080543F2
- .pool
-_080543D8:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_080543F2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC0_recoverbasedonsunlight
-
- thumb_func_start atkC1_hidden_power
-atkC1_hidden_power: @ 8054400
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- adds r4, r1, 0
- muls r4, r0
- adds r4, r2
- ldrb r0, [r4, 0x14]
- mov r10, r0
- mov r7, r10
- lsls r7, 27
- adds r0, r7, 0
- lsrs r0, 27
- mov r10, r0
- movs r1, 0x2
- mov r2, r10
- ands r2, r1
- asrs r2, 1
- ldrh r7, [r4, 0x14]
- mov r9, r7
- mov r0, r9
- lsls r0, 22
- mov r9, r0
- lsrs r3, r0, 27
- adds r0, r1, 0
- ands r0, r3
- orrs r2, r0
- ldrb r7, [r4, 0x15]
- mov r8, r7
- mov r0, r8
- lsls r0, 25
- mov r8, r0
- lsrs r3, r0, 27
- adds r0, r1, 0
- ands r0, r3
- lsls r0, 1
- orrs r2, r0
- ldr r6, [r4, 0x14]
- lsls r6, 12
- lsrs r3, r6, 27
- adds r0, r1, 0
- ands r0, r3
- lsls r0, 2
- orrs r2, r0
- ldrh r5, [r4, 0x16]
- lsls r5, 23
- lsrs r3, r5, 27
- adds r0, r1, 0
- ands r0, r3
- lsls r0, 3
- orrs r2, r0
- ldrb r3, [r4, 0x17]
- lsls r3, 26
- lsrs r0, r3, 27
- ands r1, r0
- lsls r1, 4
- orrs r2, r1
- movs r1, 0x1
- adds r4, r1, 0
- mov r7, r10
- ands r4, r7
- mov r0, r9
- lsrs r0, 27
- mov r9, r0
- adds r0, r1, 0
- mov r7, r9
- ands r0, r7
- lsls r0, 1
- orrs r4, r0
- mov r0, r8
- lsrs r0, 27
- mov r8, r0
- adds r0, r1, 0
- mov r7, r8
- ands r0, r7
- lsls r0, 2
- orrs r4, r0
- lsrs r6, 27
- adds r0, r1, 0
- ands r0, r6
- lsls r0, 3
- orrs r4, r0
- lsrs r5, 27
- adds r0, r1, 0
- ands r0, r5
- lsls r0, 4
- orrs r4, r0
- lsrs r3, 27
- ands r1, r3
- lsls r1, 5
- orrs r4, r1
- ldr r5, =gDynamicBasePower
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- movs r1, 0x3F
- bl __divsi3
- adds r0, 0x1E
- strh r0, [r5]
- ldr r6, =gBattleStruct
- ldr r5, [r6]
- lsls r0, r4, 4
- subs r0, r4
- movs r1, 0x3F
- bl __divsi3
- adds r0, 0x1
- strb r0, [r5, 0x13]
- ldr r1, [r6]
- ldrb r0, [r1, 0x13]
- cmp r0, 0x8
- bls _080544F0
- adds r0, 0x1
- strb r0, [r1, 0x13]
-_080544F0:
- ldr r2, [r6]
- ldrb r0, [r2, 0x13]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r2, 0x13]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- 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 atkC1_hidden_power
-
- thumb_func_start atkC2_selectnexttarget
-atkC2_selectnexttarget: @ 8054524
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gBankTarget
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gNoOfAllBanks
- ldrb r1, [r1]
- adds r6, r0, 0
- ldr r0, =gBattlescriptCurrInstr
- mov r8, r0
- cmp r1, 0
- beq _0805456E
- adds r3, r6, 0
- ldr r0, =gBankAttacker
- ldrb r5, [r0]
- ldr r0, =gBitTable
- mov r12, r0
- adds r4, r1, 0
- ldr r7, =gAbsentBankFlags
-_0805454C:
- ldrb r2, [r3]
- cmp r2, r5
- beq _08054562
- ldrb r0, [r7]
- ldrb r1, [r6]
- lsls r1, 2
- add r1, r12
- ldr r1, [r1]
- ands r0, r1
- cmp r0, 0
- beq _0805456E
-_08054562:
- adds r0, r2, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r4
- bcc _0805454C
-_0805456E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC2_selectnexttarget
-
- thumb_func_start atkC3_setfutureattack
-atkC3_setfutureattack: @ 8054598
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r0, =gUnknown_020243D0
- mov r8, r0
- ldr r6, =gBankTarget
- ldrb r1, [r6]
- adds r0, r1, r0
- ldrb r7, [r0]
- cmp r7, 0
- beq _080545DC
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _080546CC
- .pool
-_080545DC:
- adds r0, r1, 0
- bl GetBankIdentity
- ldr r4, =gSideAffecting
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- mov r10, r1
- ands r0, r1
- lsls r0, 1
- adds r0, r4
- ldrh r2, [r0]
- movs r1, 0x40
- movs r5, 0
- mov r3, sp
- strh r5, [r3, 0x10]
- orrs r1, r2
- strh r1, [r0]
- ldrb r0, [r6]
- lsls r0, 1
- mov r1, r8
- adds r1, 0x18
- adds r0, r1
- ldr r1, =gCurrentMove
- mov r9, r1
- ldrh r1, [r1]
- strh r1, [r0]
- mov r0, r8
- adds r0, 0x4
- ldrb r2, [r6]
- adds r0, r2
- ldr r5, =gBankAttacker
- ldrb r1, [r5]
- strb r1, [r0]
- ldrb r0, [r6]
- add r0, r8
- movs r1, 0x3
- strb r1, [r0]
- ldrb r0, [r6]
- bl GetBankIdentity
- mov r1, r10
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- ldr r2, =gBattleMons
- adds r0, r2
- ldrb r1, [r6]
- muls r1, r4
- adds r1, r2
- mov r4, r9
- ldrh r2, [r4]
- str r7, [sp]
- str r7, [sp, 0x4]
- ldrb r4, [r5]
- str r4, [sp, 0x8]
- ldrb r4, [r6]
- str r4, [sp, 0xC]
- bl CalculateBaseDamage
- ldrb r1, [r6]
- lsls r1, 2
- mov r2, r8
- adds r2, 0x8
- adds r1, r2
- str r0, [r1]
- ldr r1, =gProtectStructs
- ldrb r0, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 28
- cmp r0, 0
- bge _0805468C
- ldrb r4, [r6]
- lsls r4, 2
- adds r4, r2
- ldr r1, [r4]
- lsls r0, r1, 4
- subs r0, r1
- movs r1, 0xA
- bl __divsi3
- str r0, [r4]
-_0805468C:
- mov r5, r9
- ldrh r1, [r5]
- ldr r0, =0x00000161
- cmp r1, r0
- bne _080546BC
- ldr r0, =gBattleCommunication
- mov r1, r10
- strb r1, [r0, 0x5]
- b _080546C4
- .pool
-_080546BC:
- ldr r0, =gBattleCommunication
- mov r2, sp
- ldrb r2, [r2, 0x10]
- strb r2, [r0, 0x5]
-_080546C4:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080546CC:
- 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 atkC3_setfutureattack
-
- thumb_func_start atkC4_beat_up
-atkC4_beat_up: @ 80546E4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r7, =gEnemyParty
- cmp r0, 0
- bne _080546FE
- ldr r7, =gPlayerParty
-_080546FE:
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08054740
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- b _080548DC
- .pool
-_08054740:
- ldr r6, =gBattleCommunication
- ldrb r0, [r6]
- mov r8, r0
- cmp r0, 0x5
- bls _0805474C
- b _080548A8
-_0805474C:
- adds r4, r6, 0
- movs r5, 0x64
-_08054750:
- ldrb r0, [r4]
- muls r0, r5
- adds r0, r7, r0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08054794
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r7, r0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08054794
- ldrb r0, [r4]
- muls r0, r5
- adds r0, r7, r0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08054794
- ldrb r0, [r4]
- muls r0, r5
- adds r0, r7, r0
- movs r1, 0x37
- bl GetMonData
- cmp r0, 0
- beq _080547A4
-_08054794:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- adds r6, r4, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08054750
-_080547A4:
- ldr r1, =gBattleCommunication
- mov r9, r1
- ldrb r2, [r1]
- cmp r2, 0x5
- bhi _080548A8
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- strb r0, [r1, 0x2]
- strb r2, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x9
- str r0, [r1]
- ldr r2, =gBattleMoveDamage
- mov r8, r2
- ldr r5, =gBaseStats
- mov r1, r9
- ldrb r0, [r1]
- movs r4, 0x64
- muls r0, r4
- adds r0, r7, r0
- movs r1, 0xB
- bl GetMonData
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r1, 0x1]
- mov r2, r8
- str r3, [r2]
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- muls r0, r3
- mov r1, r8
- str r0, [r1]
- mov r2, r9
- ldrb r0, [r2]
- muls r0, r4
- adds r0, r7, r0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 1
- movs r1, 0x5
- bl __udivsi3
- adds r0, 0x2
- mov r2, r8
- ldr r1, [r2]
- muls r0, r1
- str r0, [r2]
- ldr r3, =gBattleMons
- ldr r1, =gBankTarget
- ldrb r2, [r1]
- movs r1, 0x58
- muls r1, r2
- adds r1, r3
- ldrh r2, [r1]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1, 0x2]
- bl __divsi3
- mov r1, r8
- str r0, [r1]
- movs r1, 0x32
- bl __divsi3
- adds r2, r0, 0x2
- mov r0, r8
- str r2, [r0]
- ldr r1, =gProtectStructs
- ldrb r0, [r6]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 28
- cmp r0, 0
- bge _08054870
- lsls r0, r2, 4
- subs r0, r2
- movs r1, 0xA
- bl __divsi3
- mov r1, r8
- str r0, [r1]
-_08054870:
- mov r2, r9
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _080548E2
- .pool
-_080548A8:
- mov r0, r8
- cmp r0, 0
- beq _080548C8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- b _080548DC
- .pool
-_080548C8:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
-_080548DC:
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_080548E2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC4_beat_up
-
- thumb_func_start atkC5_hidepreattack
-atkC5_hidepreattack: @ 80548F4
- push {lr}
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- cmp r1, 0x5B
- beq _08054934
- cmp r1, 0x5B
- bgt _0805490C
- cmp r1, 0x13
- beq _08054918
- b _08054960
- .pool
-_0805490C:
- ldr r0, =0x00000123
- cmp r1, r0
- beq _0805494C
- adds r0, 0x31
- cmp r1, r0
- bne _08054960
-_08054918:
- ldr r2, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x40
- b _0805495C
- .pool
-_08054934:
- ldr r2, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x80
- b _0805495C
- .pool
-_0805494C:
- ldr r2, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 11
-_0805495C:
- orrs r0, r2
- str r0, [r1]
-_08054960:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC5_hidepreattack
-
- thumb_func_start atkC6_unhidepostattack
-atkC6_unhidepostattack: @ 8054978
- push {lr}
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- cmp r1, 0x5B
- beq _080549BC
- cmp r1, 0x5B
- bgt _08054990
- cmp r1, 0x13
- beq _0805499C
- b _080549EA
- .pool
-_08054990:
- ldr r0, =0x00000123
- cmp r1, r0
- beq _080549D8
- adds r0, 0x31
- cmp r1, r0
- bne _080549EA
-_0805499C:
- ldr r2, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x41
- negs r2, r2
- b _080549E6
- .pool
-_080549BC:
- ldr r2, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x81
- negs r2, r2
- b _080549E6
- .pool
-_080549D8:
- ldr r2, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1]
- ldr r2, =0xfffbffff
-_080549E6:
- ands r0, r2
- str r0, [r1]
-_080549EA:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC6_unhidepostattack
-
- thumb_func_start atkC7_setminimize
-atkC7_setminimize: @ 8054A08
- push {lr}
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _08054A2C
- ldr r2, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 1
- orrs r0, r2
- str r0, [r1]
-_08054A2C:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC7_setminimize
-
- thumb_func_start atkC8_sethail
-atkC8_sethail: @ 8054A48
- push {lr}
- ldr r3, =gBattleWeather
- ldrh r1, [r3]
- movs r2, 0x80
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08054A78
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
- b _08054A86
- .pool
-_08054A78:
- strh r2, [r3]
- ldr r0, =gBattleCommunication
- movs r1, 0x5
- strb r1, [r0, 0x5]
- ldr r0, =gUnknown_020243D0
- adds r0, 0x28
- strb r1, [r0]
-_08054A86:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC8_sethail
-
- thumb_func_start atkC9_jumpifattackandspecialattackcannotfall
-atkC9_jumpifattackandspecialattackcannotfall: @ 8054AA0
- push {r4,lr}
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r1, r0, r2
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- adds r3, r2, 0
- cmp r0, 0
- bne _08054AF4
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _08054AF4
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- beq _08054AF4
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08054B20
- .pool
-_08054AF4:
- ldr r4, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r4]
- ldr r2, =gBattleMoveDamage
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r3
- ldrh r0, [r0, 0x28]
- str r0, [r2]
- ldr r1, =0x00007fff
- movs r0, 0
- bl dp01_build_cmdbuf_x18_0_aa_health_bar_update
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08054B20:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkC9_jumpifattackandspecialattackcannotfall
-
- thumb_func_start atkCA_setforcedtarget
-atkCA_setforcedtarget: @ 8054B3C
- push {r4,r5,lr}
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- ldr r5, =gSideTimers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x1
- strb r0, [r1, 0x8]
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r4]
- strb r0, [r1, 0x9]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkCA_setforcedtarget
-
- thumb_func_start atkCB_setcharge
-atkCB_setcharge: @ 8054B88
- push {r4,lr}
- ldr r0, =gStatuses3
- ldr r3, =gBankAttacker
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 2
- orrs r0, r2
- str r0, [r1]
- ldr r4, =gDisableStructs
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0, 0x12]
- movs r1, 0x10
- negs r1, r1
- ands r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0, 0x12]
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0, 0x12]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x12]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkCB_setcharge
-
- thumb_func_start atkCC_callterrainattack
-atkCC_callterrainattack: @ 8054BEC
- push {r4,lr}
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
- ldr r4, =gCurrentMove
- ldr r1, =gUnknown_0831C414
- ldr r0, =gUnknown_02022FF0
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0
- bl GetMoveTarget
- ldr r1, =gBankTarget
- strb r0, [r1]
- ldr r3, =gUnknown_082D86A8
- ldr r2, =gBattleMoves
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- bl b_movescr_stack_push
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkCC_callterrainattack
-
- thumb_func_start atkCD_cureifburnedparalysedorpoisoned
-atkCD_cureifburnedparalysedorpoisoned: @ 8054C60
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r1, =gBattleMons
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- movs r6, 0x58
- muls r0, r6
- adds r5, r1, 0
- adds r5, 0x4C
- adds r2, r0, r5
- ldr r0, [r2]
- movs r1, 0xD8
- ands r0, r1
- cmp r0, 0
- beq _08054CBC
- movs r0, 0
- str r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- ldr r4, =gActiveBank
- ldrb r0, [r3]
- strb r0, [r4]
- ldrb r0, [r4]
- muls r0, r6
- adds r0, r5
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- b _08054CD6
- .pool
-_08054CBC:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08054CD6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkCD_cureifburnedparalysedorpoisoned
-
- thumb_func_start atkCE_settorment
-atkCE_settorment: @ 8054CE4
- push {lr}
- ldr r1, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 24
- cmp r1, 0
- bge _08054D28
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08054D34
- .pool
-_08054D28:
- orrs r1, r2
- str r1, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08054D34:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkCE_settorment
-
- thumb_func_start atkCF_jumpifnodamage
-atkCF_jumpifnodamage: @ 8054D3C
- push {lr}
- ldr r2, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r0, r2, 0x4
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08054D5C
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08054D74
-_08054D5C:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08054D8E
- .pool
-_08054D74:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08054D8E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkCF_jumpifnodamage
-
- thumb_func_start atkD0_settaunt
-atkD0_settaunt: @ 8054D98
- push {r4,lr}
- ldr r4, =gDisableStructs
- ldr r3, =gBankTarget
- ldrb r0, [r3]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r2, r1, r4
- ldrb r1, [r2, 0x13]
- lsls r0, r1, 28
- cmp r0, 0
- bne _08054DE8
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x13]
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0, 0x13]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x13]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08054E02
- .pool
-_08054DE8:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08054E02:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD0_settaunt
-
- thumb_func_start atkD1_set_helpinghand
-atkD1_set_helpinghand: @ 8054E0C
- push {r4,lr}
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankIdentity
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByPlayerAI
- ldr r3, =gBankTarget
- strb r0, [r3]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08054E90
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r3, [r3]
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08054E90
- ldr r1, =gProtectStructs
- ldrb r0, [r4]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 28
- cmp r0, 0
- blt _08054E90
- lsls r0, r3, 4
- adds r2, r0, r1
- ldrb r1, [r2]
- lsls r0, r1, 28
- cmp r0, 0
- blt _08054E90
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08054EAA
- .pool
-_08054E90:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08054EAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD1_set_helpinghand
-
- thumb_func_start atkD2_swap_items
-atkD2_swap_items: @ 8054EB4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, =gBattleTypeFlags
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 19
- ands r0, r1
- cmp r0, 0
- bne _08054F9A
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08054EE8
- ldr r0, [r4]
- ldr r1, =0x0a3f0902
- ands r0, r1
- cmp r0, 0
- beq _08054F9A
-_08054EE8:
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r7, =gBankTarget
- ldrb r0, [r7]
- bl GetBankSide
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x0a3f0902
- ands r0, r1
- cmp r0, 0
- bne _08054F46
- ldr r0, =gUnknown_020243D0
- adds r2, r0, 0
- adds r2, 0x29
- adds r0, r4, r2
- ldrb r1, [r0]
- ldr r4, =gBitTable
- ldr r3, =gBattlePartyID
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08054F9A
- adds r0, r5, r2
- ldrb r1, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08054F9A
-_08054F46:
- ldr r0, =gBattleMons
- mov r8, r0
- ldr r1, =gBankAttacker
- ldrb r4, [r1]
- movs r5, 0x58
- adds r0, r4, 0
- muls r0, r5
- add r0, r8
- mov r9, r0
- ldrh r3, [r0, 0x2E]
- adds r1, r3, 0
- cmp r1, 0
- bne _08054F6E
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- muls r0, r5
- add r0, r8
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- beq _08054F9A
-_08054F6E:
- cmp r1, 0xAF
- beq _08054F9A
- ldr r7, =gBankTarget
- ldrb r0, [r7]
- muls r0, r5
- mov r2, r8
- adds r1, r0, r2
- ldrh r2, [r1, 0x2E]
- cmp r2, 0xAF
- beq _08054F9A
- adds r0, r3, 0
- subs r0, 0x79
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bls _08054F9A
- adds r0, r2, 0
- subs r0, 0x79
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bhi _08054FDC
-_08054F9A:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08055132
- .pool
-_08054FDC:
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x3C
- bne _08055010
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB63F
- str r0, [r1]
- ldr r1, =gLastUsedAbility
- ldrb r0, [r7]
- muls r0, r5
- add r0, r8
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- ldrb r1, [r1]
- bl RecordAbilityBattle
- b _08055132
- .pool
-_08055010:
- ldr r3, =gBattleStruct
- mov r10, r3
- lsls r0, r4, 1
- adds r0, 0xD0
- ldr r1, [r3]
- adds r6, r1, r0
- mov r0, r9
- ldrh r0, [r0, 0x2E]
- mov r9, r0
- strh r2, [r6]
- ldr r1, =gBankAttacker
- ldrb r0, [r1]
- muls r0, r5
- add r0, r8
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- muls r0, r5
- add r0, r8
- mov r2, r9
- strh r2, [r0, 0x2E]
- ldr r4, =gActiveBank
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- strb r0, [r4]
- str r6, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldr r1, =gBankAttacker
- ldrb r0, [r1]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r0, [r7]
- strb r0, [r4]
- ldrb r0, [r7]
- muls r0, r5
- mov r1, r8
- adds r1, 0x2E
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r7]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r0, [r7]
- mov r2, r10
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC8
- movs r3, 0
- strb r3, [r0]
- ldrb r0, [r7]
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC9
- strb r3, [r0]
- ldr r1, =gBankAttacker
- ldrb r0, [r1]
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC8
- strb r3, [r0]
- ldr r2, =gBankAttacker
- ldrb r0, [r2]
- mov r3, r10
- ldr r1, [r3]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC9
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- ldr r1, =gBattleTextBuff1
- movs r3, 0xFD
- strb r3, [r1]
- movs r2, 0xA
- strb r2, [r1, 0x1]
- ldrh r0, [r6]
- strb r0, [r1, 0x2]
- ldrh r0, [r6]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattleTextBuff2
- strb r3, [r1]
- strb r2, [r1, 0x1]
- mov r2, r9
- strb r2, [r1, 0x2]
- mov r3, r9
- lsrs r0, r3, 8
- strb r0, [r1, 0x3]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x4]
- cmp r3, 0
- beq _08055118
- ldrh r0, [r6]
- cmp r0, 0
- beq _0805512C
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- b _08055130
- .pool
-_08055118:
- ldrh r0, [r6]
- cmp r0, 0
- beq _0805512C
- ldr r0, =gBattleCommunication
- movs r1, 0
- strb r1, [r0, 0x5]
- b _08055132
- .pool
-_0805512C:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
-_08055130:
- strb r0, [r1, 0x5]
-_08055132:
- 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 atkD2_swap_items
-
- thumb_func_start atkD3_copy_ability
-atkD3_copy_ability: @ 8055148
- push {r4,lr}
- ldr r3, =gBattleMons
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- movs r2, 0x58
- muls r0, r2
- adds r0, r3
- adds r0, 0x20
- ldrb r1, [r0]
- adds r0, r1, 0
- cmp r0, 0
- beq _0805519C
- cmp r0, 0x19
- beq _0805519C
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- adds r0, 0x20
- strb r1, [r0]
- ldr r1, =gLastUsedAbility
- ldrb r0, [r4]
- muls r0, r2
- adds r0, r3
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _080551B6
- .pool
-_0805519C:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_080551B6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD3_copy_ability
-
- thumb_func_start atkD4_wish_effect
-atkD4_wish_effect: @ 80551C0
- push {r4-r7,lr}
- ldr r7, =gBattlescriptCurrInstr
- ldr r2, [r7]
- ldrb r3, [r2, 0x1]
- cmp r3, 0
- beq _080551D8
- cmp r3, 0x1
- beq _08055210
- b _0805528C
- .pool
-_080551D8:
- ldr r1, =gUnknown_020243D0
- ldr r4, =gBankAttacker
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r5, [r4]
- adds r3, r0, r5
- ldrb r0, [r3]
- cmp r0, 0
- bne _0805525C
- movs r0, 0x2
- strb r0, [r3]
- ldrb r0, [r4]
- adds r1, 0x24
- adds r1, r0, r1
- ldr r2, =gBattlePartyID
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x6
- b _0805528A
- .pool
-_08055210:
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- ldr r4, =gBankTarget
- ldrb r0, [r4]
- strb r0, [r1, 0x2]
- ldr r0, =gUnknown_020243D0
- adds r0, 0x24
- ldrb r5, [r4]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattleMoveDamage
- ldr r6, =gBattleMons
- ldrb r0, [r4]
- movs r5, 0x58
- muls r0, r5
- adds r0, r6
- ldrh r0, [r0, 0x2C]
- lsrs r0, 1
- str r0, [r1]
- cmp r0, 0
- bne _08055248
- str r3, [r1]
-_08055248:
- ldr r0, [r1]
- negs r0, r0
- str r0, [r1]
- ldrb r0, [r4]
- muls r0, r5
- adds r0, r6
- ldrh r1, [r0, 0x28]
- ldrh r0, [r0, 0x2C]
- cmp r1, r0
- bne _08055288
-_0805525C:
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r7]
- b _0805528C
- .pool
-_08055288:
- adds r0, r2, 0x6
-_0805528A:
- str r0, [r7]
-_0805528C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atkD4_wish_effect
-
- thumb_func_start atkD5_setroots
-atkD5_setroots: @ 8055294
- push {lr}
- ldr r1, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 2
- adds r2, r0, r1
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 3
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _080552D8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _080552E4
- .pool
-_080552D8:
- orrs r1, r3
- str r1, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080552E4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD5_setroots
-
- thumb_func_start atkD6_doubledamagedealtifdamaged
-atkD6_doubledamagedealtifdamaged: @ 80552EC
- push {lr}
- ldr r3, =gProtectStructs
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r0, r3, 0x4
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0805530C
- adds r0, r2, r3
- ldr r1, =gBankTarget
- ldrb r0, [r0, 0xC]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08055324
-_0805530C:
- adds r0, r3, 0
- adds r0, 0x8
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0805532A
- adds r0, r2, r3
- ldr r1, =gBankTarget
- ldrb r0, [r0, 0xD]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0805532A
-_08055324:
- ldr r1, =gBattleScripting
- movs r0, 0x2
- strb r0, [r1, 0xE]
-_0805532A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD6_doubledamagedealtifdamaged
-
- thumb_func_start atkD7_setyawn
-atkD7_setyawn: @ 805534C
- push {r4,lr}
- ldr r1, =gStatuses3
- ldr r0, =gBankTarget
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r4, r0, r1
- ldr r2, [r4]
- movs r0, 0xC0
- lsls r0, 5
- ands r0, r2
- cmp r0, 0
- bne _08055374
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r3
- adds r1, 0x4C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080553A0
-_08055374:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _080553B0
- .pool
-_080553A0:
- movs r0, 0x80
- lsls r0, 5
- orrs r2, r0
- str r2, [r4]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080553B0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD7_setyawn
-
- thumb_func_start atkD8_setdamagetohealthdifference
-atkD8_setdamagetohealthdifference: @ 80553BC
- push {lr}
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- movs r1, 0x58
- muls r0, r1
- adds r3, r0, r2
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- muls r0, r1
- adds r1, r0, r2
- ldrh r0, [r3, 0x28]
- ldrh r2, [r1, 0x28]
- cmp r0, r2
- bhi _08055408
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0805541A
- .pool
-_08055408:
- ldr r2, =gBattleMoveDamage
- ldrh r0, [r3, 0x28]
- ldrh r1, [r1, 0x28]
- subs r0, r1
- str r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0805541A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD8_setdamagetohealthdifference
-
- thumb_func_start atkD9_scaledamagebyhealthratio
-atkD9_scaledamagebyhealthratio: @ 8055428
- push {r4,lr}
- ldr r4, =gDynamicBasePower
- ldrh r0, [r4]
- cmp r0, 0
- bne _08055464
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r3, [r0, 0x1]
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r0, [r1, 0x28]
- muls r0, r3
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- bne _08055464
- movs r0, 0x1
- strh r0, [r4]
-_08055464:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkD9_scaledamagebyhealthratio
-
- thumb_func_start atkDA_abilityswap
-atkDA_abilityswap: @ 805548C
- push {r4-r6,lr}
- ldr r5, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- movs r4, 0x58
- muls r0, r4
- adds r0, r5
- adds r2, r0, 0
- adds r2, 0x20
- ldrb r1, [r2]
- cmp r1, 0
- bne _080554B4
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- muls r0, r4
- adds r0, r5
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080554D4
-_080554B4:
- cmp r1, 0x19
- beq _080554D4
- ldr r6, =gBankTarget
- ldrb r0, [r6]
- muls r0, r4
- adds r0, r5
- adds r0, 0x20
- ldrb r3, [r0]
- cmp r3, 0x19
- beq _080554D4
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _08055504
-_080554D4:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0805551A
- .pool
-_08055504:
- ldrb r1, [r2]
- strb r3, [r2]
- ldrb r0, [r6]
- muls r0, r4
- adds r0, r5
- adds r0, 0x20
- strb r1, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0805551A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkDA_abilityswap
-
- thumb_func_start atkDB_imprisoneffect
-atkDB_imprisoneffect: @ 8055524
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r1, =gStatuses3
- ldr r4, =gBankAttacker
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _08055574
- b _080555F6
- .pool
-_0805554C:
- ldr r0, =gStatuses3
- mov r2, r9
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 6
- orrs r0, r2
- str r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _080555EE
- .pool
-_08055574:
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r4]
- bl sub_803F548
- movs r6, 0
- b _080555E6
-_0805558A:
- adds r0, r6, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r8, r0
- beq _080555E0
- movs r4, 0
- ldr r7, =gBankAttacker
- mov r9, r7
- ldr r0, =gBattleMons
- mov r12, r0
- mov r1, r9
- ldrb r0, [r1]
- mov r2, r12
- adds r2, 0xC
- movs r1, 0x58
- muls r0, r1
- adds r3, r0, r2
- adds r5, r6, 0
- muls r5, r1
-_080555B4:
- movs r2, 0
- ldrh r1, [r3]
- mov r0, r12
- adds r0, 0xC
- adds r0, r5, r0
-_080555BE:
- ldrh r7, [r0]
- cmp r1, r7
- bne _080555C8
- cmp r1, 0
- bne _080555D0
-_080555C8:
- adds r0, 0x2
- adds r2, 0x1
- cmp r2, 0x3
- ble _080555BE
-_080555D0:
- cmp r2, 0x4
- bne _080555DC
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _080555B4
-_080555DC:
- cmp r4, 0x4
- bne _0805554C
-_080555E0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080555E6:
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r6, r0
- bcc _0805558A
-_080555EE:
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r6, r0
- bne _08055610
-_080555F6:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08055610:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkDB_imprisoneffect
-
- thumb_func_start atkDC_setgrudge
-atkDC_setgrudge: @ 805562C
- push {lr}
- ldr r1, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 2
- adds r2, r0, r1
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 7
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _08055670
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0805567C
- .pool
-_08055670:
- orrs r1, r3
- str r1, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0805567C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkDC_setgrudge
-
- thumb_func_start atkDD_weightdamagecalculation
-atkDD_weightdamagecalculation: @ 8055684
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
- ldr r2, =gUnknown_0831C428
- ldrh r0, [r2]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _080556FC
- adds r6, r2, 0
- ldr r0, =gBattleMons
- mov r8, r0
- adds r7, r1, 0
- adds r4, r6, 0
-_080556A0:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetPokedexHeightWeight
- ldrh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _080556CE
- adds r4, 0x4
- adds r5, 0x2
- ldrh r0, [r4]
- cmp r0, r7
- bne _080556A0
-_080556CE:
- lsls r0, r5, 1
- adds r0, r6
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _080556FC
- ldr r0, =gDynamicBasePower
- adds r1, r5, 0x1
- lsls r1, 1
- adds r1, r6
- ldrh r1, [r1]
- strh r1, [r0]
- b _08055702
- .pool
-_080556FC:
- ldr r1, =gDynamicBasePower
- movs r0, 0x78
- strh r0, [r1]
-_08055702:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkDD_weightdamagecalculation
-
- thumb_func_start atkDE_asistattackselect
-atkDE_asistattackselect: @ 805571C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r0, 0
- mov r10, r0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x18
- str r0, [sp, 0x4]
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- ldr r0, =gPlayerParty
- str r0, [sp]
- cmp r1, 0
- beq _0805574C
- ldr r1, =gEnemyParty
- str r1, [sp]
-_0805574C:
- movs r2, 0
-_0805574E:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- adds r1, r2, 0x1
- str r1, [sp, 0x8]
- ldrh r0, [r0]
- cmp r2, r0
- beq _080557F4
- movs r0, 0x64
- adds r6, r2, 0
- muls r6, r0
- ldr r0, [sp]
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _080557F4
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _080557F4
- movs r5, 0
- ldr r1, =0x0000ffff
- mov r8, r1
- mov r9, r6
- mov r1, r10
- lsls r0, r1, 1
- ldr r1, [sp, 0x4]
- adds r6, r0, r1
-_08055798:
- movs r7, 0
- adds r1, r5, 0
- adds r1, 0xD
- ldr r0, [sp]
- add r0, r9
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8052F84
- lsls r0, 24
- adds r1, r5, 0x1
- cmp r0, 0
- bne _080557EE
- ldr r0, =gUnknown_0831C3E0
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, r8
- beq _080557E2
- cmp r4, r2
- beq _080557D8
- ldr r5, =0x0000ffff
- adds r2, r3, 0
-_080557CA:
- adds r2, 0x2
- adds r7, 0x1
- ldrh r0, [r2]
- cmp r0, r5
- beq _080557E2
- cmp r4, r0
- bne _080557CA
-_080557D8:
- lsls r0, r7, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r8
- bne _080557EE
-_080557E2:
- cmp r4, 0
- beq _080557EE
- strh r4, [r6]
- adds r6, 0x2
- movs r0, 0x1
- add r10, r0
-_080557EE:
- adds r5, r1, 0
- cmp r5, 0x3
- ble _08055798
-_080557F4:
- ldr r2, [sp, 0x8]
- cmp r2, 0x5
- ble _0805574E
- mov r1, r10
- cmp r1, 0
- beq _0805586C
- ldr r2, =gHitMarker
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
- ldr r4, =gRandomMove
- bl Random
- movs r1, 0xFF
- ands r1, r0
- mov r0, r10
- muls r0, r1
- asrs r0, 8
- lsls r0, 1
- ldr r1, [sp, 0x4]
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0
- bl GetMoveTarget
- ldr r1, =gBankTarget
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08055886
- .pool
-_0805586C:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08055886:
- 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 atkDE_asistattackselect
-
- thumb_func_start atkDF_setmagiccoat
-atkDF_setmagiccoat: @ 805589C
- push {lr}
- ldr r1, =gBankTarget
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- strb r0, [r1]
- ldr r2, =gSpecialStatuses
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_02024082
- ldrb r1, [r0]
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _080558FC
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08055914
- .pool
-_080558FC:
- ldr r0, =gProtectStructs
- ldrb r1, [r3]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x10
- orrs r0, r2
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08055914:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkDF_setmagiccoat
-
- thumb_func_start atkE0_setstealstatchange
-atkE0_setstealstatchange: @ 8055920
- push {lr}
- ldr r2, =gSpecialStatuses
- ldr r3, =gBankAttacker
- ldrb r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_02024082
- ldrb r1, [r0]
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _08055978
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0805598E
- .pool
-_08055978:
- ldr r0, =gProtectStructs
- ldrb r1, [r3]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0805598E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE0_setstealstatchange
-
- thumb_func_start atkE1_intimidate_string_loader
-atkE1_intimidate_string_loader: @ 805599C
- push {r4-r6,lr}
- ldr r4, =gBattleScripting
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xD8
- ldrb r0, [r0]
- strb r0, [r4, 0x17]
- ldrb r0, [r4, 0x17]
- bl GetBankSide
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r2]
- movs r0, 0x9
- strb r0, [r2, 0x1]
- ldr r3, =gBattleMons
- ldrb r1, [r4, 0x17]
- movs r0, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r2, =gBankTarget
- ldr r1, =gNoOfAllBanks
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08055A22
- adds r4, r2, 0
- ldr r6, =gBitTable
-_080559E2:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- beq _08055A04
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ands r1, r0
- ldr r2, =gNoOfAllBanks
- cmp r1, 0
- beq _08055A18
-_08055A04:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- adds r2, r1, 0
- ldrb r1, [r2]
- cmp r0, r1
- bcc _080559E2
-_08055A18:
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- ldrb r2, [r2]
- cmp r0, r2
- bcc _08055A64
-_08055A22:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08055A6C
- .pool
-_08055A64:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08055A6C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE1_intimidate_string_loader
-
- thumb_func_start atkE2_switchout_abilities
-atkE2_switchout_abilities: @ 8055A78
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r3, =gBattleMons
- ldrb r0, [r4]
- movs r6, 0x58
- adds r1, r0, 0
- muls r1, r6
- adds r0, r1, r3
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1E
- bne _08055AD2
- adds r3, 0x4C
- adds r1, r3
- movs r0, 0
- str r0, [r1]
- ldr r2, =gBitTable
- ldrb r1, [r4]
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, r1, r0
- adds r0, 0x58
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0]
- adds r0, r1, 0
- muls r0, r6
- adds r0, r3
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08055AD2:
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE2_switchout_abilities
-
- thumb_func_start atkE3_jumpiffainted
-atkE3_jumpiffainted: @ 8055AF4
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl get_battle_side_of_something
- ldr r1, =gActiveBank
- strb r0, [r1]
- ldr r2, =gBattleMons
- ldrb r1, [r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08055B3C
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08055B42
- .pool
-_08055B3C:
- ldr r0, [r4]
- adds r0, 0x6
- str r0, [r4]
-_08055B42:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end atkE3_jumpiffainted
-
- thumb_func_start atkE4_getsecretpowereffect
-atkE4_getsecretpowereffect: @ 8055B48
- push {lr}
- ldr r0, =gUnknown_02022FF0
- ldrb r0, [r0]
- cmp r0, 0x7
- bhi _08055BE4
- lsls r0, 2
- ldr r1, =_08055B64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08055B64:
- .4byte _08055B84
- .4byte _08055B90
- .4byte _08055B9C
- .4byte _08055BA8
- .4byte _08055BB4
- .4byte _08055BC0
- .4byte _08055BCC
- .4byte _08055BD8
-_08055B84:
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- b _08055BE8
- .pool
-_08055B90:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- b _08055BE8
- .pool
-_08055B9C:
- ldr r1, =gBattleCommunication
- movs r0, 0x1B
- b _08055BE8
- .pool
-_08055BA8:
- ldr r1, =gBattleCommunication
- movs r0, 0x17
- b _08055BE8
- .pool
-_08055BB4:
- ldr r1, =gBattleCommunication
- movs r0, 0x16
- b _08055BE8
- .pool
-_08055BC0:
- ldr r1, =gBattleCommunication
- movs r0, 0x18
- b _08055BE8
- .pool
-_08055BCC:
- ldr r1, =gBattleCommunication
- movs r0, 0x7
- b _08055BE8
- .pool
-_08055BD8:
- ldr r1, =gBattleCommunication
- movs r0, 0x8
- b _08055BE8
- .pool
-_08055BE4:
- ldr r1, =gBattleCommunication
- movs r0, 0x5
-_08055BE8:
- strb r0, [r1, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE4_getsecretpowereffect
-
- thumb_func_start atkE5_pickup
-atkE5_pickup: @ 8055C00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- bl InBattlePike
- lsls r0, 24
- cmp r0, 0
- beq _08055C18
- b _08055DD8
-_08055C18:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _08055CC4
- movs r6, 0
- mov r7, sp
- ldr r0, =gBaseStats
- mov r8, r0
-_08055C2A:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- strh r0, [r7]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- cmp r0, 0
- beq _08055C6C
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x17]
- b _08055C76
- .pool
-_08055C6C:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x16]
-_08055C76:
- cmp r0, 0x35
- bne _08055CB6
- cmp r5, 0
- beq _08055CB6
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- beq _08055CB6
- ldrh r0, [r7]
- cmp r0, 0
- bne _08055CB6
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _08055CB6
- bl CalculateBattlePyramidPickupItemId
- strh r0, [r7]
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_08055CB6:
- adds r6, 0x1
- cmp r6, 0x5
- ble _08055C2A
- b _08055DD8
- .pool
-_08055CC4:
- movs r6, 0
- movs r1, 0x64
- mov r8, r1
- ldr r7, =gPlayerParty
- mov r10, sp
-_08055CCE:
- mov r4, r8
- muls r4, r6
- adds r4, r7
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, r10
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- cmp r0, 0
- beq _08055D30
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- ldr r1, =gBaseStats
- adds r0, r1
- ldrb r0, [r0, 0x17]
- b _08055D3C
- .pool
-_08055D10:
- mov r0, r8
- muls r0, r6
- adds r0, r7
- adds r2, r1, 0
- adds r2, 0x63
- subs r2, r4
- lsls r2, 1
- ldr r1, =gRarePickupItems
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
- b _08055DD0
- .pool
-_08055D30:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- ldr r1, =gBaseStats
- adds r0, r1
- ldrb r0, [r0, 0x16]
-_08055D3C:
- adds r1, r6, 0x1
- mov r9, r1
- cmp r0, 0x35
- bne _08055DD0
- cmp r5, 0
- beq _08055DD0
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- beq _08055DD0
- mov r1, r10
- ldrh r0, [r1]
- cmp r0, 0
- bne _08055DD0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _08055DD0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- mov r0, r8
- muls r0, r6
- adds r0, r7
- movs r1, 0x38
- bl GetMonData
- subs r0, 0x1
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _08055D9C
- movs r1, 0x9
-_08055D9C:
- movs r2, 0
- b _08055DAE
- .pool
-_08055DA4:
- adds r0, r4, 0
- subs r0, 0x62
- cmp r0, 0x1
- bls _08055D10
- adds r2, 0x1
-_08055DAE:
- cmp r2, 0x8
- bgt _08055DD0
- ldr r0, =gPickupProbabilities
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, r4
- ble _08055DA4
- mov r0, r8
- muls r0, r6
- adds r0, r7
- adds r2, r1, r2
- lsls r2, 1
- ldr r1, =gPickupItems
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
-_08055DD0:
- mov r6, r9
- cmp r6, 0x5
- bgt _08055DD8
- b _08055CCE
-_08055DD8:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- 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 atkE5_pickup
-
- thumb_func_start atkE6_castform_change_animation
-atkE6_castform_change_animation: @ 8055DFC
- push {r4,lr}
- ldr r4, =gActiveBank
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x17]
- strb r0, [r4]
- ldr r1, =gBattleMons
- ldrb r2, [r4]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- ldr r3, =gBattleStruct
- cmp r0, 0
- beq _08055E2C
- ldr r0, [r3]
- adds r0, 0x7F
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
-_08055E2C:
- ldr r0, [r3]
- adds r0, 0x7F
- ldrb r2, [r0]
- movs r0, 0
- movs r1, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE6_castform_change_animation
-
- thumb_func_start atkE7_castform_data_change
-atkE7_castform_data_change: @ 8055E64
- push {r4,lr}
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x17]
- bl castform_switch
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08055E8E
- ldr r0, =gUnknown_082DB4A9
- bl b_push_move_exec
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x7F
- subs r1, r4, 0x1
- strb r1, [r0]
-_08055E8E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE7_castform_data_change
-
- thumb_func_start atkE8_settypebasedhalvers
-atkE8_settypebasedhalvers: @ 8055EA4
- push {r4,lr}
- movs r4, 0
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xC9
- bne _08055EF4
- ldr r1, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 2
- adds r2, r0, r1
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 9
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- bne _08055F18
- orrs r1, r3
- str r1, [r2]
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- b _08055F1C
- .pool
-_08055EF4:
- ldr r1, =gStatuses3
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 2
- adds r2, r0, r1
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 10
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- bne _08055F18
- orrs r1, r3
- str r1, [r2]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- movs r4, 0x1
-_08055F18:
- cmp r4, 0
- beq _08055F38
-_08055F1C:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08055F52
- .pool
-_08055F38:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08055F52:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE8_settypebasedhalvers
-
- thumb_func_start atkE9_setweatherballtype
-atkE9_setweatherballtype: @ 8055F5C
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08055FFC
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08055FFC
- ldr r2, =gBattleWeather
- ldrb r0, [r2]
- cmp r0, 0
- beq _08055F9A
- ldr r1, =gBattleScripting
- movs r0, 0x2
- strb r0, [r1, 0xE]
-_08055F9A:
- ldrh r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08055FB8
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- movs r0, 0x8B
- b _08055FFA
- .pool
-_08055FB8:
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _08055FCC
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- movs r0, 0x85
- b _08055FFA
- .pool
-_08055FCC:
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08055FE0
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- movs r0, 0x8A
- b _08055FFA
- .pool
-_08055FE0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08055FF4
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- movs r0, 0x8F
- b _08055FFA
- .pool
-_08055FF4:
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- movs r0, 0x80
-_08055FFA:
- strb r0, [r1, 0x13]
-_08055FFC:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkE9_setweatherballtype
-
- thumb_func_start atkEA_recycleitem
-atkEA_recycleitem: @ 8056014
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r7, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r7]
- ldr r1, =gBattleStruct
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, 0xB8
- ldr r1, [r1]
- adds r6, r1, r0
- ldrh r5, [r6]
- cmp r5, 0
- beq _08056094
- ldr r4, =gBattleMons
- movs r3, 0x58
- adds r0, r2, 0
- muls r0, r3
- adds r0, r4
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- bne _08056094
- ldr r1, =gLastUsedItem
- strh r5, [r1]
- strh r0, [r6]
- ldrb r0, [r7]
- muls r0, r3
- adds r0, r4
- ldrh r1, [r1]
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- muls r0, r3
- adds r1, r4, 0
- adds r1, 0x2E
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl dp01_build_cmdbuf_x02_a_b_varargs
- ldrb r0, [r7]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _080560AE
- .pool
-_08056094:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_080560AE:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkEA_recycleitem
-
- thumb_func_start atkEB_settypetoterrain
-atkEB_settypetoterrain: @ 80560BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gBattleMons
- mov r8, r0
- ldr r7, =gBankAttacker
- ldrb r0, [r7]
- movs r6, 0x58
- muls r0, r6
- mov r1, r8
- adds r3, r0, r1
- movs r0, 0x21
- adds r0, r3
- mov r12, r0
- ldr r5, =sTerrainToType
- ldr r4, =gUnknown_02022FF0
- ldrb r0, [r4]
- adds r0, r5
- ldrb r2, [r0]
- mov r1, r12
- ldrb r0, [r1]
- adds r1, r2, 0
- cmp r0, r1
- beq _08056144
- adds r0, r3, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, r1
- beq _08056144
- mov r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- adds r1, r0, 0
- muls r1, r6
- add r1, r8
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- adds r1, 0x22
- strb r0, [r1]
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x3
- strb r0, [r1, 0x1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _0805615E
- .pool
-_08056144:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_0805615E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkEB_settypetoterrain
-
- thumb_func_start atkEC_pursuit_sth
-atkEC_pursuit_sth: @ 805616C
- push {r4-r6,lr}
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- bl GetBankIdentity
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBankByPlayerAI
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r6, 0x1
- ands r0, r6
- cmp r0, 0
- beq _0805620C
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r3, [r4]
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0805620C
- ldr r0, =gUnknown_0202421C
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805620C
- ldr r1, =gUnknown_02024274
- lsls r0, r3, 1
- adds r0, r1
- ldrh r2, [r0]
- cmp r2, 0xE4
- bne _0805620C
- ldr r0, =gUnknown_0202407A
- adds r0, r3, r0
- movs r1, 0xB
- strb r1, [r0]
- ldr r0, =gCurrentMove
- strh r2, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- ldr r0, =gBattleScripting
- strb r6, [r0, 0x18]
- ldrb r1, [r5]
- adds r0, 0x20
- strb r1, [r0]
- ldrb r0, [r4]
- strb r0, [r5]
- b _08056226
- .pool
-_0805620C:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08056226:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkEC_pursuit_sth
-
- thumb_func_start atkED_802B4B4
-atkED_802B4B4: @ 8056230
- push {r4,lr}
- ldr r1, =gUnknown_0202420E
- ldr r3, =gBankAttacker
- ldrb r0, [r3]
- strb r0, [r1]
- ldr r2, =gBankTarget
- lsls r0, 24
- lsrs r0, 24
- adds r4, r1, 0
- ldrb r1, [r2]
- cmp r0, r1
- bne _08056264
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x17]
- strb r0, [r2]
- strb r0, [r3]
- b _0805626A
- .pool
-_08056264:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x17]
- strb r0, [r2]
-_0805626A:
- ldrb r0, [r4]
- strb r0, [r1, 0x17]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkED_802B4B4
-
- thumb_func_start atkEE_removelightscreenreflect
-atkEE_removelightscreenreflect: @ 8056284
- push {r4,lr}
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSideTimers
- lsls r3, r0, 1
- adds r0, r3, r0
- lsls r0, 2
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- bne _080562AC
- ldrb r1, [r4, 0x2]
- cmp r1, 0
- beq _080562E4
-_080562AC:
- ldr r2, =gSideAffecting
- adds r2, r3, r2
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- movs r3, 0
- ldr r1, =0x0000fffd
- ands r0, r1
- strh r0, [r2]
- strb r3, [r4]
- strb r3, [r4, 0x2]
- ldr r1, =gBattleScripting
- movs r0, 0x1
- strb r0, [r1, 0x18]
- strb r0, [r1, 0x19]
- b _080562EA
- .pool
-_080562E4:
- ldr r0, =gBattleScripting
- strb r1, [r0, 0x18]
- strb r1, [r0, 0x19]
-_080562EA:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkEE_removelightscreenreflect
-
- thumb_func_start atkEF_pokeball_catch_calculation
-atkEF_pokeball_catch_calculation: @ 8056300
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0805630E
- b _08056696
-_0805630E:
- ldr r5, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r6, =gBankTarget
- movs r1, 0x1
- eors r0, r1
- strb r0, [r6]
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0805635C
- movs r0, 0
- movs r1, 0x5
- bl dp01_build_cmdbuf_x0D_a
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DBE02
- b _08056694
- .pool
-_0805635C:
- movs r0, 0x80
- lsls r0, 2
- ands r1, r0
- cmp r1, 0
- beq _08056384
- movs r0, 0
- movs r1, 0x4
- bl dp01_build_cmdbuf_x0D_a
- ldrb r0, [r5]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DBDCA
- b _08056694
- .pool
-_08056384:
- ldr r0, =gLastUsedItem
- ldrh r0, [r0]
- cmp r0, 0x5
- bne _080563B0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 8
- subs r0, r1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 24
- lsrs r5, r0, 24
- b _080563C8
- .pool
-_080563B0:
- ldr r3, =gBaseStats
- ldr r2, =gBattleMons
- ldrb r1, [r6]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r5, [r0, 0x8]
-_080563C8:
- ldr r2, =gLastUsedItem
- ldrh r0, [r2]
- cmp r0, 0x5
- bhi _080563D2
- b _080564C8
-_080563D2:
- subs r0, 0x6
- cmp r0, 0x6
- bls _080563DA
- b _080564D2
-_080563DA:
- lsls r0, 2
- ldr r1, =_080563F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080563F4:
- .4byte _08056410
- .4byte _08056440
- .4byte _08056452
- .4byte _08056480
- .4byte _080564B0
- .4byte _08056472
- .4byte _08056472
-_08056410:
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- cmp r1, 0xB
- beq _080564A4
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xB
- beq _080564A4
- cmp r1, 0x6
- beq _080564A4
- cmp r0, 0x6
- beq _080564A4
- b _08056472
- .pool
-_08056440:
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0xA
- cmp r0, 0x5
- bne _080564D2
- movs r4, 0x23
- b _080564D2
-_08056452:
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2A
- ldrb r1, [r0]
- cmp r1, 0x27
- bhi _08056472
- movs r0, 0x28
- subs r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bhi _080564D2
-_08056472:
- movs r4, 0xA
- b _080564D2
- .pool
-_08056480:
- ldr r2, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- movs r4, 0xA
- cmp r0, 0
- beq _080564D2
-_080564A4:
- movs r4, 0x1E
- b _080564D2
- .pool
-_080564B0:
- ldr r0, =gBattleResults
- ldrb r0, [r0, 0x13]
- adds r0, 0xA
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x28
- bls _080564D2
- movs r4, 0x28
- b _080564D2
- .pool
-_080564C8:
- ldr r1, =sBallCatchBonuses
- ldrh r0, [r2]
- subs r0, 0x2
- adds r0, r1
- ldrb r4, [r0]
-_080564D2:
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0xA
- bl __divsi3
- ldr r5, =gBattleMons
- ldr r1, =gBankTarget
- ldrb r2, [r1]
- movs r1, 0x58
- adds r4, r2, 0
- muls r4, r1
- adds r3, r4, r5
- ldrh r2, [r3, 0x2C]
- lsls r1, r2, 1
- adds r1, r2
- ldrh r2, [r3, 0x28]
- lsls r2, 1
- subs r2, r1, r2
- muls r0, r2
- bl __divsi3
- adds r6, r0, 0
- adds r5, 0x4C
- adds r4, r5
- ldr r4, [r4]
- movs r0, 0x27
- ands r0, r4
- cmp r0, 0
- beq _0805650E
- lsls r6, 1
-_0805650E:
- movs r0, 0xD8
- ands r4, r0
- cmp r4, 0
- beq _08056522
- lsls r0, r6, 4
- subs r0, r6
- movs r1, 0xA
- bl __udivsi3
- adds r6, r0, 0
-_08056522:
- ldr r1, =gLastUsedItem
- ldrh r0, [r1]
- cmp r0, 0x5
- beq _08056564
- cmp r0, 0x1
- bne _08056550
- ldr r0, =gBattleResults
- ldrb r1, [r0, 0x5]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0, 0x5]
- b _08056564
- .pool
-_08056550:
- ldr r0, =gBattleResults
- ldrh r1, [r1]
- adds r0, r1
- adds r1, r0, 0
- adds r1, 0x34
- ldrb r0, [r1]
- cmp r0, 0xFE
- bhi _08056564
- adds r0, 0x1
- strb r0, [r1]
-_08056564:
- cmp r6, 0xFE
- bls _080565C8
- movs r0, 0
- movs r1, 0x4
- bl dp01_build_cmdbuf_x0D_a
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DBD84
- str r0, [r1]
- ldr r1, =gBattlePartyID
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r2, =gLastUsedItem
- movs r1, 0x26
- bl SetMonData
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08056656
- b _08056680
- .pool
-_080565C8:
- movs r0, 0xFF
- lsls r0, 16
- adds r1, r6, 0
- bl __udivsi3
- bl Sqrt
- lsls r0, 16
- lsrs r0, 16
- bl Sqrt
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =0x000ffff0
- adds r1, r6, 0
- bl __udivsi3
- adds r6, r0, 0
- movs r4, 0
- b _080565FA
- .pool
-_080565F4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080565FA:
- cmp r4, 0x3
- bhi _0805660A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bcc _080565F4
-_0805660A:
- ldr r5, =gLastUsedItem
- ldrh r0, [r5]
- cmp r0, 0x1
- bne _08056614
- movs r4, 0x4
-_08056614:
- movs r0, 0
- adds r1, r4, 0
- bl dp01_build_cmdbuf_x0D_a
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl dp01_battle_side_mark_buffer_for_execution
- cmp r4, 0x4
- bne _0805668C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DBD84
- str r0, [r1]
- ldr r1, =gBattlePartyID
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x26
- adds r2, r5, 0
- bl SetMonData
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08056680
-_08056656:
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x5]
- b _08056696
- .pool
-_08056680:
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _08056696
- .pool
-_0805668C:
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DBDD4
-_08056694:
- str r0, [r1]
-_08056696:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkEF_pokeball_catch_calculation
-
- thumb_func_start atkF0_copy_caught_poke
-atkF0_copy_caught_poke: @ 80566A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gBattlePartyID
- mov r9, r0
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- movs r6, 0x1
- eors r0, r6
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- movs r7, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- mov r8, r1
- add r0, r8
- bl GiveMonToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _08056792
- bl sub_813B21C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08056734
- ldr r0, =gBattleCommunication
- strb r1, [r0, 0x5]
- ldr r4, =gStringVar1
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl sav3_get_box_name
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrb r0, [r5]
- eors r0, r6
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- add r0, r8
- ldr r2, =gStringVar2
- movs r1, 0x2
- bl GetMonData
- b _0805677E
- .pool
-_08056734:
- ldr r4, =gStringVar1
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl sav3_get_box_name
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrb r0, [r5]
- eors r0, r6
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- add r0, r8
- ldr r2, =gStringVar2
- movs r1, 0x2
- bl GetMonData
- ldr r4, =gStringVar3
- bl get_unknown_box_id
- lsls r0, 24
- lsrs r0, 24
- bl sav3_get_box_name
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- strb r0, [r1, 0x5]
-_0805677E:
- ldr r0, =0x000008ab
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08056792
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
-_08056792:
- ldr r0, =gBattlePartyID
- mov r10, r0
- ldr r1, =gBankAttacker
- mov r9, r1
- ldrb r0, [r1]
- movs r4, 0x1
- eors r0, r4
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r6, =gEnemyParty
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- ldr r5, =gBattleResults
- strh r0, [r5, 0x28]
- mov r1, r9
- ldrb r0, [r1]
- eors r0, r4
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- adds r2, r5, 0
- adds r2, 0x2A
- movs r1, 0x2
- bl GetMonData
- mov r1, r9
- ldrb r0, [r1]
- eors r4, r0
- lsls r4, 1
- add r4, r10
- ldrh r0, [r4]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0x26
- movs r2, 0
- bl GetMonData
- movs r1, 0xF
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r5, 0x5]
- movs r1, 0x3D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- 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 atkF0_copy_caught_poke
-
- thumb_func_start atkF1_setpoke_as_caught
-atkF1_setpoke_as_caught: @ 8056850
- push {r4,r5,lr}
- ldr r4, =gEnemyParty
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- adds r0, r5, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080568A8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _080568C2
- .pool
-_080568A8:
- adds r0, r5, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- adds r2, r4, 0
- bl HandleSetPokedexFlag
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080568C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkF1_setpoke_as_caught
-
- thumb_func_start atkF2_display_dex_info
-atkF2_display_dex_info: @ 80568CC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gEnemyParty
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gBattleCommunication
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _080568E8
- b _08056A2C
-_080568E8:
- lsls r0, 2
- ldr r1, =_08056900
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08056900:
- .4byte _08056918
- .4byte _0805692A
- .4byte _08056978
- .4byte _080569C8
- .4byte _080569E0
- .4byte _08056A18
-_08056918:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08056A06
-_0805692A:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08056938
- b _08056A2C
-_08056938:
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- ldr r3, =gBattleMons
- ldr r1, =gBankTarget
- ldrb r2, [r1]
- movs r1, 0x58
- muls r2, r1
- adds r1, r3, 0
- adds r1, 0x54
- adds r1, r2, r1
- ldr r1, [r1]
- adds r3, 0x48
- adds r2, r3
- ldr r2, [r2]
- bl sub_80BFDF4
- ldr r1, =gBattleCommunication
- strb r0, [r1, 0x1]
- b _08056A08
- .pool
-_08056978:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08056A2C
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
- cmp r1, r0
- bne _08056A2C
- ldr r2, =gTasks
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08056A2C
- ldr r0, =vblank_cb_08078BB4
- bl SetVBlankCallback
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08056A2C
- .pool
-_080569C8:
- bl c2_berry_program_update_menu
- bl sub_8035AA4
- ldr r1, =gUnknown_02022E20
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- b _08056A06
- .pool
-_080569E0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08056A2C
- ldr r0, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_08056A06:
- ldr r1, =gBattleCommunication
-_08056A08:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08056A2C
- .pool
-_08056A18:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08056A2C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08056A2C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atkF2_display_dex_info
-
- thumb_func_start sub_8056A3C
-sub_8056A3C: @ 8056A3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r4, [sp, 0x40]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- movs r1, 0
- add r0, sp, 0xC
- strh r1, [r0]
- ldr r6, [sp, 0x10]
- cmp r6, r3
- ble _08056A76
- b _08056B62
-_08056A76:
- mov r4, r8
- adds r0, r6, 0x1
- str r0, [sp, 0x18]
- ldr r2, [sp, 0x1C]
- cmp r4, r2
- bgt _08056B58
- add r5, sp, 0xC
- lsls r7, r6, 24
- mov r9, r7
-_08056A88:
- ldr r0, [sp, 0x10]
- cmp r6, r0
- bne _08056AB4
- cmp r4, r8
- bne _08056A9C
- ldr r0, =0x00001022
- b _08056AFE
- .pool
-_08056A9C:
- ldr r2, [sp, 0x1C]
- cmp r4, r2
- bne _08056AAC
- ldr r0, =0x00001024
- b _08056AFE
- .pool
-_08056AAC:
- ldr r0, =0x00001023
- b _08056AFE
- .pool
-_08056AB4:
- ldr r7, [sp, 0x14]
- cmp r6, r7
- bne _08056AE0
- cmp r4, r8
- bne _08056AC8
- ldr r0, =0x00001028
- b _08056AFE
- .pool
-_08056AC8:
- ldr r0, [sp, 0x1C]
- cmp r4, r0
- bne _08056AD8
- ldr r0, =0x0000102a
- b _08056AFE
- .pool
-_08056AD8:
- ldr r0, =0x00001029
- b _08056AFE
- .pool
-_08056AE0:
- cmp r4, r8
- bne _08056AEC
- ldr r0, =0x00001025
- b _08056AFE
- .pool
-_08056AEC:
- ldr r2, [sp, 0x1C]
- cmp r4, r2
- bne _08056AFC
- ldr r0, =0x00001027
- b _08056AFE
- .pool
-_08056AFC:
- ldr r0, =0x00001026
-_08056AFE:
- strh r0, [r5]
- movs r1, 0x1
- mov r0, r10
- ands r0, r1
- cmp r0, 0
- beq _08056B0E
- movs r0, 0
- strh r0, [r5]
-_08056B0E:
- movs r0, 0x80
- mov r7, r10
- ands r0, r7
- cmp r0, 0
- beq _08056B38
- lsls r2, r4, 24
- lsrs r2, 24
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x1
- add r1, sp, 0xC
- mov r7, r9
- lsrs r3, r7, 24
- bl CopyToBgTilemapBufferRect_ChangePalette
- b _08056B50
- .pool
-_08056B38:
- lsls r2, r4, 24
- lsrs r2, 24
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- mov r7, r9
- lsrs r3, r7, 24
- bl CopyToBgTilemapBufferRect_ChangePalette
-_08056B50:
- adds r4, 0x1
- ldr r0, [sp, 0x1C]
- cmp r4, r0
- ble _08056A88
-_08056B58:
- ldr r6, [sp, 0x18]
- ldr r2, [sp, 0x14]
- cmp r6, r2
- bgt _08056B62
- b _08056A76
-_08056B62:
- 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_8056A3C
-
- thumb_func_start sub_8056B74
-sub_8056B74: @ 8056B74
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- add r0, sp, 0xC
- movs r2, 0x1
- strh r2, [r0]
- movs r1, 0x2
- strh r1, [r0, 0x2]
- lsls r3, 25
- movs r0, 0x90
- lsls r0, 20
- adds r3, r0
- lsrs r3, 24
- str r2, [sp]
- str r1, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- movs r2, 0x19
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end sub_8056B74
-
- thumb_func_start sub_8056BAC
-sub_8056BAC: @ 8056BAC
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- add r0, sp, 0xC
- ldr r1, =0x00001016
- strh r1, [r0]
- strh r1, [r0, 0x2]
- lsls r3, 25
- movs r0, 0x90
- lsls r0, 20
- adds r3, r0
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- movs r2, 0x19
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8056BAC
-
- thumb_func_start atkF3_nickname_caught_poke
-atkF3_nickname_caught_poke: @ 8056BEC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gBattleCommunication
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x4
- bls _08056C04
- b _08056E62
-_08056C04:
- lsls r0, r1, 2
- ldr r1, =_08056C18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08056C18:
- .4byte _08056C2C
- .4byte _08056C60
- .4byte _08056CFC
- .4byte _08056DD4
- .4byte _08056E2C
-_08056C2C:
- movs r4, 0
- str r4, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gUnknown_085CCABB
- movs r1, 0xC
- bl battle_show_message_maybe
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- strb r4, [r1, 0x1]
- movs r0, 0
- bl sub_8056B74
- b _08056E62
- .pool
-_08056C60:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08056C86
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08056C86
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl sub_8056BAC
- movs r0, 0
- strb r0, [r4, 0x1]
- bl sub_8056B74
-_08056C86:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08056CAE
- ldr r4, =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08056CAE
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x1]
- bl sub_8056BAC
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl sub_8056B74
-_08056CAE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08056CE0
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _08056CF2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x3
- bl BeginFastPaletteFade
- b _08056E62
- .pool
-_08056CE0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08056CEA
- b _08056E62
-_08056CEA:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gBattleCommunication
-_08056CF2:
- movs r0, 0x4
- strb r0, [r1]
- b _08056E62
- .pool
-_08056CFC:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08056D0A
- b _08056E62
-_08056D0A:
- ldr r7, =gBattlePartyID
- ldr r0, =gBankAttacker
- mov r10, r0
- ldrb r0, [r0]
- movs r4, 0x1
- eors r0, r4
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r1, 0x64
- mov r9, r1
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- ldr r1, =gEnemyParty
- mov r8, r1
- add r0, r8
- ldr r1, =gBattleStruct
- ldr r2, [r1]
- adds r2, 0x6D
- movs r1, 0x2
- bl GetMonData
- bl FreeAllWindowBuffers
- mov r2, r10
- ldrb r0, [r2]
- eors r0, r4
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- movs r1, 0xB
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- mov r2, r10
- ldrb r0, [r2]
- eors r0, r4
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- bl GetMonGender
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- mov r2, r10
- ldrb r0, [r2]
- eors r4, r0
- lsls r4, 1
- adds r4, r7
- ldrh r0, [r4]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- movs r1, 0
- movs r2, 0
- bl GetMonData
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- adds r1, 0x6D
- str r0, [sp]
- ldr r0, =sub_8038420
- str r0, [sp, 0x4]
- movs r0, 0x2
- adds r2, r6, 0
- adds r3, r5, 0
- bl do_choose_name_or_words_screen
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08056E62
- .pool
-_08056DD4:
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
- cmp r1, r0
- bne _08056E62
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08056E62
- ldr r2, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r1, =gBattleStruct
- ldr r2, [r1]
- adds r2, 0x6D
- movs r1, 0x2
- bl SetMonData
- b _08056E48
- .pool
-_08056E2C:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08056E48
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08056E62
- .pool
-_08056E48:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
-_08056E62:
- 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 atkF3_nickname_caught_poke
-
- thumb_func_start atkF4_802BEF0
-atkF4_802BEF0: @ 8056E78
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldr r0, =gBattleMoveDamage
- ldr r2, [r0]
- ldrh r0, [r1, 0x28]
- subs r0, r2
- strh r0, [r1, 0x28]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atkF4_802BEF0
-
- thumb_func_start atkF5_removeattackerstatus1
-atkF5_removeattackerstatus1: @ 8056EA8
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end atkF5_removeattackerstatus1
-
- thumb_func_start atkF6_802BF48
-atkF6_802BF48: @ 8056ED0
- ldr r1, =gFightStateTracker
- movs r0, 0xC
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end atkF6_802BF48
-
- thumb_func_start atkF7_802BF54
-atkF7_802BF54: @ 8056EDC
- ldr r1, =gFightStateTracker
- movs r0, 0xC
- strb r0, [r1]
- ldr r1, =gUnknown_02024082
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end atkF7_802BF54
-
- thumb_func_start sub_8056EF8
-sub_8056EF8: @ 8056EF8
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBankByPlayerAI
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x09_9_9_9
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8056EF8
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_5.s b/asm/battle_5.s
index 064171dd8..bb5b406e5 100644
--- a/asm/battle_5.s
+++ b/asm/battle_5.s
@@ -183,8 +183,8 @@ _080570D0:
.pool
thumb_func_end sub_8057028
- thumb_func_start sub_80570F4
-sub_80570F4: @ 80570F4
+ thumb_func_start AdjustFriendshipOnBattleFaint
+AdjustFriendshipOnBattleFaint: @ 80570F4
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -195,11 +195,11 @@ sub_80570F4: @ 80570F4
cmp r0, 0
beq _08057140
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r3, r0, 24
ldr r2, =gBattleMons
@@ -220,7 +220,7 @@ sub_80570F4: @ 80570F4
.pool
_08057140:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
_0805714A:
@@ -285,7 +285,7 @@ _080571CE:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80570F4
+ thumb_func_end AdjustFriendshipOnBattleFaint
thumb_func_start sub_80571DC
sub_80571DC: @ 80571DC
@@ -398,7 +398,7 @@ _0805729A:
cmp r0, 0
beq _08057372
mov r0, r9
- bl sub_8050650
+ bl UproarWakeUpCheck
lsls r0, 24
cmp r0, 0
beq _080572FC
@@ -414,12 +414,12 @@ _0805729A:
ldr r1, =0xf7ffffff
ands r0, r1
str r0, [r2]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
movs r0, 0x1
mov r2, r10
strb r0, [r2, 0x5]
ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB220
+ ldr r0, =BattleScript_MoveUsedWokeUp
str r0, [r1]
movs r0, 0x2
mov r8, r0
@@ -461,7 +461,7 @@ _08057322:
cmp r4, 0
beq _08057354
ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB213
+ ldr r0, =BattleScript_MoveUsedIsAsleep
str r0, [r1]
movs r1, 0x2
mov r8, r1
@@ -474,11 +474,11 @@ _08057354:
ldr r1, =0xf7ffffff
ands r0, r1
str r0, [r2]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r0, =gBattleCommunication
strb r4, [r0, 0x5]
ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB220
+ ldr r0, =BattleScript_MoveUsedWokeUp
str r0, [r1]
movs r2, 0x2
mov r8, r2
@@ -513,7 +513,7 @@ _08057390:
cmp r5, 0
beq _080573D4
ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB26A
+ ldr r0, =BattleScript_MoveUsedIsFrozen
str r0, [r1]
b _080573EC
.pool
@@ -523,9 +523,9 @@ _080573D4:
negs r1, r1
ands r0, r1
str r0, [r4]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB277
+ ldr r0, =BattleScript_MoveUsedUnfroze
str r0, [r1]
mov r0, r10
strb r5, [r0, 0x5]
@@ -562,9 +562,9 @@ _08057406:
movs r1, 0x28
movs r2, 0
movs r3, 0x4
- bl dp01_build_cmdbuf_x02_a_b_varargs
+ bl EmitSetMonData
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
_08057430:
mov r0, r8
add sp, 0x4
diff --git a/asm/battle_7.s b/asm/battle_7.s
index fd8c3b4a5..011559819 100644
--- a/asm/battle_7.s
+++ b/asm/battle_7.s
@@ -428,7 +428,7 @@ _0805D470:
movs r0, 0x1
ands r0, r1
eors r0, r2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 16
_0805D48A:
@@ -579,7 +579,7 @@ sub_805D5F4: @ 805D5F4
cmp r0, 0
bne _0805D630
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
mov r8, r0
@@ -588,13 +588,13 @@ sub_805D5F4: @ 805D5F4
.pool
_0805D630:
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
mov r8, r0
movs r0, 0x2
_0805D63E:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r7, r0, 24
ldr r1, =gBattleMons
@@ -2937,11 +2937,11 @@ _0805EA5A:
bx r0
thumb_func_end sub_805E990
- thumb_func_start sub_805EA60
-sub_805EA60: @ 805EA60
+ thumb_func_start BattleMusicStop
+BattleMusicStop: @ 805EA60
push {r4-r6,lr}
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
ldr r5, =gUnknown_020244D0
@@ -2977,7 +2977,7 @@ _0805EAA2:
pop {r0}
bx r0
.pool
- thumb_func_end sub_805EA60
+ thumb_func_end BattleMusicStop
thumb_func_start sub_805EAB4
sub_805EAB4: @ 805EAB4
@@ -3020,12 +3020,12 @@ sub_805EAE8: @ 805EAE8
cmp r0, 0
beq _0805EB7E
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
mov r8, r0
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
mov r9, r0
@@ -3203,7 +3203,7 @@ sub_805EC84: @ 805EC84
ldr r0, =gUnknown_0831C6A0
bl LoadCompressedObjectPic
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -3252,7 +3252,7 @@ sub_805EC84: @ 805EC84
cmp r0, 0
beq _0805ED56
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
diff --git a/asm/battle_9.s b/asm/battle_9.s
index f1811e1af..0dfc105ec 100644
--- a/asm/battle_9.s
+++ b/asm/battle_9.s
@@ -74,7 +74,7 @@ _08062C72:
lsrs r0, 24
mov r10, r0
ldr r4, =gBattleMons
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
movs r1, 0x58
@@ -87,7 +87,7 @@ _08062C72:
b _08062E2C
_08062C9E:
mov r0, r10
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r2, r0, 24
movs r6, 0
@@ -114,7 +114,7 @@ _08062CBA:
ldrh r1, [r4]
mov r3, r9
ldrb r2, [r3]
- bl ai_rate_move
+ bl AI_TypeCalc
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0x2
@@ -223,7 +223,7 @@ _08062D74:
movs r1, 0x2E
bl GetMonData
mov r0, r10
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r2, r0, 24
movs r4, 0
@@ -246,7 +246,7 @@ _08062DE0:
beq _08062E1E
ldrh r1, [r5]
ldrb r2, [r7]
- bl ai_rate_move
+ bl AI_TypeCalc
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0x2
@@ -347,7 +347,7 @@ _08062EB0:
eors r0, r4
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAbsentBankFlags
ldrb r1, [r1]
ldr r2, =gBitTable
@@ -367,7 +367,7 @@ _08062F04:
eors r0, r4
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r7, r0, 24
b _08062F1E
@@ -705,7 +705,7 @@ ai_has_super_effective_move_on_field: @ 80631BC
lsls r0, 24
lsrs r0, 24
mov r10, r0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r3, r0, 24
ldr r0, =gAbsentBankFlags
@@ -741,7 +741,7 @@ _0806320A:
ldrh r1, [r5]
mov r3, r8
ldrb r2, [r3]
- bl ai_rate_move
+ bl AI_TypeCalc
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0x2
@@ -779,7 +779,7 @@ _0806327C:
movs r1, 0x2
mov r0, r10
eors r0, r1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r3, r0, 24
ldr r0, =gAbsentBankFlags
@@ -815,7 +815,7 @@ _080632AE:
ldrh r1, [r5]
mov r3, r8
ldrb r2, [r3]
- bl ai_rate_move
+ bl AI_TypeCalc
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0x2
@@ -951,7 +951,7 @@ _080633B8:
eors r0, r4
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAbsentBankFlags
ldrb r1, [r1]
ldr r2, =gBitTable
@@ -972,7 +972,7 @@ _08063414:
eors r0, r4
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -1126,7 +1126,7 @@ _08063564:
adds r0, r1
ldrh r0, [r0]
adds r1, r4, 0
- bl ai_rate_move
+ bl AI_TypeCalc
ldr r1, [sp]
ands r1, r0
cmp r1, 0
@@ -1161,7 +1161,7 @@ _080635A2:
beq _080635DE
ldrh r1, [r5]
ldrb r2, [r7]
- bl ai_rate_move
+ bl AI_TypeCalc
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0x2
@@ -1308,7 +1308,7 @@ _080636C4:
eors r0, r5
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAbsentBankFlags
ldrb r1, [r1]
ldr r2, =gBitTable
@@ -1328,7 +1328,7 @@ _08063718:
eors r0, r5
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r6, r0, 24
b _08063732
@@ -1542,7 +1542,7 @@ _080638C2:
cmp r0, 0
bne _08063910
adds r0, r6, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r5, r0, 24
adds r6, r5, 0
@@ -1550,13 +1550,13 @@ _080638C2:
.pool
_08063910:
adds r0, r5, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0x2
eors r5, r0
adds r0, r5, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r5, r0, 24
_08063928:
@@ -1688,7 +1688,7 @@ sub_8063A08: @ 8063A08
lsrs r2, 24
mov r8, r2
movs r7, 0
- ldr r0, =gUnknown_0831ACE8
+ ldr r0, =gTypeEffectiveness
mov r10, r0
ldrb r0, [r0]
cmp r0, 0xFF
@@ -1789,7 +1789,7 @@ _08063AE0:
eors r0, r5
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAbsentBankFlags
ldrb r1, [r1]
ldr r2, =gBitTable
@@ -1810,7 +1810,7 @@ _08063B20:
eors r0, r5
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x14]
@@ -1844,7 +1844,7 @@ _08063B6C:
eors r0, r1
lsls r0, 24
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x4]
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
index 639be6b7d..ee85f5565 100644
--- a/asm/battle_anim.s
+++ b/asm/battle_anim.s
@@ -449,10 +449,10 @@ ma00_load_graphics: @ 80A3D24
lsls r0, 8
orrs r4, r0
lsls r5, r4, 3
- ldr r0, =gUnknown_085112C4
+ ldr r0, =gUnknown_085112B4 + 0x10
adds r0, r5, r0
bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_08511BCC
+ ldr r0, =gUnknown_08511A34 + 0x198
adds r5, r0
adds r0, r5, 0
bl LoadCompressedObjectPaletteUsingHeap
@@ -949,17 +949,17 @@ _080A4148:
ldrsh r0, [r6, r3]
cmp r0, 0
bne _080A4190
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r0, [r0]
strh r0, [r1, 0xE]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
b _080A4198
.pool
_080A4190:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r0, [r0]
strh r0, [r1, 0xE]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
_080A4198:
ldrh r0, [r0]
strh r0, [r1, 0x10]
@@ -1266,7 +1266,7 @@ _080A43F8:
ldr r0, =gBankSpriteIds
adds r0, r6, r0
ldrb r4, [r0]
- ldr r5, =gUnknown_02022E18
+ ldr r5, =gBattle_BG1_X
ldr r0, =gSprites
lsls r1, r4, 4
adds r1, r4
@@ -1294,7 +1294,7 @@ _080A43F8:
subs r0, 0x1
strh r0, [r5]
_080A447A:
- ldr r5, =gUnknown_02022E1A
+ ldr r5, =gBattle_BG1_Y
ldr r2, =gSprites
lsls r1, r4, 4
adds r1, r4
@@ -1322,7 +1322,7 @@ _080A447A:
orrs r1, r2
strb r1, [r0]
_080A44B0:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
@@ -1431,7 +1431,7 @@ _080A455E:
ldr r0, =gBankSpriteIds
adds r2, r5, r0
ldrb r4, [r2]
- ldr r5, =gUnknown_02022E1C
+ ldr r5, =gBattle_BG2_X
ldr r3, =gSprites
lsls r1, r4, 4
adds r1, r4
@@ -1443,7 +1443,7 @@ _080A455E:
negs r0, r0
adds r0, 0x20
strh r0, [r5]
- ldr r4, =gUnknown_02022E1E
+ ldr r4, =gBattle_BG2_Y
ldrh r0, [r1, 0x26]
ldrh r1, [r1, 0x22]
adds r0, r1
@@ -1653,19 +1653,19 @@ sub_80A477C: @ 80A477C
_080A479C:
movs r0, 0x1
bl sub_80A6C68
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
b _080A47C6
.pool
_080A47B8:
movs r0, 0x2
bl sub_80A6C68
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r4, [r0]
_080A47C6:
add sp, 0x10
@@ -1714,13 +1714,13 @@ task_pA_ma0A_obj_to_bg_pal: @ 80A47D8
ldrsh r0, [r5, r1]
cmp r0, 0
bne _080A4870
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
lsls r0, r3, 16
asrs r0, 16
ldrh r3, [r5, 0xE]
adds r0, r3
strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
lsls r0, r2, 16
asrs r0, 16
ldrh r5, [r5, 0x10]
@@ -1740,13 +1740,13 @@ task_pA_ma0A_obj_to_bg_pal: @ 80A47D8
b _080A4896
.pool
_080A4870:
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
lsls r0, r3, 16
asrs r0, 16
ldrh r3, [r5, 0xE]
adds r0, r3
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
lsls r0, r2, 16
asrs r0, 16
ldrh r5, [r5, 0x10]
diff --git a/asm/battle_anim_80D51AC.s b/asm/battle_anim_80D51AC.s
index c2ea27485..52b599c4c 100755
--- a/asm/battle_anim_80D51AC.s
+++ b/asm/battle_anim_80D51AC.s
@@ -200,7 +200,7 @@ _080D5320:
_080D5324:
movs r0, 0x3
_080D5326:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
index fc2c36fc8..860f1a6cb 100644
--- a/asm/battle_anim_80FE840.s
+++ b/asm/battle_anim_80FE840.s
@@ -12782,14 +12782,14 @@ sub_8104E74: @ 8104E74
lsrs r0, 24
cmp r0, 0x1
bne _08104ED4
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r0, [r0]
strh r0, [r5, 0x14]
ldr r0, =0x04000014
b _08104EDC
.pool
_08104ED4:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r0, [r0]
strh r0, [r5, 0x14]
ldr r0, =0x04000018
@@ -15305,10 +15305,10 @@ sub_81062E8: @ 81062E8
movs r2, 0x1
bl lcd_bg_operations
_0810632A:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r4, =gUnknown_02022E1A
+ ldr r4, =gBattle_BG1_Y
strh r1, [r4]
movs r0, 0x14
movs r1, 0
@@ -15540,10 +15540,10 @@ sub_81064F8: @ 81064F8
movs r2, 0x1
bl lcd_bg_operations
_0810653A:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r4, =gUnknown_02022E1A
+ ldr r4, =gBattle_BG1_Y
strh r1, [r4]
movs r0, 0x14
movs r1, 0
@@ -18159,11 +18159,11 @@ _08107A32:
beq _08107AB4
ldr r1, =0x0000ffb0
adds r0, r1, 0
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
strh r0, [r2]
adds r1, 0x20
adds r0, r1, 0
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
strh r0, [r2]
movs r0, 0x2
strh r0, [r6, 0x8]
@@ -18183,12 +18183,12 @@ _08107AB4:
bne _08107AF8
ldr r2, =0x0000ff20
adds r0, r2, 0
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
strh r0, [r2]
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
strh r0, [r2]
movs r0, 0x2
strh r0, [r6, 0x8]
@@ -18198,11 +18198,11 @@ _08107AB4:
b _08107B0E
.pool
_08107AF8:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
ldr r1, =0x0000ffd0
adds r0, r1, 0
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
strh r0, [r2]
ldr r0, =0x0000fffe
strh r0, [r6, 0x8]
@@ -18210,11 +18210,11 @@ _08107AF8:
strh r0, [r6, 0xA]
strh r4, [r7, 0xE]
_08107B0E:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
ldrh r1, [r2]
movs r0, 0x16
bl SetGpuReg
@@ -18264,8 +18264,8 @@ sub_8107B84: @ 8107B84
sub sp, 0x10
lsls r0, 24
lsrs r5, r0, 24
- ldr r1, =gUnknown_02022E18
- ldr r2, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_X
+ ldr r2, =gBattle_BG1_Y
ldr r0, =gTasks
lsls r4, r5, 2
adds r4, r5
@@ -18425,8 +18425,8 @@ sub_8107CC4: @ 8107CC4
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
- ldr r7, =gUnknown_02022E18
- ldr r0, =gUnknown_02022E1A
+ ldr r7, =gBattle_BG1_X
+ ldr r0, =gBattle_BG1_Y
mov r8, r0
ldr r6, =gTasks
lsls r0, r5, 2
@@ -21049,14 +21049,14 @@ sub_8109198: @ 8109198
cmp r4, r0
bne _081091DE
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldrb r1, [r5]
lsls r0, 24
lsrs r0, 24
cmp r1, r0
beq _081091D6
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldrb r1, [r5]
lsls r0, 24
lsrs r0, 24
@@ -21902,7 +21902,7 @@ _0810987E:
muls r1, r3
lsls r1, 16
asrs r1, 16
- ldr r0, =gUnknown_085955CE
+ ldr r0, =gUnknown_085955CC+2
adds r2, r0
movs r3, 0
ldrsh r2, [r2, r3]
@@ -26948,10 +26948,10 @@ sub_810C0A0: @ 810C0A0
movs r2, 0x1
bl lcd_bg_operations
_0810C0E2:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r4, =gUnknown_02022E1A
+ ldr r4, =gBattle_BG1_Y
strh r1, [r4]
movs r0, 0x14
movs r1, 0
@@ -26999,7 +26999,7 @@ sub_810C164: @ 810C164
sub sp, 0x10
lsls r0, 24
lsrs r4, r0, 24
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r2, =0x0000ffff
adds r0, r2, 0
ldrh r2, [r1]
@@ -27150,10 +27150,10 @@ _0810C29C:
movs r2, 0
bl lcd_bg_operations
_0810C2B0:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
movs r0, 0x50
movs r1, 0
@@ -27230,10 +27230,10 @@ sub_810C324: @ 810C324
movs r2, 0x1
bl lcd_bg_operations
_0810C366:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r4, =gUnknown_02022E1A
+ ldr r4, =gBattle_BG1_Y
strh r1, [r4]
movs r0, 0x14
movs r1, 0
@@ -27283,7 +27283,7 @@ sub_810C3F0: @ 810C3F0
sub sp, 0x10
lsls r0, 24
lsrs r4, r0, 24
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldr r3, =gTasks
lsls r1, r4, 2
adds r1, r4
@@ -27422,10 +27422,10 @@ _0810C50C:
movs r2, 0
bl lcd_bg_operations
_0810C520:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
movs r0, 0x50
movs r1, 0
@@ -28050,7 +28050,7 @@ sub_810C9E4: @ 810C9E4
ldrh r0, [r4, 0x2]
lsls r0, 20
lsrs r0, 24
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
@@ -30134,7 +30134,7 @@ _0810DB1A:
lsls r0, 24
cmp r0, 0
bne _0810DB50
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
ldrh r0, [r4, 0x1A]
lsls r0, 16
asrs r0, 24
@@ -30145,7 +30145,7 @@ _0810DB1A:
b _0810DB60
.pool
_0810DB50:
- ldr r2, =gUnknown_02022E20
+ ldr r2, =gBattle_BG3_X
ldrh r1, [r4, 0x1A]
lsls r1, 16
asrs r1, 24
@@ -33064,7 +33064,7 @@ _0810F212:
bne _0810F2B8
_0810F22E:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
adds r7, r4, 0
@@ -33193,7 +33193,7 @@ sub_810F340: @ 810F340
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
movs r1, 0x3C
@@ -33370,7 +33370,7 @@ sub_810F46C: @ 810F46C
cmp r0, 0
bne _0810F502
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
@@ -33441,7 +33441,7 @@ sub_810F524: @ 810F524
cmp r0, 0
bne _0810F57C
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
@@ -34597,14 +34597,14 @@ _0810FE92:
lsrs r0, 24
cmp r0, 0x1
bne _0810FEB8
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r0, [r0]
strh r0, [r4, 0x1C]
ldr r0, =0x04000014
b _0810FEC0
.pool
_0810FEB8:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r0, [r0]
strh r0, [r4, 0x1C]
ldr r0, =0x04000018
@@ -36221,9 +36221,9 @@ sub_8110BCC: @ 8110BCC
movs r2, 0x1
bl lcd_bg_operations
_08110C10:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r5, [r0]
- ldr r4, =gUnknown_02022E1A
+ ldr r4, =gBattle_BG1_Y
strh r5, [r4]
movs r0, 0x14
movs r1, 0
@@ -36293,7 +36293,7 @@ sub_8110CB0: @ 8110CB0
adds r2, r1, 0
cmp r0, 0
bne _08110CE4
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r3, =0x0000fffa
adds r0, r3, 0
ldrh r3, [r1]
@@ -36301,12 +36301,12 @@ sub_8110CB0: @ 8110CB0
b _08110CEA
.pool
_08110CE4:
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r1]
adds r0, 0x6
_08110CEA:
strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldr r3, =0x0000ffff
adds r0, r3, 0
ldrh r3, [r1]
@@ -36442,10 +36442,10 @@ _08110DFC:
movs r2, 0
bl lcd_bg_operations
_08110E10:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
movs r0, 0x50
movs r1, 0
@@ -41115,13 +41115,13 @@ sub_81133E8: @ 81133E8
bne _08113424
ldr r0, =0x04000014
str r0, [sp]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
b _0811342A
.pool
_08113424:
ldr r0, =0x04000018
str r0, [sp]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
_0811342A:
ldrh r0, [r0]
strh r0, [r4, 0xC]
@@ -42107,7 +42107,7 @@ _08113C1E:
add r4, sp, 0xC
adds r0, r4, 0
bl sub_80A6B30
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r0, [r0]
strh r0, [r5, 0x1C]
ldr r1, =0x00003f42
@@ -42125,11 +42125,11 @@ _08113C1E:
lsls r0, 24
cmp r0, 0
bne _08113CB0
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
b _08113CAA
.pool
_08113C80:
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r0, [r0]
strh r0, [r5, 0x1C]
ldr r1, =0x00003f44
@@ -42146,7 +42146,7 @@ _08113C80:
lsls r0, 24
cmp r0, 0
bne _08113CB0
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
_08113CAA:
ldrh r0, [r1]
adds r0, 0xF0
@@ -42426,14 +42426,14 @@ _08113EF8:
ldr r1, =0x00003f42
movs r0, 0x50
bl SetGpuReg
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
b _08113F2E
.pool
_08113F24:
ldr r1, =0x00003f44
movs r0, 0x50
bl SetGpuReg
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
_08113F2E:
ldrh r0, [r1]
adds r0, 0xF0
@@ -42447,7 +42447,7 @@ _08113F40:
bne _08113F68
mov r0, sp
bl sub_80A6B30
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r0, [r0]
strh r0, [r5, 0x1C]
mov r0, sp
@@ -42459,7 +42459,7 @@ _08113F40:
b _08113F78
.pool
_08113F68:
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r0, [r0]
strh r0, [r5, 0x1C]
movs r0, 0
@@ -43324,7 +43324,7 @@ _0811465C:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldr r0, =gSprites
lsls r1, r4, 4
adds r1, r4
@@ -43334,7 +43334,7 @@ _0811465C:
negs r0, r0
adds r0, 0x60
strh r0, [r2]
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
ldrh r0, [r1, 0x22]
negs r0, r0
adds r0, 0x20
@@ -43399,7 +43399,7 @@ sub_8114748: @ 8114748
adds r0, 0x4
movs r5, 0
strh r0, [r4, 0x1C]
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldrh r3, [r2]
subs r1, r3, 0x4
strh r1, [r2]
@@ -43586,7 +43586,7 @@ _08114902:
beq _0811492E
_08114908:
adds r0, r4, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
@@ -44104,17 +44104,17 @@ _08114D3C:
strh r0, [r4, 0x1E]
cmp r0, 0x1
bne _08114D70
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r0, [r0]
strh r0, [r4, 0x20]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
b _08114D78
.pool
_08114D70:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r0, [r0]
strh r0, [r4, 0x20]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
_08114D78:
ldrh r0, [r0]
strh r0, [r4, 0x22]
@@ -44189,11 +44189,11 @@ _08114DF6:
ldrsh r0, [r4, r1]
cmp r0, 0x1
bne _08114E20
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
b _08114E22
.pool
_08114E20:
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
_08114E22:
ldrh r0, [r4, 0x22]
subs r0, r2
@@ -44210,11 +44210,11 @@ _08114E22:
ldrsh r0, [r4, r3]
cmp r0, 0x1
bne _08114E4C
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
b _08114E4E
.pool
_08114E4C:
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
_08114E4E:
ldrh r0, [r4, 0x22]
subs r0, r2
@@ -44296,11 +44296,11 @@ sub_8114EB4: @ 8114EB4
lsrs r0, 24
cmp r0, 0x1
bne _08114F00
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
b _08114F02
.pool
_08114F00:
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
_08114F02:
strh r4, [r0]
adds r0, r5, 0
@@ -44450,11 +44450,11 @@ _08115018:
strh r0, [r4, 0x1E]
cmp r0, 0x1
bne _08115044
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
b _08115046
.pool
_08115044:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
_08115046:
ldrh r0, [r0]
strh r0, [r4, 0x20]
@@ -44540,13 +44540,13 @@ sub_81150E0: @ 81150E0
lsrs r4, r2, 16
cmp r0, 0x1
bne _08115104
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r3, [r0]
ldr r0, =0x04000014
b _0811510A
.pool
_08115104:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r3, [r0]
ldr r0, =0x04000018
_0811510A:
@@ -44805,7 +44805,7 @@ _08115314:
beq _08115340
cmp r0, 0x5
bne _08115380
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r0, [r0]
strh r0, [r4, 0x22]
ldr r0, =sub_81153AC
@@ -44907,7 +44907,7 @@ _081153DA:
ands r0, r1
cmp r0, 0
bne _08115404
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
ldrh r0, [r3, 0x26]
ldrh r2, [r3, 0x22]
adds r0, r2
@@ -44915,7 +44915,7 @@ _081153DA:
b _0811540E
.pool
_08115404:
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r1, [r3, 0x22]
ldrh r2, [r3, 0x26]
subs r1, r2
@@ -44951,7 +44951,7 @@ _08115430:
ands r1, r0
cmp r1, 0
bne _0811545C
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
ldrh r0, [r3, 0x24]
ldrh r2, [r3, 0x22]
adds r0, r2
@@ -44959,7 +44959,7 @@ _08115430:
b _08115466
.pool
_0811545C:
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r1, [r3, 0x22]
ldrh r2, [r3, 0x24]
subs r1, r2
@@ -44987,7 +44987,7 @@ _08115484:
b _0811549C
.pool
_08115490:
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
ldrh r0, [r3, 0x22]
strh r0, [r1]
adds r0, r2, 0
@@ -45263,7 +45263,7 @@ _0811565A:
movs r0, 0xFF
ands r1, r0
strh r1, [r4, 0xC]
- ldr r2, =gUnknown_02022E20
+ ldr r2, =gBattle_BG3_X
ldrh r0, [r4, 0xA]
strh r0, [r2]
ldr r0, =gUnknown_02022E22
@@ -45295,7 +45295,7 @@ sub_81156D0: @ 81156D0
ldrsh r0, [r2, r4]
cmp r1, r0
bne _08115710
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
movs r1, 0
strh r1, [r0]
ldr r0, =gUnknown_02022E22
@@ -45305,7 +45305,7 @@ sub_81156D0: @ 81156D0
b _0811571C
.pool
_08115710:
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
ldrh r0, [r2, 0xA]
strh r0, [r1]
ldr r1, =gUnknown_02022E22
@@ -46553,7 +46553,7 @@ _081160DC:
beq _081160F4
b _08116104
_081160E2:
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
b _081160F6
.pool
_081160EC:
@@ -46793,7 +46793,7 @@ sub_81162A4: @ 81162A4
strh r1, [r2, 0xE]
ldrh r1, [r3, 0x6]
strh r1, [r2, 0x18]
- ldr r4, =gUnknown_02022E20
+ ldr r4, =gBattle_BG3_X
ldrh r1, [r3]
strh r1, [r4]
ldr r4, =gUnknown_02022E22
@@ -46824,7 +46824,7 @@ sub_81162F8: @ 81162F8
mov r12, r1
cmp r0, 0
bne _0811637E
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r2, [r0]
movs r7, 0x8
ldrsh r1, [r3, r7]
@@ -47348,7 +47348,7 @@ sub_811675C: @ 811675C
ldrsh r0, [r0, r1]
bl sub_811583C
adds r2, r0, 0
- ldr r0, =gUnknown_02022FF0
+ ldr r0, =gBattleTerrain
ldrb r0, [r0]
cmp r0, 0x9
bhi _08116832
@@ -47996,7 +47996,7 @@ _08116CAC:
adds r1, 0x1
movs r2, 0x2
bl LoadPalette
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldr r0, =gSprites
lsls r1, r4, 4
adds r1, r4
@@ -48006,7 +48006,7 @@ _08116CAC:
negs r0, r0
adds r0, 0x20
strh r0, [r2]
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
ldrh r0, [r1, 0x22]
negs r0, r0
adds r0, 0x20
@@ -48050,7 +48050,7 @@ sub_8116D64: @ 8116D64
movs r1, 0
mov r8, r1
strh r0, [r5, 0x1C]
- ldr r7, =gUnknown_02022E1A
+ ldr r7, =gBattle_BG1_Y
ldrh r2, [r7]
subs r1, r2, 0x4
strh r1, [r7]
@@ -48537,10 +48537,10 @@ _081171F8:
movs r2, 0x20
bl LoadCompressedPalette
_08117206:
- ldr r3, =gUnknown_02022E18
+ ldr r3, =gBattle_BG1_X
movs r2, 0
strh r2, [r3]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
ldr r1, =gUnknown_0203A110
ldr r0, [r1]
@@ -48645,7 +48645,7 @@ sub_81172EC: @ 81172EC
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
ldr r1, =gTasks
lsls r0, r6, 2
adds r0, r6
@@ -49152,7 +49152,7 @@ sub_81176D8: @ 81176D8
ldrh r7, [r1, 0x1E]
adds r2, r7
strh r2, [r1, 0x1E]
- ldr r6, =gUnknown_02022E20
+ ldr r6, =gBattle_BG3_X
lsls r0, r3, 16
asrs r0, 24
ldrh r4, [r6]
@@ -49497,10 +49497,10 @@ _081179CC:
ldr r0, [sp, 0x5C]
movs r2, 0x20
bl LoadCompressedPalette
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
ldr r1, =gTasks
mov r2, r9
@@ -49563,7 +49563,7 @@ _08117A7E:
ldrsh r0, [r3, r1]
cmp r0, 0
bge _08117AA4
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
lsls r1, r4, 16
asrs r1, 24
ldrh r0, [r2]
@@ -49572,7 +49572,7 @@ _08117A7E:
b _08117AB0
.pool
_08117AA4:
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
lsls r0, r4, 16
asrs r0, 24
ldrh r2, [r1]
@@ -49759,7 +49759,7 @@ sub_8117C24: @ 8117C24
lsls r0, 24
lsrs r0, 24
ldr r2, =gBattleAnimArgs
- ldr r1, =gUnknown_02022FF0
+ ldr r1, =gBattleTerrain
ldrb r1, [r1]
strh r1, [r2]
bl move_anim_task_del
@@ -50069,7 +50069,7 @@ sub_8117E94: @ 8117E94
ldrb r1, [r1]
strb r1, [r2]
ldr r2, =gAnimationBankTarget
- ldr r1, =gUnknown_0202420E
+ ldr r1, =gEffectBank
ldrb r1, [r1]
strb r1, [r2]
bl move_anim_task_del
@@ -50136,7 +50136,7 @@ sub_8117F30: @ 8117F30
ldrb r1, [r1]
strb r1, [r2]
ldr r2, =gAnimationBankTarget
- ldr r1, =gUnknown_0202420E
+ ldr r1, =gEffectBank
ldrb r1, [r1]
strb r1, [r2]
bl move_anim_task_del
@@ -50529,14 +50529,14 @@ sub_811828C: @ 811828C
lsls r0, 24
lsrs r0, 24
bl DestroyTask
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
movs r0, 0x50
movs r1, 0
@@ -50569,7 +50569,7 @@ task_battle_intro_80BC47C: @ 81182EC
sub sp, 0x4
lsls r0, 24
lsrs r4, r0, 24
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r1]
adds r0, 0x6
strh r0, [r1]
@@ -50697,7 +50697,7 @@ _08118400:
ldrsh r0, [r2, r1]
cmp r0, 0x1
bne _08118420
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
ldrh r1, [r2]
ldr r0, =0x0000ffb0
cmp r1, r0
@@ -50706,7 +50706,7 @@ _08118400:
b _0811842C
.pool
_08118420:
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
ldrh r1, [r2]
ldr r0, =0x0000ffc8
cmp r1, r0
@@ -50861,13 +50861,13 @@ _08118568:
cmp r0, 0x4
bne _08118580
_0811856C:
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r1]
adds r0, 0x8
b _0811857E
.pool
_08118578:
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r1]
adds r0, 0x6
_0811857E:
@@ -50882,7 +50882,7 @@ _08118580:
adds r6, r0, 0
cmp r1, 0x4
bne _081185E4
- ldr r7, =gUnknown_02022E1A
+ ldr r7, =gBattle_BG1_Y
ldrh r0, [r4, 0x14]
bl Cos2
lsls r0, 16
@@ -51202,7 +51202,7 @@ task_battle_intro_anim: @ 8118844
sub sp, 0x4
lsls r0, 24
lsrs r5, r0, 24
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r1]
adds r0, 0x8
strh r0, [r1]
@@ -51505,7 +51505,7 @@ task00_battle_intro_wireless: @ 8118AC0
ldrsh r0, [r7, r2]
cmp r0, 0
bne _08118B36
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldrh r1, [r2]
movs r0, 0x80
lsls r0, 8
@@ -51519,7 +51519,7 @@ task00_battle_intro_wireless: @ 8118AC0
_08118AFE:
adds r0, r1, 0x3
strh r0, [r2]
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
ldrh r0, [r1]
subs r0, 0x3
strh r0, [r1]
@@ -51878,10 +51878,10 @@ _08118DD4:
ldr r2, =0x0000ffd0
adds r0, r2, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
movs r0, 0xF0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
subs r2, 0xC0
adds r0, r2, 0
strh r0, [r1]
@@ -51958,10 +51958,10 @@ _08118EC2:
subs r0, r1, 0x2
strh r0, [r3, 0xC]
_08118ED8:
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r3, 0xC]
strh r0, [r1]
- ldr r2, =gUnknown_02022E1C
+ ldr r2, =gBattle_BG2_X
negs r1, r0
strh r1, [r2]
lsls r0, 16
@@ -51977,7 +51977,7 @@ _08118F00:
ldrh r0, [r1]
adds r3, r0, 0x2
strh r3, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
ldrh r0, [r1]
adds r0, 0x2
strh r0, [r1]
@@ -52078,7 +52078,7 @@ sub_8118FBC: @ 8118FBC
lsls r5, 16
lsrs r5, 16
adds r0, r4, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
ldr r1, =gBattleSpritesGfx
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s
index 46b09081d..f219c6988 100755
--- a/asm/battle_anim_815A0D4.s
+++ b/asm/battle_anim_815A0D4.s
@@ -1655,11 +1655,11 @@ _0815AE08:
strh r2, [r5, 0x16]
cmp r7, 0x1
bne _0815AE30
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
b _0815AE32
.pool
_0815AE30:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
_0815AE32:
ldrh r2, [r0]
strh r2, [r5, 0x18]
@@ -3385,7 +3385,7 @@ _0815BC02:
lsls r0, 24
cmp r0, 0
beq _0815BC34
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r3, =0x0000ffc8
b _0815BC5C
.pool
@@ -3396,19 +3396,19 @@ _0815BC34:
lsls r0, 24
cmp r0, 0
beq _0815BC58
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r2, =0x0000ff79
adds r0, r2, 0
b _0815BC5E
.pool
_0815BC58:
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r3, =0x0000fff6
_0815BC5C:
adds r0, r3, 0
_0815BC5E:
strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
movs r0, 0
strh r0, [r1]
mov r0, sp
@@ -3428,10 +3428,10 @@ _0815BC5E:
adds r1, r4
lsls r1, 3
adds r1, r0
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r0, [r0]
strh r0, [r1, 0x1C]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r0, [r0]
strh r0, [r1, 0x1E]
ldrh r0, [r1, 0x8]
@@ -3507,7 +3507,7 @@ _0815BD20:
ldrsh r0, [r4, r2]
cmp r0, 0
bne _0815BDF2
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldr r1, =gUnknown_085CE460
movs r3, 0xC
ldrsh r0, [r4, r3]
@@ -3577,10 +3577,10 @@ _0815BDC8:
movs r1, 0x4
movs r2, 0x1
bl lcd_bg_operations
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
movs r0, 0x50
movs r1, 0
@@ -3990,7 +3990,7 @@ _0815C124:
lsls r0, 24
cmp r0, 0
beq _0815C15C
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r3, =0x0000ffc8
adds r0, r3, 0
b _0815C1CA
@@ -4008,48 +4008,48 @@ _0815C15C:
bne _0815C1B4
cmp r4, 0x1
bne _0815C180
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r2, =0x0000ff65
adds r0, r2, 0
strh r0, [r1]
_0815C180:
cmp r4, 0x3
bne _0815C18C
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r3, =0x0000ff8d
adds r0, r3, 0
strh r0, [r1]
_0815C18C:
cmp r4, 0
bne _0815C196
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
movs r0, 0xE
strh r0, [r1]
_0815C196:
cmp r4, 0x2
bne _0815C1CC
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r2, =0x0000ffec
b _0815C1C8
.pool
_0815C1B4:
cmp r4, 0x1
bne _0815C1C0
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r3, =0x0000ff79
adds r0, r3, 0
strh r0, [r1]
_0815C1C0:
cmp r4, 0
bne _0815C1CC
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldr r2, =0x0000fff6
_0815C1C8:
adds r0, r2, 0
_0815C1CA:
strh r0, [r1]
_0815C1CC:
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
movs r0, 0
strh r0, [r1]
mov r0, sp
@@ -4069,10 +4069,10 @@ _0815C1CC:
adds r1, r6
lsls r1, 3
adds r1, r0
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r0, [r0]
strh r0, [r1, 0x1C]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r0, [r0]
strh r0, [r1, 0x1E]
b _0815C2A4
@@ -4092,7 +4092,7 @@ _0815C224:
lsrs r0, 24
cmp r0, 0x1
bne _0815C268
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldr r1, =gUnknown_085CE4A4
movs r3, 0xC
ldrsh r0, [r5, r3]
@@ -4105,7 +4105,7 @@ _0815C224:
b _0815C27A
.pool
_0815C268:
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
ldr r1, =gUnknown_085CE4A4
movs r3, 0xC
ldrsh r0, [r5, r3]
@@ -4235,10 +4235,10 @@ _0815C36C:
movs r1, 0x4
movs r2, 0x1
bl lcd_bg_operations
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
movs r0, 0x50
movs r1, 0
@@ -6133,9 +6133,9 @@ _0815D2B4:
ldr r1, =0x00003f42
movs r0, 0x50
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r5, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
b _0815D316
.pool
_0815D304:
@@ -6144,9 +6144,9 @@ _0815D304:
ldr r1, =0x00003f44
movs r0, 0x50
bl SetGpuReg
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r5, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
_0815D316:
ldrh r3, [r0]
movs r7, 0
@@ -6223,17 +6223,17 @@ sub_815D398: @ 815D398
lsrs r0, 24
cmp r0, 0x1
bne _0815D3D8
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r0, [r0]
str r0, [sp, 0x4]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
b _0815D3E0
.pool
_0815D3D8:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r0, [r0]
str r0, [sp, 0x4]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
_0815D3E0:
ldrh r0, [r0]
str r0, [sp, 0x8]
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s
index c64dd69e5..85f94c20e 100644
--- a/asm/battle_anim_8170478.s
+++ b/asm/battle_anim_8170478.s
@@ -168,12 +168,12 @@ sub_8170478: @ 8170478
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r7, 0x20]
negs r0, r0
adds r0, 0x20
strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldrh r0, [r7, 0x22]
negs r0, r0
subs r0, 0x20
@@ -225,7 +225,7 @@ sub_8170660: @ 8170660
adds r1, r0
movs r3, 0
strh r1, [r5, 0x22]
- ldr r2, =gUnknown_02022E1A
+ ldr r2, =gBattle_BG1_Y
lsls r0, r1, 16
lsrs r0, 24
ldrh r4, [r2]
@@ -1283,7 +1283,7 @@ _08170F54:
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
bl sub_80A82E4
@@ -1335,7 +1335,7 @@ _08170F54:
ldr r0, =SpriteCallbackDummy
str r0, [r4]
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
@@ -1371,7 +1371,7 @@ sub_8171030: @ 8171030
lsrs r5, r0, 24
ldr r6, =gSprites
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
@@ -1422,7 +1422,7 @@ sub_81710A8: @ 81710A8
lsrs r5, r0, 24
ldr r6, =gSprites
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r4, =gBankSpriteIds
lsls r0, 24
lsrs r0, 24
@@ -1438,7 +1438,7 @@ sub_81710A8: @ 81710A8
cmp r0, 0
bge _081710F4
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -5069,7 +5069,7 @@ sub_8172ED0: @ 8172ED0
lsls r0, 24
lsrs r0, 24
ldr r2, =gAnimationBankTarget
- ldr r1, =gUnknown_0202420E
+ ldr r1, =gEffectBank
ldrb r1, [r1]
strb r1, [r2]
bl move_anim_task_del
@@ -5575,7 +5575,7 @@ sub_817330C: @ 817330C
movs r0, 0x1E
strh r0, [r4, 0x2E]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -5587,7 +5587,7 @@ sub_817330C: @ 817330C
adds r0, r1
strh r0, [r4, 0x32]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -5732,7 +5732,7 @@ sub_817345C: @ 817345C
.pool
_08173478:
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAnimationBankAttacker
strb r0, [r1]
movs r0, 0x1
@@ -5740,12 +5740,12 @@ _08173478:
.pool
_0817348C:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAnimationBankAttacker
strb r0, [r1]
movs r0, 0
_08173498:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAnimationBankTarget
strb r0, [r1]
_081734A0:
diff --git a/asm/battle_controller_linkopponent.s b/asm/battle_controller_linkopponent.s
index d28823a8b..5a762a174 100644
--- a/asm/battle_controller_linkopponent.s
+++ b/asm/battle_controller_linkopponent.s
@@ -5045,7 +5045,7 @@ sub_8066FF4: @ 8066FF4
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -5565,7 +5565,7 @@ sub_806743C: @ 806743C
ldrb r0, [r0]
cmp r0, 0
beq _08067478
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_linkpartner.s b/asm/battle_controller_linkpartner.s
index 881228279..3a1b21ed7 100644
--- a/asm/battle_controller_linkpartner.s
+++ b/asm/battle_controller_linkpartner.s
@@ -4354,7 +4354,7 @@ sub_814D590: @ 814D590
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -4874,7 +4874,7 @@ sub_814D9D8: @ 814D9D8
ldrb r0, [r0]
cmp r0, 0
beq _0814DA14
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
index 639ef0ce6..69d4776d4 100644
--- a/asm/battle_controller_opponent.s
+++ b/asm/battle_controller_opponent.s
@@ -5185,7 +5185,7 @@ sub_8061F34: @ 8061F34
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -5323,7 +5323,7 @@ _08062062:
cmp r0, 0
beq _0806209C
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r5, =gBankTarget
strb r0, [r5]
ldr r0, =gAbsentBankFlags
@@ -5337,7 +5337,7 @@ _08062062:
cmp r1, 0
beq _0806209C
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
strb r0, [r5]
_0806209C:
ldr r0, =gBankTarget
@@ -5394,7 +5394,7 @@ _08062108:
lsls r1, 24
lsrs r1, 24
adds r0, r1, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 16
@@ -5406,7 +5406,7 @@ _08062108:
.pool
_0806213C:
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 16
@@ -5468,7 +5468,7 @@ sub_8062188: @ 8062188
cmp r0, 0
bne _080621D4
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r5, r0, 24
adds r7, r5, 0
@@ -5476,11 +5476,11 @@ sub_8062188: @ 8062188
.pool
_080621D4:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r7, r0, 24
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r5, r0, 24
_080621E8:
@@ -6015,7 +6015,7 @@ sub_8062630: @ 8062630
ldrb r0, [r0]
cmp r0, 0
beq _0806266C
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 0e9318dc9..5f7e1b954 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -358,7 +358,7 @@ _0805775A:
cmp r0, 0x2
bne _080577E8
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAbsentBankFlags
ldrb r1, [r1]
ldr r2, =gBitTable
@@ -622,7 +622,7 @@ _080579F0:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
strb r0, [r5]
ldr r1, =gNoOfAllBanks
lsls r0, 24
@@ -750,7 +750,7 @@ _08057B14:
mov r1, sp
adds r0, r1, r4
ldrb r0, [r0]
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
strb r0, [r5]
ldr r1, =gNoOfAllBanks
lsls r0, 24
@@ -942,7 +942,7 @@ _08057CC4:
movs r0, 0x1
ands r0, r1
eors r0, r2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gUnknown_03005D74
strb r0, [r1]
_08057CDE:
@@ -1035,7 +1035,7 @@ _08057D80:
.pool
_08057DA8:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gAbsentBankFlags
ldrb r1, [r1]
ldr r2, =gBitTable
@@ -1052,7 +1052,7 @@ _08057DA8:
_08057DD0:
movs r0, 0x1
_08057DD2:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gUnknown_03005D74
_08057DD8:
strb r0, [r1]
@@ -1245,9 +1245,9 @@ _08057F80:
ldrb r0, [r0]
movs r1, 0x1B
bl battle_menu_cursor_related_2
- ldr r0, =gUnknown_085CCACA
+ ldr r0, =gText_BattleSwitchWhich
movs r1, 0xB
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldr r0, =gActiveBank
ldrb r0, [r0]
@@ -4042,7 +4042,7 @@ sub_8059828: @ 8059828
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
cmp r1, r0
bne _08059898
ldr r0, =gPaletteFade
@@ -4118,7 +4118,7 @@ sub_80598E0: @ 80598E0
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
cmp r1, r0
bne _08059906
ldr r0, =gPaletteFade
@@ -4244,11 +4244,11 @@ sub_80599D4: @ 80599D4
movs r0, 0x5
bl PlaySE
ldrb r0, [r4]
- bl sub_8056BAC
+ bl BattleDestroyCursorAt
movs r0, 0
strb r0, [r4]
movs r0, 0
- bl sub_8056B74
+ bl BattleCreateCursorAt
_08059A02:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -4263,11 +4263,11 @@ _08059A02:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4]
- bl sub_8056BAC
+ bl BattleDestroyCursorAt
movs r0, 0x1
strb r0, [r4]
movs r0, 0x1
- bl sub_8056B74
+ bl BattleCreateCursorAt
_08059A2C:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -4355,7 +4355,7 @@ _08059AC4:
lsls r1, 24
lsrs r1, 24
adds r0, r7, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldrh r0, [r4]
cmp r0, 0
beq _08059AF4
@@ -4377,12 +4377,12 @@ _08059AF4:
sub_8059B18: @ 8059B18
push {r4,lr}
ldr r4, =gDisplayedStringBattle
- ldr r1, =gUnknown_085CCA6F
+ ldr r1, =gText_MoveInterfacePP
adds r0, r4, 0
bl StringCopy
adds r0, r4, 0
movs r1, 0x7
- bl battle_show_message_maybe
+ bl sub_814F9EC
pop {r4}
pop {r0}
bx r0
@@ -4432,7 +4432,7 @@ sub_8059B3C: @ 8059B3C
bl ConvertIntToDecimalStringN
adds r0, r6, 0
movs r1, 0x9
- bl battle_show_message_maybe
+ bl sub_814F9EC
_08059B98:
pop {r4-r7}
pop {r0}
@@ -4449,7 +4449,7 @@ sub_8059BB0: @ 8059BB0
ldr r0, =gBattleBufferA + 4
adds r4, r0
ldr r6, =gDisplayedStringBattle
- ldr r1, =gUnknown_085CCA73
+ ldr r1, =gText_MoveInterfaceType
adds r0, r6, 0
bl StringCopy
movs r1, 0xFC
@@ -4481,7 +4481,7 @@ sub_8059BB0: @ 8059BB0
bl StringCopy
adds r0, r6, 0
movs r1, 0xA
- bl battle_show_message_maybe
+ bl sub_814F9EC
pop {r4-r6}
pop {r0}
bx r0
@@ -4637,7 +4637,7 @@ sub_8059CF8: @ 8059CF8
thumb_func_start sub_8059D40
sub_8059D40: @ 8059D40
push {lr}
- ldr r0, =sub_80A92F8
+ ldr r0, =ReshowBattleScreenAfterMenu
bl SetMainCallback2
pop {r0}
bx r0
@@ -4647,7 +4647,7 @@ sub_8059D40: @ 8059D40
thumb_func_start sub_8059D50
sub_8059D50: @ 8059D50
push {lr}
- ldr r0, =sub_80A92F8
+ ldr r0, =ReshowBattleScreenAfterMenu
bl SetMainCallback2
pop {r0}
bx r0
@@ -4716,9 +4716,9 @@ b_link_standby_message: @ 8059DC0
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_085CCA29
+ ldr r0, =gText_LinkStandby
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
_08059DE0:
pop {r0}
bx r0
@@ -8024,7 +8024,7 @@ sub_805BBC4: @ 805BBC4
ldr r5, =gActiveBank
ldrb r4, [r5]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -8063,7 +8063,7 @@ sub_805BC18: @ 805BC18
strb r0, [r1]
ldrb r4, [r5]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -8458,7 +8458,7 @@ sub_805BF80: @ 805BF80
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -8532,9 +8532,9 @@ dp01t_12_6_battle_menu: @ 805C044
ldr r1, =sub_805C004
str r1, [r0]
bl sub_817F2A8
- ldr r0, =gUnknown_085CCA3A
+ ldr r0, =gText_BattleMenu
movs r1, 0x2
- bl battle_show_message_maybe
+ bl sub_814F9EC
movs r4, 0
_0805C062:
lsls r0, r4, 24
@@ -8550,11 +8550,11 @@ _0805C062:
ldrb r0, [r0]
movs r1, 0
bl sub_8059CB4
- ldr r0, =gUnknown_085CC9F3
- bl StrCpyDecodeToDisplayedStringBattle
+ ldr r0, =gText_WhatWillPkmnDo
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x1
- bl battle_show_message_maybe
+ bl sub_814F9EC
pop {r4}
pop {r0}
bx r0
@@ -8578,14 +8578,14 @@ sub_805C0B0: @ 805C0B0
movs r2, 0x1D
movs r3, 0xD
bl sub_8056A3C
- ldr r0, =gUnknown_085CCABB
+ ldr r0, =gText_BattleYesNoChoice
movs r1, 0xC
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gUnknown_03005D74
movs r0, 0x1
strb r0, [r1]
movs r0, 0x1
- bl sub_8056B74
+ bl BattleCreateCursorAt
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -8913,7 +8913,7 @@ _0805C3BC:
sub_805C3EC: @ 805C3EC
push {lr}
sub sp, 0x4
- bl sub_805EA60
+ bl BattleMusicStop
movs r0, 0x1
negs r0, r0
movs r1, 0
@@ -9595,7 +9595,7 @@ sub_805C9B0: @ 805C9B0
ldrb r0, [r0]
cmp r0, 0
beq _0805C9EC
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_player_partner.s b/asm/battle_controller_player_partner.s
index 6b5a14f95..784eacab1 100644
--- a/asm/battle_controller_player_partner.s
+++ b/asm/battle_controller_player_partner.s
@@ -4966,7 +4966,7 @@ sub_81BDA4C: @ 81BDA4C
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -5045,7 +5045,7 @@ _081BDB02:
cmp r0, 0
beq _081BDB3C
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r4, =gBankTarget
strb r0, [r4]
ldr r0, =gAbsentBankFlags
@@ -5059,7 +5059,7 @@ _081BDB02:
cmp r1, 0
beq _081BDB3C
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
strb r0, [r4]
_081BDB3C:
ldr r0, =gBankTarget
@@ -5093,11 +5093,11 @@ sub_81BDB7C: @ 81BDB7C
cmp r4, 0x6
bne _081BDBD0
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0x3
@@ -5661,7 +5661,7 @@ sub_81BE03C: @ 81BE03C
ldrb r0, [r0]
cmp r0, 0
beq _081BE078
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_recorded_opponent.s b/asm/battle_controller_recorded_opponent.s
index dc7fe7de5..90928e7d4 100644
--- a/asm/battle_controller_recorded_opponent.s
+++ b/asm/battle_controller_recorded_opponent.s
@@ -4722,7 +4722,7 @@ sub_8188E90: @ 8188E90
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -5304,7 +5304,7 @@ sub_818936C: @ 818936C
ldrb r0, [r0]
cmp r0, 0
beq _081893A8
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_recorded_player.s b/asm/battle_controller_recorded_player.s
index b2769671c..534f34068 100644
--- a/asm/battle_controller_recorded_player.s
+++ b/asm/battle_controller_recorded_player.s
@@ -4822,7 +4822,7 @@ sub_818C43C: @ 818C43C
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -5455,7 +5455,7 @@ sub_818C994: @ 818C994
ldrb r0, [r0]
cmp r0, 0
beq _0818C9D0
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s
index 1aff72176..cc149ea4f 100644
--- a/asm/battle_controller_safari.s
+++ b/asm/battle_controller_safari.s
@@ -387,7 +387,7 @@ sub_8159698: @ 8159698
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
cmp r1, r0
bne _081596BE
ldr r0, =gPaletteFade
@@ -700,7 +700,7 @@ sub_8159910: @ 8159910
ldr r5, =gActiveBank
ldrb r4, [r5]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -739,7 +739,7 @@ sub_8159964: @ 8159964
strb r0, [r1]
ldrb r4, [r5]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -792,7 +792,7 @@ dp01t_10_6_message: @ 81599DC
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -860,9 +860,9 @@ sub_8159A94: @ 8159A94
adds r0, r1
ldr r1, =sub_8159A54
str r1, [r0]
- ldr r0, =gUnknown_085CCA54
+ ldr r0, =gText_SafariZoneMenu
movs r1, 0x2
- bl battle_show_message_maybe
+ bl sub_814F9EC
movs r4, 0
_08159AAE:
lsls r0, r4, 24
@@ -878,11 +878,11 @@ _08159AAE:
ldrb r0, [r0]
movs r1, 0
bl sub_8059CB4
- ldr r0, =gUnknown_085CCA04
- bl StrCpyDecodeToDisplayedStringBattle
+ ldr r0, =gText_WhatWillPkmnDo2
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x1
- bl battle_show_message_maybe
+ bl sub_814F9EC
pop {r4}
pop {r0}
bx r0
@@ -1161,7 +1161,7 @@ dp01t_34_6_move_anim_start_t3: @ 8159CC4
ldrb r0, [r0]
cmp r0, 0
beq _08159D00
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_wally.s b/asm/battle_controller_wally.s
index ddb97f927..eab717466 100644
--- a/asm/battle_controller_wally.s
+++ b/asm/battle_controller_wally.s
@@ -299,7 +299,7 @@ sub_8168610: @ 8168610
push {lr}
ldr r0, =gMain
ldr r1, [r0, 0x4]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
cmp r1, r0
bne _08168636
ldr r0, =gPaletteFade
@@ -3232,7 +3232,7 @@ sub_816A084: @ 816A084
ldr r5, =gActiveBank
ldrb r4, [r5]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -3271,7 +3271,7 @@ sub_816A0D8: @ 816A0D8
strb r0, [r1]
ldrb r4, [r5]
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -3606,7 +3606,7 @@ sub_816A3B8: @ 816A3B8
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -3674,9 +3674,9 @@ dp01t_12_1_battle_menu: @ 816A470
adds r0, r1
ldr r1, =sub_816A430
str r1, [r0]
- ldr r0, =gUnknown_085CCA3A
+ ldr r0, =gText_BattleMenu
movs r1, 0x2
- bl battle_show_message_maybe
+ bl sub_814F9EC
movs r4, 0
_0816A48A:
lsls r0, r4, 24
@@ -3692,11 +3692,11 @@ _0816A48A:
ldrb r0, [r0]
movs r1, 0
bl sub_8059CB4
- ldr r0, =gUnknown_085CCA15
- bl StrCpyDecodeToDisplayedStringBattle
+ ldr r0, =gText_WhatWillWallyDo
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x1
- bl battle_show_message_maybe
+ bl sub_814F9EC
pop {r4}
pop {r0}
bx r0
@@ -4150,7 +4150,7 @@ sub_816A840: @ 816A840
ldrb r0, [r0]
cmp r0, 0
beq _0816A87C
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_dome_cards.s b/asm/battle_dome_cards.s
deleted file mode 100644
index 8bb1971c4..000000000
--- a/asm/battle_dome_cards.s
+++ /dev/null
@@ -1,1281 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start nullsub_122
-nullsub_122: @ 818CFC8
- bx lr
- thumb_func_end nullsub_122
-
- thumb_func_start dp13_810BB8C
-dp13_810BB8C: @ 818CFCC
- push {r4-r7,lr}
- ldr r4, =gUnknown_0860B058
- ldr r3, =gUnknown_0203CD04
- movs r2, 0x7
-_0818CFD4:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0xC
- subs r2, 0x1
- cmp r2, 0
- bge _0818CFD4
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end dp13_810BB8C
-
- thumb_func_start load_pokemon_image_TODO
-@ int load_pokemon_image_TODO(int species_num, unsigned int a2, u8 a3, void *a4, int a5, u8 a6)
-load_pokemon_image_TODO: @ 818CFF4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r1, 0
- adds r5, r3, 0
- ldr r3, [sp, 0x18]
- ldr r1, [sp, 0x1C]
- lsls r0, 16
- lsrs r4, r0, 16
- adds r7, r4, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- cmp r3, 0
- bne _0818D068
- cmp r2, 0
- beq _0818D034
- cmp r1, 0
- bne _0818D028
- lsls r0, r4, 3
- ldr r1, =gMonFrontPicTable
- b _0818D03C
- .pool
-_0818D028:
- lsls r0, r4, 3
- ldr r1, =gMonFrontPicTable
- b _0818D054
- .pool
-_0818D034:
- cmp r0, 0
- bne _0818D050
- lsls r0, r4, 3
- ldr r1, =gMonBackPicTable
-_0818D03C:
- adds r0, r1
- str r2, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl LoadSpecialPokePic
- b _0818D08E
- .pool
-_0818D050:
- lsls r0, r4, 3
- ldr r1, =gMonBackPicTable
-_0818D054:
- adds r0, r1
- str r2, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl LoadSpecialPokePic_DontHandleDeoxys
- b _0818D08E
- .pool
-_0818D068:
- cmp r2, 0
- beq _0818D080
- lsls r0, r4, 3
- ldr r1, =gTrainerFrontPicTable
- adds r0, r1
- adds r1, r5, 0
- adds r2, r4, 0
- bl DecompressPicFromTable
- b _0818D08E
- .pool
-_0818D080:
- lsls r0, r7, 3
- ldr r1, =gTrainerBackPicTable
- adds r0, r1
- adds r1, r5, 0
- adds r2, r7, 0
- bl DecompressPicFromTable
-_0818D08E:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end load_pokemon_image_TODO
-
- thumb_func_start sub_818D09C
-sub_818D09C: @ 818D09C
- push {r4,lr}
- sub sp, 0x8
- ldr r4, [sp, 0x10]
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- bl load_pokemon_image_TODO
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_818D09C
-
- thumb_func_start sub_818D0C4
-sub_818D0C4: @ 818D0C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- mov r8, r2
- ldr r1, [sp, 0x18]
- ldr r2, [sp, 0x1C]
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- lsls r3, 24
- lsrs r5, r3, 24
- mov r12, r5
- lsls r1, 16
- lsrs r3, r1, 16
- adds r1, r3, 0
- lsls r2, 24
- cmp r2, 0
- bne _0818D128
- ldr r0, =0x0000ffff
- cmp r3, r0
- bne _0818D110
- ldr r2, =gUnknown_0203CCEC
- ldrh r1, [r2, 0x2]
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r2, 0x2]
- adds r0, r4, 0
- adds r1, r7, 0
- mov r2, r8
- bl species_and_otid_get_pal
- lsls r1, r5, 20
- b _0818D144
- .pool
-_0818D110:
- ldr r0, =gUnknown_0203CCEC
- strh r3, [r0, 0x2]
- adds r0, r4, 0
- adds r1, r7, 0
- mov r2, r8
- bl sub_806E7CC
- bl LoadCompressedObjectPalette
- b _0818D16E
- .pool
-_0818D128:
- ldr r0, =0x0000ffff
- cmp r3, r0
- bne _0818D160
- ldr r2, =gUnknown_0203CCEC
- ldrh r1, [r2, 0x2]
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r2, 0x2]
- ldr r1, =gTrainerFrontPicPaletteTable
- lsls r0, r4, 3
- adds r0, r1
- ldr r0, [r0]
- mov r2, r12
- lsls r1, r2, 20
-_0818D144:
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- b _0818D16E
- .pool
-_0818D160:
- ldr r0, =gUnknown_0203CCEC
- strh r1, [r0, 0x2]
- lsls r0, r6, 3
- ldr r1, =gTrainerFrontPicPaletteTable
- adds r0, r1
- bl LoadCompressedObjectPalette
-_0818D16E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818D0C4
-
- thumb_func_start sub_818D180
-sub_818D180: @ 818D180
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r1, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r4, r3, 24
- lsls r1, 24
- cmp r1, 0
- bne _0818D1A4
- adds r1, r5, 0
- bl species_and_otid_get_pal
- lsls r1, r4, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _0818D1B4
-_0818D1A4:
- ldr r1, =gTrainerFrontPicPaletteTable
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 4
- movs r2, 0x20
- bl LoadCompressedPalette
-_0818D1B4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818D180
-
- thumb_func_start uns_builder_assign_animtable1
-uns_builder_assign_animtable1: @ 818D1C0
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0818D1D8
- ldr r1, =gUnknown_0203CCEC
- ldr r0, =gUnknown_082FF70C
- str r0, [r1, 0x8]
- b _0818D1E0
- .pool
-_0818D1D8:
- ldr r0, =gUnknown_0203CCEC
- ldr r1, =gUnknown_0830536C
- ldr r1, [r1]
- str r1, [r0, 0x8]
-_0818D1E0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end uns_builder_assign_animtable1
-
- thumb_func_start oamt_spawn_poke_or_trainer_picture
-oamt_spawn_poke_or_trainer_picture: @ 818D1EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- ldr r1, [sp, 0x50]
- ldr r2, [sp, 0x54]
- ldr r4, [sp, 0x58]
- ldr r5, [sp, 0x5C]
- ldr r6, [sp, 0x60]
- ldr r7, [sp, 0x64]
- mov r8, r7
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x18]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x1C]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x20]
- lsls r5, 16
- lsrs r5, 16
- mov r10, r5
- lsls r6, 24
- lsrs r6, 24
- mov r9, r6
- mov r0, r8
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r1, =gUnknown_0203CD04
- ldrb r0, [r1, 0xB]
- cmp r0, 0
- beq _0818D25C
-_0818D244:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bhi _0818D25C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- bne _0818D244
-_0818D25C:
- cmp r4, 0x8
- beq _0818D280
- movs r0, 0x80
- lsls r0, 6
- bl Alloc
- adds r7, r0, 0
- cmp r7, 0
- beq _0818D280
- movs r0, 0x20
- bl Alloc
- mov r8, r0
- cmp r0, 0
- bne _0818D28C
- adds r0, r7, 0
- bl Free
-_0818D280:
- ldr r0, =0x0000ffff
- b _0818D356
- .pool
-_0818D28C:
- mov r1, r9
- str r1, [sp]
- str r5, [sp, 0x4]
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0x10]
- ldr r2, [sp, 0x14]
- adds r3, r7, 0
- bl load_pokemon_image_TODO
- lsls r0, 16
- cmp r0, 0
- bne _0818D280
- lsls r2, r4, 1
- str r2, [sp, 0x2C]
- ldr r5, =gUnknown_0203CCEC
- ldr r0, =gUnknown_0860B064
- mov r12, r0
- ldr r1, [sp, 0x18]
- lsls r1, 16
- str r1, [sp, 0x24]
- ldr r2, [sp, 0x1C]
- lsls r2, 16
- str r2, [sp, 0x28]
- movs r3, 0x80
- lsls r3, 4
- mov r0, r8
- adds r1, r7, 0
- adds r6, r3, 0
- movs r2, 0x3
-_0818D2C6:
- str r1, [r0]
- strh r3, [r0, 0x4]
- adds r0, 0x8
- adds r1, r6
- subs r2, 0x1
- cmp r2, 0
- bge _0818D2C6
- ldr r0, =0x0000ffff
- strh r0, [r5]
- mov r0, r12
- str r0, [r5, 0x4]
- mov r0, r9
- bl uns_builder_assign_animtable1
- mov r1, r8
- str r1, [r5, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [r5, 0x10]
- ldr r0, =nullsub_122
- str r0, [r5, 0x14]
- mov r2, r10
- str r2, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x20]
- bl sub_818D0C4
- ldr r2, [sp, 0x24]
- asrs r1, r2, 16
- ldr r0, [sp, 0x28]
- asrs r2, r0, 16
- adds r0, r5, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- adds r6, r2, 0
- ldr r0, =0x0000ffff
- cmp r10, r0
- bne _0818D336
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldr r2, [sp, 0x20]
- lsls r3, r2, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
-_0818D336:
- ldr r1, =gUnknown_0203CD04
- ldr r2, [sp, 0x2C]
- adds r0, r2, r4
- lsls r0, 2
- adds r2, r0, r1
- str r7, [r2]
- adds r1, 0x4
- adds r0, r1
- mov r7, r8
- str r7, [r0]
- mov r0, r10
- strh r0, [r2, 0x8]
- strb r6, [r2, 0xA]
- movs r0, 0x1
- strb r0, [r2, 0xB]
- adds r0, r6, 0
-_0818D356:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end oamt_spawn_poke_or_trainer_picture
-
- thumb_func_start sub_818D384
-sub_818D384: @ 818D384
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- ldr r6, [sp, 0x3C]
- ldr r7, [sp, 0x40]
- mov r8, r7
- ldr r7, [sp, 0x44]
- mov r9, r7
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r6, 24
- lsrs r6, 24
- mov r7, r8
- lsls r7, 16
- lsrs r7, 16
- mov r8, r7
- mov r7, r9
- lsls r7, 24
- lsrs r7, 24
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r4, r8
- str r4, [sp, 0xC]
- str r7, [sp, 0x10]
- movs r4, 0
- str r4, [sp, 0x14]
- bl oamt_spawn_poke_or_trainer_picture
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_818D384
-
- thumb_func_start sub_818D3E4
-sub_818D3E4: @ 818D3E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r1, [sp, 0x4C]
- ldr r2, [sp, 0x50]
- ldr r4, [sp, 0x54]
- ldr r5, [sp, 0x58]
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r3, 24
- lsrs r6, r3, 24
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x10]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x14]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x18]
- lsls r5, 16
- lsrs r5, 16
- str r5, [sp, 0x1C]
- movs r5, 0
- ldr r1, =gUnknown_0203CD04
- ldrb r0, [r1, 0xB]
- cmp r0, 0
- beq _0818D440
-_0818D428:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bhi _0818D440
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- bne _0818D428
-_0818D440:
- cmp r5, 0x8
- beq _0818D47C
- movs r0, 0x80
- lsls r0, 6
- bl Alloc
- adds r7, r0, 0
- cmp r7, 0
- beq _0818D47C
- movs r0, 0x80
- ands r0, r6
- cmp r0, 0
- beq _0818D468
- movs r0, 0x7F
- ands r6, r0
- movs r0, 0x3
- mov r9, r0
- b _0818D46A
- .pool
-_0818D468:
- mov r9, r6
-_0818D46A:
- movs r0, 0x20
- bl Alloc
- mov r8, r0
- cmp r0, 0
- bne _0818D484
- adds r0, r7, 0
- bl Free
-_0818D47C:
- ldr r0, =0x0000ffff
- b _0818D588
- .pool
-_0818D484:
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- mov r0, r10
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- adds r3, r7, 0
- bl load_pokemon_image_TODO
- lsls r0, 16
- cmp r0, 0
- bne _0818D47C
- lsls r1, r5, 1
- str r1, [sp, 0x28]
- ldr r4, =gUnknown_0203CCEC
- mov r2, r10
- lsls r2, 2
- mov r12, r2
- ldr r0, [sp, 0x10]
- lsls r0, 16
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x14]
- lsls r1, 16
- str r1, [sp, 0x24]
- movs r3, 0x80
- lsls r3, 4
- mov r0, r8
- adds r1, r7, 0
- adds r6, r3, 0
- movs r2, 0x3
-_0818D4C0:
- str r1, [r0]
- strh r3, [r0, 0x4]
- adds r0, 0x8
- adds r1, r6
- subs r2, 0x1
- cmp r2, 0
- bge _0818D4C0
- ldr r0, =0x0000ffff
- strh r0, [r4]
- ldr r0, =gUnknown_08309AAC
- add r0, r12
- ldr r0, [r0]
- str r0, [r4, 0x8]
- mov r2, r8
- str r2, [r4, 0xC]
- mov r0, r9
- cmp r0, 0x1
- bne _0818D4F8
- ldr r0, =gUnknown_082FF694
- b _0818D500
- .pool
-_0818D4F8:
- mov r1, r9
- cmp r1, 0
- bne _0818D510
- ldr r0, =gUnknown_082FF618
-_0818D500:
- str r0, [r4, 0x10]
- ldr r0, =gUnknown_0860B06C
- str r0, [r4, 0x4]
- b _0818D518
- .pool
-_0818D510:
- ldr r0, =gUnknown_0860B064
- str r0, [r4, 0x4]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [r4, 0x10]
-_0818D518:
- ldr r2, =nullsub_122
- str r2, [r4, 0x14]
- ldr r0, [sp, 0x1C]
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r0, r10
- ldr r1, [sp, 0x8]
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x18]
- bl sub_818D0C4
- ldr r2, [sp, 0x20]
- asrs r1, r2, 16
- ldr r0, [sp, 0x24]
- asrs r2, r0, 16
- adds r0, r4, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- adds r6, r2, 0
- ldr r0, =0x0000ffff
- ldr r1, [sp, 0x1C]
- cmp r1, r0
- bne _0818D566
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldr r2, [sp, 0x18]
- lsls r3, r2, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
-_0818D566:
- ldr r1, =gUnknown_0203CD04
- ldr r2, [sp, 0x28]
- adds r0, r2, r5
- lsls r0, 2
- adds r2, r0, r1
- str r7, [r2]
- adds r1, 0x4
- adds r0, r1
- mov r1, r8
- str r1, [r0]
- mov r0, sp
- ldrh r0, [r0, 0x1C]
- strh r0, [r2, 0x8]
- strb r6, [r2, 0xA]
- movs r0, 0x1
- strb r0, [r2, 0xB]
- adds r0, r6, 0
-_0818D588:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818D3E4
-
- thumb_func_start sub_818D5B0
-sub_818D5B0: @ 818D5B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r0, =gUnknown_0203CD04
- ldrb r1, [r0, 0xA]
- adds r3, r0, 0
- cmp r1, r4
- beq _0818D5E0
- adds r1, r3, 0
-_0818D5C8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bhi _0818D5E0
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0xA]
- cmp r0, r4
- bne _0818D5C8
-_0818D5E0:
- cmp r2, 0x8
- bne _0818D5F0
- ldr r0, =0x0000ffff
- b _0818D646
- .pool
-_0818D5F0:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r3
- ldr r1, [r5]
- mov r8, r1
- adds r1, r3, 0x4
- adds r0, r1
- ldr r7, [r0]
- ldrh r1, [r5, 0x8]
- ldr r0, =0x0000ffff
- lsls r6, r4, 4
- cmp r1, r0
- beq _0818D624
- ldr r1, =gSprites
- adds r0, r6, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
-_0818D624:
- adds r0, r6, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- mov r0, r8
- bl Free
- adds r0, r7, 0
- bl Free
- adds r1, r5, 0
- ldr r0, =gUnknown_0860B058
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0
-_0818D646:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818D5B0
-
- thumb_func_start sub_818D65C
-sub_818D65C: @ 818D65C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r9, r1
- adds r7, r2, 0
- adds r4, r3, 0
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x24]
- ldr r3, [sp, 0x28]
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- adds r0, r2, 0
- movs r1, 0x7
- bl GetWindowAttribute
- adds r3, r0, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_818D09C
- lsls r0, 16
- cmp r0, 0
- bne _0818D6B8
- str r6, [sp]
- adds r0, r5, 0
- mov r1, r9
- adds r2, r7, 0
- mov r3, r8
- bl sub_818D180
- movs r0, 0
- b _0818D6BA
-_0818D6B8:
- ldr r0, =0x0000ffff
-_0818D6BA:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818D65C
-
- thumb_func_start sub_818D6CC
-sub_818D6CC: @ 818D6CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp, 0x18]
- str r2, [sp, 0x1C]
- ldr r1, [sp, 0x44]
- ldr r2, [sp, 0x48]
- ldr r4, [sp, 0x4C]
- ldr r5, [sp, 0x50]
- ldr r6, [sp, 0x54]
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x20]
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x80
- lsls r0, 6
- bl Alloc
- adds r4, r0, 0
- cmp r4, 0
- beq _0818D762
- str r6, [sp]
- mov r0, r9
- ldr r1, [sp, 0x1C]
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_818D09C
- lsls r0, 16
- cmp r0, 0
- bne _0818D762
- movs r0, 0x40
- str r0, [sp]
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r0, [sp, 0x10]
- str r0, [sp, 0x14]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow
- str r6, [sp]
- mov r0, r9
- ldr r1, [sp, 0x18]
- ldr r2, [sp, 0x1C]
- ldr r3, [sp, 0x20]
- bl sub_818D180
- adds r0, r4, 0
- bl Free
- movs r0, 0
- b _0818D764
-_0818D762:
- ldr r0, =0x0000ffff
-_0818D764:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818D6CC
-
- thumb_func_start sub_818D778
-sub_818D778: @ 818D778
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- ldr r6, [sp, 0x3C]
- ldr r7, [sp, 0x40]
- mov r8, r7
- ldr r7, [sp, 0x44]
- mov r9, r7
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r6, 24
- lsrs r6, 24
- mov r7, r8
- lsls r7, 16
- lsrs r7, 16
- mov r8, r7
- mov r7, r9
- lsls r7, 24
- lsrs r7, 24
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r4, r8
- str r4, [sp, 0xC]
- movs r4, 0
- str r4, [sp, 0x10]
- str r7, [sp, 0x14]
- bl oamt_spawn_poke_or_trainer_picture
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_818D778
-
- thumb_func_start sub_818D7D8
-sub_818D7D8: @ 818D7D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- ldr r7, [sp, 0x38]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r7, 16
- lsrs r7, 16
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r4, 0
- str r4, [sp, 0x10]
- bl sub_818D778
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_818D7D8
-
- thumb_func_start sub_818D820
-sub_818D820: @ 818D820
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_818D5B0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_818D820
-
- thumb_func_start sub_818D834
-sub_818D834: @ 818D834
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x18]
- ldr r5, [sp, 0x1C]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- bl sub_818D65C
- lsls r0, 16
- lsrs r0, 16
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_818D834
-
- thumb_func_start sub_818D864
-sub_818D864: @ 818D864
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- ldr r7, [sp, 0x38]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- lsls r7, 24
- lsrs r7, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r4, 0
- str r4, [sp, 0x10]
- bl sub_818D6CC
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_818D864
-
- thumb_func_start sub_818D8AC
-sub_818D8AC: @ 818D8AC
- push {r4,r5,lr}
- sub sp, 0x14
- adds r5, r1, 0
- ldr r1, [sp, 0x20]
- ldr r4, [sp, 0x24]
- lsls r0, 16
- lsrs r0, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- asrs r2, 16
- str r2, [sp]
- lsls r3, 16
- asrs r3, 16
- str r3, [sp, 0x4]
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0x1
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0
- adds r3, r5, 0
- bl sub_818D384
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_818D8AC
-
- thumb_func_start sub_818D8F0
-sub_818D8F0: @ 818D8F0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_818D5B0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_818D8F0
-
- thumb_func_start sub_818D904
-sub_818D904: @ 818D904
- push {r4,lr}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r2, [sp]
- str r3, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- adds r3, r4, 0
- bl sub_818D65C
- lsls r0, 16
- lsrs r0, 16
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_818D904
-
- thumb_func_start sub_818D938
-sub_818D938: @ 818D938
- push {r4,r5,lr}
- sub sp, 0x14
- adds r5, r1, 0
- ldr r1, [sp, 0x20]
- ldr r4, [sp, 0x24]
- lsls r0, 16
- lsrs r0, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- str r2, [sp]
- str r3, [sp, 0x4]
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0x1
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0
- adds r3, r5, 0
- bl sub_818D6CC
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_818D938
-
- thumb_func_start sub_818D97C
-sub_818D97C: @ 818D97C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- bne _0818D9A2
- cmp r0, 0
- beq _0818D99C
- ldr r0, =gUnknown_0831F578
- adds r0, 0x3F
- ldrb r0, [r0]
- b _0818D9A2
- .pool
-_0818D99C:
- ldr r0, =gUnknown_0831F578
- adds r0, 0x3C
- ldrb r0, [r0]
-_0818D9A2:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818D97C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index 135918627..e870c8798 100755
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -1802,7 +1802,7 @@ _0818F974:
sub_818F9B0: @ 818F9B0
push {lr}
ldr r0, =gStringVar1
- ldr r2, =gUnknown_085CCD20
+ ldr r2, =gRoundsStringTable
ldr r1, =gSaveBlock2Ptr
ldr r1, [r1]
ldr r3, =0x00000cb2
@@ -1821,7 +1821,7 @@ sub_818F9B0: @ 818F9B0
sub_818F9E0: @ 818F9E0
push {lr}
ldr r0, =gStringVar1
- ldr r2, =gUnknown_085CCD20
+ ldr r2, =gRoundsStringTable
ldr r1, =gSaveBlock2Ptr
ldr r1, [r1]
ldr r3, =0x00000cb2
@@ -2599,10 +2599,10 @@ _0818FFFC:
b _081900A4
.pool
_0819002C:
- ldr r0, =gUnknown_0831ACE8
+ ldr r0, =gTypeEffectiveness
adds r1, r6, r0
ldrb r0, [r1]
- ldr r7, =gUnknown_0831ACE8
+ ldr r7, =gTypeEffectiveness
cmp r0, 0xFF
beq _081900A4
adds r4, r1, 0
@@ -2657,7 +2657,7 @@ _08190088:
_08190096:
adds r4, 0x3
adds r6, 0x3
- ldr r1, =gUnknown_0831ACE8
+ ldr r1, =gTypeEffectiveness
adds r0, r6, r1
ldrb r0, [r0]
cmp r0, 0xFF
@@ -3165,27 +3165,27 @@ _0819044E:
strh r4, [r0]
ldr r0, =gUnknown_02022E16
strh r4, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r4, [r0]
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
strh r4, [r0]
ldr r0, =gUnknown_02022E22
strh r4, [r0]
mov r2, r9
cmp r2, 0x2
bne _081904DC
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r4, [r0]
b _081904E6
.pool
_081904DC:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r4, [r0]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
_081904E6:
@@ -4371,9 +4371,9 @@ _08190E98:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r1, [r0]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
movs r0, 0xA0
strh r0, [r1]
b _08190EE6
@@ -4384,9 +4384,9 @@ _08190ED4:
ldr r1, =gUnknown_02022E16
movs r0, 0xA0
strh r0, [r1]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
_08190EE6:
cmp r6, 0x1
@@ -4396,9 +4396,9 @@ _08190EE6:
ldrb r1, [r0, 0x10]
cmp r1, 0
bne _08190F50
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r6, 0xA0
lsls r6, 1
adds r0, r6, 0
@@ -4424,12 +4424,12 @@ _08190EE6:
b _08191084
.pool
_08190F50:
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r6, 0x80
lsls r6, 1
adds r0, r6, 0
strh r0, [r1]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
movs r4, 0
strh r4, [r0]
ldr r3, =gUnknown_0860D080
@@ -4473,9 +4473,9 @@ _08190F9C:
lsrs r0, 24
adds r1, 0x11
bl sub_8192F08
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r5, [r0]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r3, 0xA0
lsls r3, 1
adds r0, r3, 0
@@ -4508,10 +4508,10 @@ _08190FF8:
lsrs r0, 24
adds r1, 0x11
bl sub_8192F08
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r0, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r2, 0xA0
lsls r2, 1
adds r0, r2, 0
@@ -4529,12 +4529,12 @@ _08190FF8:
b _08191084
.pool
_0819104C:
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r3, 0x80
lsls r3, 1
adds r0, r3, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r1, =gTasks
@@ -4770,9 +4770,9 @@ _08191234:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r1, [r0]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldr r2, =0x0000ff60
adds r0, r2, 0
strh r0, [r1]
@@ -4785,9 +4785,9 @@ _08191278:
ldr r3, =0x0000ff60
adds r0, r3, 0
strh r0, [r1]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
_0819128C:
cmp r6, 0x2
@@ -4797,9 +4797,9 @@ _0819128C:
ldrb r1, [r0, 0x10]
cmp r1, 0
bne _081912F4
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r3, =gUnknown_0860D080
@@ -4823,10 +4823,10 @@ _0819128C:
b _0819141C
.pool
_081912F4:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
movs r4, 0
strh r4, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r4, [r0]
ldr r3, =gUnknown_0860D080
ldr r2, =gTasks
@@ -4869,9 +4869,9 @@ _0819133C:
lsrs r0, 24
adds r1, 0x11
bl sub_8192F08
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r5, [r0]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r2, [r6]
@@ -4902,10 +4902,10 @@ _08191394:
lsrs r0, 24
adds r1, 0x11
bl sub_8192F08
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r0, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r2, [r6]
@@ -4921,12 +4921,12 @@ _08191394:
b _0819141C
.pool
_081913E4:
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r4, 0x80
lsls r4, 1
adds r0, r4, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0
strh r0, [r1]
ldr r1, =gTasks
@@ -5162,12 +5162,12 @@ _081915CC:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
movs r6, 0x80
lsls r6, 1
adds r0, r6, 0
strh r0, [r2]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
b _08191622
.pool
@@ -5179,9 +5179,9 @@ _0819160C:
strh r0, [r1]
ldr r0, =gUnknown_02022E16
strh r2, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
_08191622:
ldr r0, =gUnknown_0203CD78
@@ -5189,12 +5189,12 @@ _08191622:
ldrb r0, [r4, 0x10]
cmp r0, 0
bne _08191688
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r4, 0x80
lsls r4, 1
adds r0, r4, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r3, =gUnknown_0860D080
@@ -5218,12 +5218,12 @@ _08191622:
b _081916C6
.pool
_08191688:
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r6, 0x80
lsls r6, 1
adds r0, r6, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0
strh r0, [r1]
ldr r3, =gUnknown_0860D15C
@@ -5462,12 +5462,12 @@ _0819187C:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
movs r6, 0x80
lsls r6, 1
adds r0, r6, 0
strh r0, [r2]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
b _081918D2
.pool
@@ -5479,9 +5479,9 @@ _081918BC:
strh r0, [r1]
ldr r0, =gUnknown_02022E16
strh r2, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
_081918D2:
ldr r0, =gUnknown_0203CD78
@@ -5489,12 +5489,12 @@ _081918D2:
ldrb r0, [r2, 0x10]
cmp r0, 0
bne _08191924
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r4, 0x80
lsls r4, 1
adds r0, r4, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r1, =gTasks
@@ -5510,10 +5510,10 @@ _081918D2:
b _08191958
.pool
_08191924:
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r0, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r1, =gTasks
@@ -5749,12 +5749,12 @@ _08191B08:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
movs r6, 0xFF
lsls r6, 8
adds r0, r6, 0
strh r0, [r2]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
b _08191B5E
.pool
@@ -5766,9 +5766,9 @@ _08191B48:
strh r0, [r1]
ldr r0, =gUnknown_02022E16
strh r2, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
_08191B5E:
ldr r0, =gUnknown_0203CD78
@@ -5776,19 +5776,19 @@ _08191B5E:
ldrb r0, [r0, 0x10]
cmp r0, 0x1
bne _08191B94
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r0, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
b _08191B9E
.pool
_08191B94:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
_08191B9E:
ldr r4, =gUnknown_0860D15C
@@ -6016,12 +6016,12 @@ _08191D68:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r2, =gUnknown_02022E18
+ ldr r2, =gBattle_BG1_X
movs r6, 0xFF
lsls r6, 8
adds r0, r6, 0
strh r0, [r2]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
b _08191DBE
.pool
@@ -6033,9 +6033,9 @@ _08191DA8:
strh r0, [r1]
ldr r0, =gUnknown_02022E16
strh r2, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
_08191DBE:
ldr r0, =gUnknown_0203CD78
@@ -6043,12 +6043,12 @@ _08191DBE:
ldrb r0, [r2, 0x10]
cmp r0, 0x2
bne _08191E10
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r4, 0x80
lsls r4, 1
adds r0, r4, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r1, =gTasks
@@ -6064,10 +6064,10 @@ _08191DBE:
b _08191E44
.pool
_08191E10:
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
movs r0, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
movs r0, 0xA0
strh r0, [r1]
ldr r1, =gTasks
@@ -6310,11 +6310,11 @@ _08191FF8:
ldrh r0, [r1]
subs r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldrh r0, [r1]
subs r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
b _081920A4
.pool
_08192038:
@@ -6335,11 +6335,11 @@ _08192038:
ldrh r0, [r1]
adds r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldrh r0, [r1]
adds r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E1E
+ ldr r1, =gBattle_BG2_Y
b _081920E8
.pool
_08192078:
@@ -6360,11 +6360,11 @@ _08192078:
ldrh r0, [r1]
subs r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r1]
subs r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
_081920A4:
ldrh r0, [r1]
subs r0, 0x4
@@ -6389,11 +6389,11 @@ _081920BC:
ldrh r0, [r1]
adds r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
ldrh r0, [r1]
adds r0, 0x4
strh r0, [r1]
- ldr r1, =gUnknown_02022E1C
+ ldr r1, =gBattle_BG2_X
_081920E8:
ldrh r0, [r1]
adds r0, 0x4
@@ -10109,7 +10109,7 @@ _08194074:
lsls r0, r4, 1
add r0, r10
ldrh r0, [r0]
- bl ai_rate_move
+ bl AI_TypeCalc
lsls r0, 24
lsrs r5, r0, 24
movs r0, 0x6
@@ -10404,9 +10404,9 @@ _0819427C:
strh r4, [r0]
ldr r0, =gUnknown_02022E16
strh r4, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r4, [r0]
movs r0, 0x2
movs r1, 0
@@ -10605,7 +10605,7 @@ _081944FC:
movs r2, 0
movs r1, 0x2
strb r1, [r0, 0x5]
- ldr r0, =gUnknown_085CCCEE
+ ldr r0, =gText_BattleTourney
str r0, [sp, 0x4]
add r0, sp, 0x4
strb r1, [r0, 0x4]
@@ -11366,19 +11366,19 @@ sub_8194B70: @ 8194B70
ldrh r1, [r0]
movs r0, 0x12
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r1, [r0]
movs r0, 0x18
bl SetGpuReg
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r1, [r0]
movs r0, 0x1A
bl SetGpuReg
@@ -11494,11 +11494,11 @@ sub_8194CE4: @ 8194CE4
ldrh r1, [r0]
movs r0, 0x12
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index a8494efe6..36898e456 100755
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -2398,7 +2398,7 @@ sub_819B9B4: @ 819B9B4
movs r0, 0
movs r1, 0
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EEBB2
+ ldr r2, =gText_RentalPkmn2
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -2481,20 +2481,20 @@ sub_819BA64: @ 819BA64
ldrb r0, [r0, 0x5]
cmp r0, 0x1
bne _0819BA88
- ldr r2, =gUnknown_085EEBC1
+ ldr r2, =gText_SelectFirstPkmn
b _0819BA9C
.pool
_0819BA88:
cmp r0, 0x2
bne _0819BA94
- ldr r2, =gUnknown_085EEBDB
+ ldr r2, =gText_SelectSecondPkmn
b _0819BA9C
.pool
_0819BA94:
- ldr r2, =gUnknown_085EEC2D
+ ldr r2, =gText_TheseThreePkmnOkay
cmp r0, 0x3
bne _0819BA9C
- ldr r2, =gUnknown_085EEBF6
+ ldr r2, =gText_SelectThirdPkmn
_0819BA9C:
movs r0, 0x5
str r0, [sp]
@@ -2521,7 +2521,7 @@ sub_819BAC8: @ 819BAC8
movs r0, 0x2
movs r1, 0
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EEC50
+ ldr r2, =gText_CantSelectSamePkmn
movs r0, 0x5
str r0, [sp]
movs r0, 0
@@ -2560,7 +2560,7 @@ sub_819BAFC: @ 819BAFC
str r4, [sp]
movs r6, 0
str r6, [sp, 0x4]
- ldr r0, =gUnknown_085EEC15
+ ldr r0, =gText_Summary
str r0, [sp, 0x8]
movs r0, 0x3
movs r1, 0x1
@@ -2571,7 +2571,7 @@ sub_819BAFC: @ 819BAFC
beq _0819BB60
str r4, [sp]
str r6, [sp, 0x4]
- ldr r0, =gUnknown_085EEC24
+ ldr r0, =gText_Deselect
str r0, [sp, 0x8]
movs r0, 0x3
movs r1, 0x1
@@ -2583,7 +2583,7 @@ sub_819BAFC: @ 819BAFC
_0819BB60:
str r4, [sp]
str r5, [sp, 0x4]
- ldr r0, =gUnknown_085EEC10
+ ldr r0, =gText_Rent
str r0, [sp, 0x8]
movs r0, 0x3
movs r1, 0x1
@@ -2595,7 +2595,7 @@ _0819BB74:
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085EEC1D
+ ldr r0, =gText_Others2
str r0, [sp, 0x8]
movs r0, 0x3
movs r1, 0x1
@@ -2625,7 +2625,7 @@ sub_819BBA8: @ 819BBA8
str r5, [sp]
movs r4, 0
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EEC49
+ ldr r0, =gText_Yes2
str r0, [sp, 0x8]
movs r0, 0x4
movs r1, 0x1
@@ -2634,7 +2634,7 @@ sub_819BBA8: @ 819BBA8
bl box_print
str r5, [sp]
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EEC4D
+ ldr r0, =gText_No2
str r0, [sp, 0x8]
movs r0, 0x4
movs r1, 0x1
@@ -4584,7 +4584,7 @@ sub_819CC24: @ 819CC24
ldrsh r5, [r4, r0]
cmp r5, 0
bne _0819CC5A
- ldr r0, =gUnknown_085EECBB
+ ldr r0, =gText_QuitSwapping
bl sub_819EBEC
ldr r0, =gUnknown_03001284
ldr r0, [r0]
@@ -4670,7 +4670,7 @@ sub_819CCD4: @ 819CCD4
adds r1, 0x30
movs r2, 0x1
bl sub_819F2B4
- ldr r0, =gUnknown_085EECF0
+ ldr r0, =gText_AcceptThisPkmn
bl sub_819EBEC
ldr r0, [r4]
adds r0, 0x20
@@ -6176,12 +6176,12 @@ _0819D948:
ldrb r0, [r0, 0x14]
cmp r0, 0
bne _0819D964
- ldr r0, =gUnknown_085EEC73
+ ldr r0, =gText_SelectPkmnToSwap
bl sub_819EBEC
b _0819D96A
.pool
_0819D964:
- ldr r0, =gUnknown_085EEC8B
+ ldr r0, =gText_SelectPkmnToAccept
bl sub_819EBEC
_0819D96A:
ldr r0, =gUnknown_03001284
@@ -6765,7 +6765,7 @@ _0819DF02:
b _0819E006
.pool
_0819DF10:
- ldr r0, =gUnknown_085EEC73
+ ldr r0, =gText_SelectPkmnToSwap
bl sub_819EBEC
movs r0, 0x2
bl PutWindowTilemap
@@ -8272,7 +8272,7 @@ sub_819EB18: @ 819EB18
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EEC66
+ ldr r2, =gText_PkmnSwap
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -8402,7 +8402,7 @@ sub_819EC20: @ 819EC20
str r5, [sp]
movs r4, 0
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EECAA
+ ldr r0, =gText_Summary2
str r0, [sp, 0x8]
movs r0, 0x3
movs r1, 0x1
@@ -8411,7 +8411,7 @@ sub_819EC20: @ 819EC20
bl box_print
str r5, [sp]
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EECA5
+ ldr r0, =gText_Swap
str r0, [sp, 0x8]
movs r0, 0x3
movs r1, 0x1
@@ -8420,7 +8420,7 @@ sub_819EC20: @ 819EC20
bl box_print
str r5, [sp]
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EECB2
+ ldr r0, =gText_Rechoose
str r0, [sp, 0x8]
movs r0, 0x3
movs r1, 0x1
@@ -8450,7 +8450,7 @@ sub_819EC94: @ 819EC94
str r5, [sp]
movs r4, 0
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EECCA
+ ldr r0, =gText_Yes3
str r0, [sp, 0x8]
movs r0, 0x4
movs r1, 0x1
@@ -8459,7 +8459,7 @@ sub_819EC94: @ 819EC94
bl box_print
str r5, [sp]
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EECCE
+ ldr r0, =gText_No3
str r0, [sp, 0x8]
movs r0, 0x4
movs r1, 0x1
@@ -8523,12 +8523,12 @@ sub_819ED34: @ 819ED34
beq _0819ED56
cmp r0, 0x1
bne _0819ED60
- ldr r0, =gUnknown_085EECD1
+ ldr r0, =gText_PkmnForSwap
movs r1, 0
movs r2, 0x5
bl sub_819ECF0
_0819ED56:
- ldr r0, =gUnknown_085EECDD
+ ldr r0, =gText_Cancel3
movs r1, 0x18
movs r2, 0x5
bl sub_819ECF0
@@ -8554,12 +8554,12 @@ sub_819ED78: @ 819ED78
beq _0819ED9A
cmp r0, 0x1
bne _0819EDA4
- ldr r0, =gUnknown_085EECD1
+ ldr r0, =gText_PkmnForSwap
movs r1, 0x8
movs r2, 0x3
bl sub_819ECF0
_0819ED9A:
- ldr r0, =gUnknown_085EECDD
+ ldr r0, =gText_Cancel3
movs r1, 0x20
movs r2, 0x3
bl sub_819ECF0
@@ -8588,14 +8588,14 @@ _0819EDCC:
ldrb r0, [r0, 0x14]
cmp r0, 0x1
bne _0819EDF6
- ldr r0, =gUnknown_085EECD1
+ ldr r0, =gText_PkmnForSwap
movs r1, 0x8
movs r2, 0x3
bl sub_819ECF0
b _0819EDF6
.pool
_0819EDEC:
- ldr r0, =gUnknown_085EECDD
+ ldr r0, =gText_Cancel3
movs r1, 0x20
movs r2, 0x3
bl sub_819ECF0
@@ -9401,7 +9401,7 @@ _0819F4C8:
.4byte _0819F548
.4byte _0819F568
_0819F4DC:
- ldr r0, =gUnknown_085EED0A
+ ldr r0, =gText_SamePkmnInPartyAlready
bl sub_819EBEC
ldr r0, =gUnknown_03001284
ldr r0, [r0]
@@ -9446,7 +9446,7 @@ _0819F52C:
bl CopyWindowToVram
b _0819F54E
_0819F548:
- ldr r0, =gUnknown_085EEC8B
+ ldr r0, =gText_SelectPkmnToAccept
bl sub_819EBEC
_0819F54E:
ldr r0, =gTasks
@@ -11469,9 +11469,9 @@ _081A0528:
movs r0, 0x12
mov r10, r0
movs r6, 0x8
- ldr r0, =gUnknown_085EAEB1
+ ldr r0, =gText_Lv50
str r0, [sp, 0xC]
- ldr r0, =gUnknown_085EAEB8
+ ldr r0, =gText_OpenLevel
str r0, [sp, 0x10]
b _081A0652
.pool
@@ -11580,9 +11580,9 @@ _081A061C:
movs r0, 0x12
mov r10, r0
movs r6, 0x8
- ldr r0, =gUnknown_085ED193
+ ldr r0, =gText_Give
str r0, [sp, 0xC]
- ldr r0, =gUnknown_085ED198
+ ldr r0, =gText_NoNeed
str r0, [sp, 0x10]
b _081A0652
.pool
@@ -11590,9 +11590,9 @@ _081A0634:
movs r1, 0x14
mov r10, r1
movs r6, 0x8
- ldr r0, =gUnknown_085EAE62
+ ldr r0, =gText_Yes
str r0, [sp, 0xC]
- ldr r0, =gUnknown_085EAE66
+ ldr r0, =gText_No
str r0, [sp, 0x10]
b _081A0652
.pool
@@ -12950,11 +12950,11 @@ _081A1140:
ands r0, r1
cmp r0, 0x1
bne _081A115C
- ldr r1, =gUnknown_085EAEB1
+ ldr r1, =gText_Lv50
b _081A1174
.pool
_081A115C:
- ldr r1, =gUnknown_085EAEB8
+ ldr r1, =gText_OpenLevel
b _081A1174
.pool
_081A1164:
@@ -14386,7 +14386,7 @@ _081A1D24:
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE302
+ ldr r1, =gText_WinStreak
adds r0, r4, 0
bl StringExpandPlaceholders
mov r1, r10
@@ -14434,7 +14434,7 @@ sub_81A1D78: @ 81A1D78
adds r4, r0
adds r4, r1
ldrh r1, [r4]
- ldr r0, =gUnknown_085EE319
+ ldr r0, =gText_Record
str r5, [sp]
bl sub_81A1CD8
add sp, 0x4
@@ -14545,7 +14545,7 @@ _081A1E66:
lsrs r0, 24
cmp r0, 0x1
bne _081A1E88
- ldr r0, =gUnknown_085EE311
+ ldr r0, =gText_Current
str r7, [sp]
adds r1, r4, 0
mov r2, r8
@@ -14554,7 +14554,7 @@ _081A1E66:
b _081A1E96
.pool
_081A1E88:
- ldr r0, =gUnknown_085EE320
+ ldr r0, =gText_Prev
str r7, [sp]
adds r1, r4, 0
mov r2, r8
@@ -14593,7 +14593,7 @@ sub_81A1EA8: @ 81A1EA8
cmp r7, 0
bne _081A1EF0
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE158
+ ldr r1, =gText_SingleBattleRoomResults
bl StringExpandPlaceholders
b _081A1F28
.pool
@@ -14601,7 +14601,7 @@ _081A1EF0:
cmp r7, 0x1
bne _081A1F08
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE178
+ ldr r1, =gText_DoubleBattleRoomResults
bl StringExpandPlaceholders
b _081A1F28
.pool
@@ -14609,13 +14609,13 @@ _081A1F08:
cmp r7, 0x2
bne _081A1F20
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE198
+ ldr r1, =gText_MultiBattleRoomResults
bl StringExpandPlaceholders
b _081A1F28
.pool
_081A1F20:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE1B7
+ ldr r1, =gText_LinkMultiBattleRoomResults
bl StringExpandPlaceholders
_081A1F28:
ldr r0, =gStringVar4
@@ -14623,7 +14623,7 @@ _081A1F28:
bl sub_81A1C4C
ldr r6, =gUnknown_0203AB74
ldrb r0, [r6]
- ldr r2, =gUnknown_085EE2F2
+ ldr r2, =gText_Lv502
movs r1, 0x31
mov r8, r1
str r1, [sp]
@@ -14635,7 +14635,7 @@ _081A1F28:
movs r3, 0x10
bl PrintTextOnWindow
ldrb r0, [r6]
- ldr r2, =gUnknown_085EE2F9
+ ldr r2, =gText_OpenLv
movs r1, 0x61
mov r9, r1
str r1, [sp]
@@ -14830,8 +14830,8 @@ _081A20E6:
lsrs r0, 24
cmp r0, 0x1
bne _081A210C
- ldr r0, =gUnknown_085EE311
- ldr r1, =gUnknown_085EE338
+ ldr r0, =gText_Current
+ ldr r1, =gText_ClearStreak
str r7, [sp]
str r4, [sp, 0x4]
mov r2, r8
@@ -14840,8 +14840,8 @@ _081A20E6:
b _081A211C
.pool
_081A210C:
- ldr r0, =gUnknown_085EE320
- ldr r1, =gUnknown_085EE338
+ ldr r0, =gText_Prev
+ ldr r1, =gText_ClearStreak
str r7, [sp]
str r4, [sp, 0x4]
mov r2, r8
@@ -14881,13 +14881,13 @@ sub_81A2134: @ 81A2134
cmp r7, 0
bne _081A217C
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE1DB
+ ldr r1, =gText_SingleBattleTourneyResults
bl StringExpandPlaceholders
b _081A2184
.pool
_081A217C:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE1FE
+ ldr r1, =gText_DoubleBattleTourneyResults
bl StringExpandPlaceholders
_081A2184:
ldr r0, =gStringVar4
@@ -14895,7 +14895,7 @@ _081A2184:
bl sub_81A1C4C
ldr r1, =gUnknown_0203AB74
ldrb r0, [r1]
- ldr r2, =gUnknown_085EE2F2
+ ldr r2, =gText_Lv502
movs r6, 0x21
str r6, [sp]
movs r5, 0xFF
@@ -14907,7 +14907,7 @@ _081A2184:
bl PrintTextOnWindow
ldr r1, =gUnknown_0203AB74
ldrb r0, [r1]
- ldr r2, =gUnknown_085EE2F9
+ ldr r2, =gText_OpenLv
movs r1, 0x61
str r1, [sp]
str r5, [sp, 0x4]
@@ -14935,13 +14935,13 @@ _081A2184:
str r0, [sp]
movs r0, 0x31
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085EE319
- ldr r1, =gUnknown_085EE338
+ ldr r0, =gText_Record
+ ldr r1, =gText_ClearStreak
movs r3, 0x40
bl sub_81A2008
- ldr r1, =gUnknown_085EE332
+ ldr r1, =gText_Total
mov r10, r1
- ldr r0, =gUnknown_085EE349
+ ldr r0, =gText_Championships
mov r8, r0
ldr r0, [r4]
ldr r1, =0x00000d1c
@@ -14972,8 +14972,8 @@ _081A2184:
str r0, [sp]
movs r0, 0x71
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085EE319
- ldr r1, =gUnknown_085EE338
+ ldr r0, =gText_Record
+ ldr r1, =gText_ClearStreak
movs r3, 0x40
bl sub_81A2008
ldr r0, [r4]
@@ -15052,7 +15052,7 @@ _081A2304:
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE302
+ ldr r1, =gText_WinStreak
adds r0, r4, 0
bl StringExpandPlaceholders
mov r1, r10
@@ -15100,7 +15100,7 @@ sub_81A2358: @ 81A2358
adds r4, r0
adds r4, r1
ldrh r1, [r4]
- ldr r0, =gUnknown_085EE319
+ ldr r0, =gText_Record
str r5, [sp]
bl sub_81A22B8
add sp, 0x4
@@ -15186,7 +15186,7 @@ _081A241E:
lsrs r0, 24
cmp r0, 0x1
bne _081A2440
- ldr r0, =gUnknown_085EE311
+ ldr r0, =gText_Current
str r7, [sp]
adds r1, r4, 0
mov r2, r8
@@ -15195,7 +15195,7 @@ _081A241E:
b _081A244E
.pool
_081A2440:
- ldr r0, =gUnknown_085EE320
+ ldr r0, =gText_Prev
str r7, [sp]
adds r1, r4, 0
mov r2, r8
@@ -15234,13 +15234,13 @@ sub_81A2460: @ 81A2460
cmp r7, 0
bne _081A24A8
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE221
+ ldr r1, =gText_SingleBattleHallResults
bl StringExpandPlaceholders
b _081A24B0
.pool
_081A24A8:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE241
+ ldr r1, =gText_DoubleBattleHallResults
bl StringExpandPlaceholders
_081A24B0:
ldr r0, =gStringVar4
@@ -15248,7 +15248,7 @@ _081A24B0:
bl sub_81A1C4C
ldr r6, =gUnknown_0203AB74
ldrb r0, [r6]
- ldr r2, =gUnknown_085EE2F2
+ ldr r2, =gText_Lv502
movs r1, 0x31
mov r8, r1
str r1, [sp]
@@ -15260,7 +15260,7 @@ _081A24B0:
movs r3, 0x10
bl PrintTextOnWindow
ldrb r0, [r6]
- ldr r2, =gUnknown_085EE2F9
+ ldr r2, =gText_OpenLv
movs r1, 0x61
mov r9, r1
str r1, [sp]
@@ -15434,8 +15434,8 @@ _081A264C:
lsrs r0, 24
cmp r0, 0x1
bne _081A2674
- ldr r0, =gUnknown_085EE311
- ldr r1, =gUnknown_085EE35B
+ ldr r0, =gText_Current
+ ldr r1, =gText_RoomsCleared
str r5, [sp]
str r6, [sp, 0x4]
adds r2, r7, 0
@@ -15444,8 +15444,8 @@ _081A264C:
b _081A2684
.pool
_081A2674:
- ldr r0, =gUnknown_085EE320
- ldr r1, =gUnknown_085EE35B
+ ldr r0, =gText_Prev
+ ldr r1, =gText_RoomsCleared
str r5, [sp]
str r6, [sp, 0x4]
adds r2, r7, 0
@@ -15480,14 +15480,14 @@ sub_81A2698: @ 81A2698
movs r1, 0x11
bl FillWindowPixelBuffer
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE261
+ ldr r1, =gText_BattleChoiceResults
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
bl sub_81A1C4C
ldrb r0, [r6]
- ldr r2, =gUnknown_085EE2F2
+ ldr r2, =gText_Lv502
movs r1, 0x21
str r1, [sp]
movs r5, 0xFF
@@ -15498,7 +15498,7 @@ sub_81A2698: @ 81A2698
movs r3, 0x8
bl PrintTextOnWindow
ldrb r0, [r6]
- ldr r2, =gUnknown_085EE2F9
+ ldr r2, =gText_OpenLv
movs r1, 0x61
str r1, [sp]
str r5, [sp, 0x4]
@@ -15513,9 +15513,9 @@ sub_81A2698: @ 81A2698
movs r2, 0x72
movs r3, 0x21
bl sub_81A2618
- ldr r0, =gUnknown_085EE319
+ ldr r0, =gText_Record
mov r10, r0
- ldr r7, =gUnknown_085EE35B
+ ldr r7, =gText_RoomsCleared
ldr r5, =gSaveBlock2Ptr
ldr r0, [r5]
ldr r1, =0x00000e08
@@ -15529,9 +15529,9 @@ sub_81A2698: @ 81A2698
adds r1, r7, 0
movs r3, 0x40
bl sub_81A258C
- ldr r0, =gUnknown_085EE332
+ ldr r0, =gText_Total
mov r8, r0
- ldr r1, =gUnknown_085EE36D
+ ldr r1, =gText_TimesCleared
mov r9, r1
ldr r0, [r5]
ldr r1, =0x00000e0c
@@ -15633,7 +15633,7 @@ _081A2834:
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE381
+ ldr r1, =gText_KOsInARow
adds r0, r4, 0
bl StringExpandPlaceholders
mov r1, r10
@@ -15678,7 +15678,7 @@ sub_81A2888: @ 81A2888
adds r1, r2
adds r1, r0
ldrh r1, [r1]
- ldr r0, =gUnknown_085EE319
+ ldr r0, =gText_Record
str r3, [sp]
adds r2, r4, 0
adds r3, r5, 0
@@ -15743,7 +15743,7 @@ _081A2928:
lsrs r0, 24
cmp r0, 0x1
bne _081A2948
- ldr r0, =gUnknown_085EE311
+ ldr r0, =gText_Current
str r6, [sp]
adds r1, r5, 0
adds r2, r7, 0
@@ -15752,7 +15752,7 @@ _081A2928:
b _081A2956
.pool
_081A2948:
- ldr r0, =gUnknown_085EE320
+ ldr r0, =gText_Prev
str r6, [sp]
adds r1, r5, 0
adds r2, r7, 0
@@ -15785,14 +15785,14 @@ sub_81A2968: @ 81A2968
movs r0, 0xA
bl sub_81A1C90
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE27C
+ ldr r1, =gText_SetKOTourneyResults
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0x2
bl sub_81A1C4C
ldrb r0, [r5]
- ldr r2, =gUnknown_085EE2F2
+ ldr r2, =gText_Lv502
movs r1, 0x31
str r1, [sp]
movs r6, 0xFF
@@ -15803,7 +15803,7 @@ sub_81A2968: @ 81A2968
movs r3, 0x10
bl PrintTextOnWindow
ldrb r0, [r5]
- ldr r2, =gUnknown_085EE2F9
+ ldr r2, =gText_OpenLv
movs r1, 0x61
str r1, [sp]
str r6, [sp, 0x4]
@@ -15896,7 +15896,7 @@ _081A2A80:
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE302
+ ldr r1, =gText_WinStreak
adds r0, r4, 0
bl StringExpandPlaceholders
mov r1, r10
@@ -15915,7 +15915,7 @@ _081A2A80:
movs r2, 0x1
movs r3, 0x4
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085EE392
+ ldr r1, =gText_TimesVar1
adds r0, r4, 0
bl StringExpandPlaceholders
mov r1, r10
@@ -15973,7 +15973,7 @@ sub_81A2B04: @ 81A2B04
adds r2, r0
adds r2, r1
ldrh r2, [r2]
- ldr r0, =gUnknown_085EE319
+ ldr r0, =gText_Record
str r3, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
@@ -16102,7 +16102,7 @@ _081A2C3E:
lsrs r0, 24
cmp r0, 0x1
bne _081A2C68
- ldr r0, =gUnknown_085EE311
+ ldr r0, =gText_Current
mov r1, r8
str r1, [sp]
mov r1, r9
@@ -16116,7 +16116,7 @@ _081A2C3E:
b _081A2C80
.pool
_081A2C68:
- ldr r0, =gUnknown_085EE320
+ ldr r0, =gText_Prev
mov r1, r8
str r1, [sp]
mov r1, r9
@@ -16160,13 +16160,13 @@ sub_81A2C94: @ 81A2C94
cmp r7, 0
bne _081A2CD8
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE298
+ ldr r1, =gText_BattleSwapSingleResults
bl StringExpandPlaceholders
b _081A2CE0
.pool
_081A2CD8:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EE2B8
+ ldr r1, =gText_BattleSwapDoubleResults
bl StringExpandPlaceholders
_081A2CE0:
ldr r0, =gStringVar4
@@ -16175,7 +16175,7 @@ _081A2CE0:
ldr r0, =gUnknown_0203AB74
mov r8, r0
ldrb r0, [r0]
- ldr r2, =gUnknown_085EE2F2
+ ldr r2, =gText_Lv502
movs r6, 0x21
str r6, [sp]
movs r5, 0xFF
@@ -16187,7 +16187,7 @@ _081A2CE0:
bl PrintTextOnWindow
mov r1, r8
ldrb r0, [r1]
- ldr r2, =gUnknown_085EE326
+ ldr r2, =gText_RentalSwap
str r6, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
@@ -16196,7 +16196,7 @@ _081A2CE0:
bl PrintTextOnWindow
mov r1, r8
ldrb r0, [r1]
- ldr r2, =gUnknown_085EE2F9
+ ldr r2, =gText_OpenLv
movs r1, 0x61
str r1, [sp]
str r5, [sp, 0x4]
@@ -16301,7 +16301,7 @@ _081A2E00:
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE39C
+ ldr r1, =gText_FloorsCleared
adds r0, r4, 0
bl StringExpandPlaceholders
mov r1, r10
@@ -16346,7 +16346,7 @@ sub_81A2E54: @ 81A2E54
adds r1, r2
adds r1, r0
ldrh r1, [r1]
- ldr r0, =gUnknown_085EE319
+ ldr r0, =gText_Record
str r3, [sp]
adds r2, r4, 0
adds r3, r5, 0
@@ -16413,7 +16413,7 @@ _081A2EF8:
lsrs r0, 24
cmp r0, 0x1
bne _081A2F18
- ldr r0, =gUnknown_085EE311
+ ldr r0, =gText_Current
str r6, [sp]
adds r1, r5, 0
adds r2, r7, 0
@@ -16422,7 +16422,7 @@ _081A2EF8:
b _081A2F26
.pool
_081A2F18:
- ldr r0, =gUnknown_085EE320
+ ldr r0, =gText_Prev
str r6, [sp]
adds r1, r5, 0
adds r2, r7, 0
@@ -16453,14 +16453,14 @@ sub_81A2F38: @ 81A2F38
movs r1, 0x11
bl FillWindowPixelBuffer
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE2D8
+ ldr r1, =gText_BattleQuestResults
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0x2
bl sub_81A1C4C
ldrb r0, [r5]
- ldr r2, =gUnknown_085EE2F2
+ ldr r2, =gText_Lv502
movs r1, 0x31
str r1, [sp]
movs r6, 0xFF
@@ -16471,7 +16471,7 @@ sub_81A2F38: @ 81A2F38
movs r3, 0x8
bl PrintTextOnWindow
ldrb r0, [r5]
- ldr r2, =gUnknown_085EE2F9
+ ldr r2, =gText_OpenLv
movs r1, 0x61
str r1, [sp]
str r6, [sp, 0x4]
@@ -16532,7 +16532,7 @@ sub_81A2FF8: @ 81A2FF8
bl FillWindowPixelBuffer
ldr r0, =gStringVar4
mov r9, r0
- ldr r1, =gUnknown_085EDF86
+ ldr r1, =gText_LinkContestResults
bl StringExpandPlaceholders
movs r0, 0x1
mov r1, r9
@@ -16550,7 +16550,7 @@ sub_81A2FF8: @ 81A2FF8
str r5, [sp, 0x8]
mov r2, r9
bl PrintTextOnWindow
- ldr r7, =gUnknown_085EDFA0
+ ldr r7, =gText_1st
movs r0, 0x1
adds r1, r7, 0
movs r2, 0x26
@@ -16568,7 +16568,7 @@ sub_81A2FF8: @ 81A2FF8
movs r1, 0x1
adds r2, r7, 0
bl PrintTextOnWindow
- ldr r7, =gUnknown_085EDFA4
+ ldr r7, =gText_2nd
movs r0, 0x1
adds r1, r7, 0
movs r2, 0x26
@@ -16585,7 +16585,7 @@ sub_81A2FF8: @ 81A2FF8
movs r1, 0x1
adds r2, r7, 0
bl PrintTextOnWindow
- ldr r7, =gUnknown_085EDFA8
+ ldr r7, =gText_3rd
movs r0, 0x1
adds r1, r7, 0
movs r2, 0x26
@@ -16602,7 +16602,7 @@ sub_81A2FF8: @ 81A2FF8
movs r1, 0x1
adds r2, r7, 0
bl PrintTextOnWindow
- ldr r7, =gUnknown_085EDFAC
+ ldr r7, =gText_4th
movs r0, 0x1
adds r1, r7, 0
movs r2, 0x26
@@ -16620,7 +16620,7 @@ sub_81A2FF8: @ 81A2FF8
adds r2, r7, 0
bl PrintTextOnWindow
ldrb r0, [r4]
- ldr r2, =gUnknown_085EB0E8
+ ldr r2, =gText_Cool
movs r1, 0x29
str r1, [sp]
str r6, [sp, 0x4]
@@ -16629,7 +16629,7 @@ sub_81A2FF8: @ 81A2FF8
movs r3, 0x6
bl PrintTextOnWindow
ldrb r0, [r4]
- ldr r2, =gUnknown_085EB0ED
+ ldr r2, =gText_Beauty
movs r1, 0x39
str r1, [sp]
str r6, [sp, 0x4]
@@ -16638,7 +16638,7 @@ sub_81A2FF8: @ 81A2FF8
movs r3, 0x6
bl PrintTextOnWindow
ldrb r0, [r4]
- ldr r2, =gUnknown_085EB0F4
+ ldr r2, =gText_Cute
movs r1, 0x49
str r1, [sp]
str r6, [sp, 0x4]
@@ -16647,7 +16647,7 @@ sub_81A2FF8: @ 81A2FF8
movs r3, 0x6
bl PrintTextOnWindow
ldrb r0, [r4]
- ldr r2, =gUnknown_085EB0F9
+ ldr r2, =gText_Smart
movs r1, 0x59
str r1, [sp]
str r6, [sp, 0x4]
@@ -16656,7 +16656,7 @@ sub_81A2FF8: @ 81A2FF8
movs r3, 0x6
bl PrintTextOnWindow
ldrb r0, [r4]
- ldr r2, =gUnknown_085EB0FF
+ ldr r2, =gText_Tough
movs r1, 0x69
str r1, [sp]
str r6, [sp, 0x4]
@@ -18104,7 +18104,7 @@ _081A3E38:
cmp r5, r4
bne _081A3E50
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB79
+ ldr r1, =gText_SpaceAndSpace
bl StringAppend
b _081A3EC8
.pool
@@ -18112,7 +18112,7 @@ _081A3E50:
cmp r5, r4
ble _081A3EC8
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB7F
+ ldr r1, =gText_CommaSpace
bl StringAppend
b _081A3EC8
.pool
@@ -18120,17 +18120,17 @@ _081A3E68:
cmp r4, r5
bne _081A3E80
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB79
+ ldr r1, =gText_SpaceAndSpace
bl StringAppend
b _081A3E88
.pool
_081A3E80:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB7F
+ ldr r1, =gText_CommaSpace
bl StringAppend
_081A3E88:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB86
+ ldr r1, =gText_NewLine
bl StringAppend
b _081A3EC8
.pool
@@ -18138,17 +18138,17 @@ _081A3EA0:
cmp r4, r5
bne _081A3EB8
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB79
+ ldr r1, =gText_SpaceAndSpace
bl StringAppend
b _081A3EC0
.pool
_081A3EB8:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB7F
+ ldr r1, =gText_CommaSpace
bl StringAppend
_081A3EC0:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB84
+ ldr r1, =gText_ScrollTextUp
bl StringAppend
_081A3EC8:
ldr r0, =gStringVar1
@@ -18495,10 +18495,10 @@ _081A416A:
cmp r4, 0
bne _081A41A4
ldr r4, =gStringVar1
- ldr r1, =gUnknown_085CCB82
+ ldr r1, =gText_Space2
adds r0, r4, 0
bl StringAppend
- ldr r1, =gUnknown_085CCB88
+ ldr r1, =gText_Are
adds r0, r4, 0
bl StringAppend
b _081A4202
@@ -18509,17 +18509,17 @@ _081A41A4:
cmp r0, 0
beq _081A41C0
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB84
+ ldr r1, =gText_ScrollTextUp
bl StringAppend
b _081A41C8
.pool
_081A41C0:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB82
+ ldr r1, =gText_Space2
bl StringAppend
_081A41C8:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085CCB8C
+ ldr r1, =gText_Are2
bl StringAppend
b _081A4202
.pool
@@ -18966,7 +18966,7 @@ sub_81A4594: @ 81A4594
ldrb r5, [r1]
lsls r4, r0, 1
adds r4, r0
- ldr r1, =gUnknown_085EE424
+ ldr r1, =gText_1Dot
adds r4, r1
mov r1, r8
lsls r3, r1, 27
@@ -19076,7 +19076,7 @@ sub_81A4684: @ 81A4684
ldrb r0, [r1]
lsls r2, r6, 1
adds r2, r6
- ldr r1, =gUnknown_085EE424
+ ldr r1, =gText_1Dot
adds r2, r1
lsls r3, r7, 27
lsrs r3, 24
@@ -20577,34 +20577,34 @@ _081A5328:
movs r0, 0x1
negs r0, r0
strb r0, [r1, 0x1]
- ldr r0, =gUnknown_085CCDB2
- bl StrCpyDecodeToDisplayedStringBattle
+ ldr r0, =gText_JapaneseHonorific
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r4, =gDisplayedStringBattle
adds r0, r4, 0
movs r1, 0xF
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCDB5
+ bl sub_814F9EC
+ ldr r0, =gText_Vs
movs r1, 0x10
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCDB8
- bl StrCpyDecodeToDisplayedStringBattle
+ bl sub_814F9EC
+ ldr r0, =gText_RivalBuffer
+ bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x11
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCDBB
+ bl sub_814F9EC
+ ldr r0, =gText_Mind
movs r1, 0x12
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCDC0
+ bl sub_814F9EC
+ ldr r0, =gText_Skill
movs r1, 0x13
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCDC6
+ bl sub_814F9EC
+ ldr r0, =gText_Body
movs r1, 0x14
- bl battle_show_message_maybe
- ldr r0, =gUnknown_085CCDCB
- bl StrCpyDecodeToDisplayedStringBattle
+ bl sub_814F9EC
+ ldr r0, =gText_Judgement
+ bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x15
- bl battle_show_message_maybe
+ bl sub_814F9EC
b _081A553E
.pool
_081A53B4:
@@ -20684,11 +20684,11 @@ _081A544C:
_081A5464:
movs r3, 0x1
bl sub_81A5558
- ldr r0, =gUnknown_085CCDCB
- bl StrCpyDecodeToDisplayedStringBattle
+ ldr r0, =gText_Judgement
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x15
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
@@ -31263,8 +31263,8 @@ _081AAA9E:
.pool
thumb_func_end sub_81AAA7C
- thumb_func_start CalculateBattlePyramidPickupItemId
-CalculateBattlePyramidPickupItemId: @ 81AAAE0
+ thumb_func_start GetBattlePyramidPickupItemId
+GetBattlePyramidPickupItemId: @ 81AAAE0
push {r4-r6,lr}
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
@@ -31331,6 +31331,6 @@ _081AAB5A:
pop {r1}
bx r1
.pool
- thumb_func_end CalculateBattlePyramidPickupItemId
+ thumb_func_end GetBattlePyramidPickupItemId
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_interface.s b/asm/battle_interface.s
index fb6a48194..31ad9a330 100755
--- a/asm/battle_interface.s
+++ b/asm/battle_interface.s
@@ -3760,7 +3760,7 @@ sub_80741E8: @ 80741E8
lsls r0, 24
lsrs r7, r0, 24
ldr r5, =gDisplayedStringBattle
- ldr r1, =gUnknown_085ED228
+ ldr r1, =gText_HighlightDarkGrey
adds r0, r5, 0
bl StringCopy
adds r0, r4, 0
@@ -3802,15 +3802,15 @@ _0807424A:
beq _08074268
cmp r6, 0xFE
beq _08074270
- ldr r1, =gUnknown_085ED238
+ ldr r1, =gText_DynColor2
b _08074272
.pool
_08074268:
- ldr r1, =gUnknown_085ED22E
+ ldr r1, =gText_DynColor2Male
b _08074272
.pool
_08074270:
- ldr r1, =gUnknown_085ED233
+ ldr r1, =gText_DynColor1Female
_08074272:
adds r0, r5, 0
bl StringCopy
@@ -4375,7 +4375,7 @@ sub_8074770: @ 8074770
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gUnknown_085CCB2C
+ ldr r0, =gText_SafariBalls
add r1, sp, 0x4
str r1, [sp]
movs r1, 0
@@ -4419,7 +4419,7 @@ sub_80747D8: @ 80747D8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gUnknown_085CCB3C
+ ldr r1, =gText_SafariBallLeft
add r0, sp, 0x4
bl StringCopy
ldr r1, =gNumSafariBalls
@@ -5476,8 +5476,8 @@ _08075028:
bx r1
thumb_func_end sub_8074FE8
- thumb_func_start sub_8075034
-sub_8075034: @ 8075034
+ thumb_func_start GetScaledHPFraction
+GetScaledHPFraction: @ 8075034
push {r4,lr}
lsls r2, 24
lsrs r2, 24
@@ -5499,7 +5499,7 @@ _08075058:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8075034
+ thumb_func_end GetScaledHPFraction
thumb_func_start sub_8075060
sub_8075060: @ 8075060
@@ -5514,7 +5514,7 @@ sub_8075060: @ 8075060
b _0807508E
_08075072:
movs r2, 0x30
- bl sub_8075034
+ bl GetScaledHPFraction
lsls r0, 24
lsrs r1, r0, 24
movs r0, 0x3
diff --git a/asm/battle_link_817C95C.s b/asm/battle_link_817C95C.s
index a08d34cad..94ae7ad7f 100644
--- a/asm/battle_link_817C95C.s
+++ b/asm/battle_link_817C95C.s
@@ -44,7 +44,7 @@ _0817C988:
bl GetBankSide
lsls r0, 24
lsrs r6, r0, 24
- ldr r0, =gUnknown_0202420E
+ ldr r0, =gEffectBank
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
@@ -145,7 +145,7 @@ _0817CA9C:
bl GetBankIdentity
lsls r0, 24
lsrs r5, r0, 25
- ldr r0, =gUnknown_0202420E
+ ldr r0, =gEffectBank
ldrb r0, [r0]
bl GetBankIdentity
lsls r0, 24
@@ -1302,7 +1302,7 @@ _0817D6F2:
bl _0817E0A6
_0817D704:
ldr r5, =gBattlePartyID
- ldr r6, =gUnknown_0202420E
+ ldr r6, =gEffectBank
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1396,7 +1396,7 @@ _0817D7B2:
.pool
_0817D7D8:
ldr r5, =gBattlePartyID
- ldr r6, =gUnknown_0202420E
+ ldr r6, =gEffectBank
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1440,7 +1440,7 @@ _0817D7D8:
.pool
_0817D838:
ldr r5, =gBattlePartyID
- ldr r6, =gUnknown_0202420E
+ ldr r6, =gEffectBank
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1628,7 +1628,7 @@ _0817D9AE:
b _0817E086
_0817D9C2:
ldr r5, =gBattlePartyID
- ldr r6, =gUnknown_0202420E
+ ldr r6, =gEffectBank
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1703,7 +1703,7 @@ _0817DA48:
.pool
_0817DA68:
ldr r5, =gBattlePartyID
- ldr r6, =gUnknown_0202420E
+ ldr r6, =gEffectBank
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
@@ -1791,7 +1791,7 @@ _0817DB10:
.pool
_0817DB24:
ldr r5, =gBattlePartyID
- ldr r6, =gUnknown_0202420E
+ ldr r6, =gEffectBank
ldrb r0, [r6]
lsls r0, 1
adds r0, r5
diff --git a/asm/battle_message.s b/asm/battle_message.s
index dec210b25..96869a350 100644
--- a/asm/battle_message.s
+++ b/asm/battle_message.s
@@ -136,12 +136,12 @@ _0814E1CC:
movs r0, 0x80
lsls r0, 17
ands r2, r0
- ldr r7, =gUnknown_085CBBCD
+ ldr r7, =gText_TwoTrainersWantToBattle
cmp r2, 0
bne _0814E200
b _0814E6D8
_0814E200:
- ldr r7, =gUnknown_085CD318
+ ldr r7, =gText_TwoTrainersWantToBattle3
b _0814E6D8
.pool
_0814E214:
@@ -151,19 +151,19 @@ _0814E214:
lsls r0, 4
cmp r1, r0
bne _0814E22C
- ldr r7, =gUnknown_085CBB9C
+ ldr r7, =gText_TrainerXYWantsToBattle
b _0814E6D8
.pool
_0814E22C:
movs r0, 0x80
lsls r0, 17
ands r2, r0
- ldr r7, =gUnknown_085CBBB9
+ ldr r7, =gText_TrainerXWantsToBattle
cmp r2, 0
bne _0814E23A
b _0814E6D8
_0814E23A:
- ldr r7, =gUnknown_085CD301
+ ldr r7, =gText_TrainerWantsToBattle
b _0814E6D8
.pool
_0814E248:
@@ -175,12 +175,12 @@ _0814E248:
movs r0, 0x80
lsls r0, 8
ands r2, r0
- ldr r7, =gUnknown_085CBB9C
+ ldr r7, =gText_TrainerXYWantsToBattle
cmp r2, 0
bne _0814E260
b _0814E6D8
_0814E260:
- ldr r7, =gUnknown_085CCE17
+ ldr r7, =gText_TwoTrainersWantToBattle2
b _0814E6D8
.pool
_0814E26C:
@@ -189,7 +189,7 @@ _0814E26C:
ands r0, r2
cmp r0, 0
beq _0814E280
- ldr r7, =gUnknown_085CBB5A
+ ldr r7, =gText_WildPkmnAppeared2
b _0814E6D8
.pool
_0814E280:
@@ -197,19 +197,19 @@ _0814E280:
ands r0, r2
cmp r0, 0
beq _0814E290
- ldr r7, =gUnknown_085CBB82
+ ldr r7, =gText_TwoWildPkmnAppeared
b _0814E6D8
.pool
_0814E290:
movs r0, 0x80
lsls r0, 2
ands r2, r0
- ldr r7, =gUnknown_085CBB47
+ ldr r7, =gText_WildPkmnAppeared
cmp r2, 0
bne _0814E29E
b _0814E6D8
_0814E29E:
- ldr r7, =gUnknown_085CBB6D
+ ldr r7, =gText_WildPkmnAppearedPause
b _0814E6D8
.pool
_0814E2AC:
@@ -230,7 +230,7 @@ _0814E2AC:
ands r0, r1
cmp r0, 0
beq _0814E2DC
- ldr r7, =gUnknown_085CCE38
+ ldr r7, =gText_TrainerXYSentOutZGoN
b _0814E6D8
.pool
_0814E2DC:
@@ -239,22 +239,22 @@ _0814E2DC:
ands r0, r1
cmp r0, 0
beq _0814E2F0
- ldr r7, =gUnknown_085CBC96
+ ldr r7, =gText_GoTwoPkmn
b _0814E6D8
.pool
_0814E2F0:
movs r0, 0x40
ands r1, r0
- ldr r7, =gUnknown_085CBC96
+ ldr r7, =gText_GoTwoPkmn
cmp r1, 0
bne _0814E2FC
b _0814E6D8
_0814E2FC:
- ldr r7, =gUnknown_085CBCE5
+ ldr r7, =gText_EnemySentOutPkmnGoPkmn
b _0814E6D8
.pool
_0814E308:
- ldr r7, =gUnknown_085CBC8E
+ ldr r7, =gText_GoPkmn
b _0814E6D8
.pool
_0814E310:
@@ -275,7 +275,7 @@ _0814E310:
cmp r0, 0
beq _0814E33C
_0814E330:
- ldr r7, =gUnknown_085CCDDE
+ ldr r7, =gText_TwoTrainersSentPkmn
b _0814E6D8
.pool
_0814E33C:
@@ -283,18 +283,18 @@ _0814E33C:
ands r0, r1
cmp r0, 0
beq _0814E34C
- ldr r7, =gUnknown_085CBC4E
+ ldr r7, =gText_TwoTrainersSentOutPkmn
b _0814E6D8
.pool
_0814E34C:
ldr r0, =0x02000002
ands r1, r0
- ldr r7, =gUnknown_085CBBFA
+ ldr r7, =gText_TrainerXYSentOutTwoPkmn
cmp r1, 0
bne _0814E358
b _0814E6D8
_0814E358:
- ldr r7, =gUnknown_085CBC37
+ ldr r7, =gText_TrainerXSentOutTwoPkmn
b _0814E6D8
.pool
_0814E368:
@@ -306,12 +306,12 @@ _0814E368:
ldrh r1, [r0]
movs r0, 0xC0
lsls r0, 4
- ldr r7, =gUnknown_085CBC27
+ ldr r7, =gText_TrainerXSentOutPkmn
cmp r1, r0
beq _0814E380
b _0814E6D8
_0814E380:
- ldr r7, =gUnknown_085CBBE7
+ ldr r7, =gText_TrainerXYSentOutPkmn
b _0814E6D8
.pool
_0814E394:
@@ -327,7 +327,7 @@ _0814E394:
ldrb r2, [r0]
cmp r2, 0
bne _0814E3BC
- ldr r7, =gUnknown_085CBCFD
+ ldr r7, =gText_PkmnThatsEnough
b _0814E6D8
.pool
_0814E3BC:
@@ -340,16 +340,16 @@ _0814E3BC:
cmp r0, 0
beq _0814E3D8
_0814E3CC:
- ldr r7, =gUnknown_085CBD1B
+ ldr r7, =gText_PkmnComeBack
b _0814E6D8
.pool
_0814E3D8:
- ldr r7, =gUnknown_085CBD3D
+ ldr r7, =gText_PkmnGoodComeBack
cmp r2, 0x2
beq _0814E3E0
b _0814E6D8
_0814E3E0:
- ldr r7, =gUnknown_085CBD2A
+ ldr r7, =gText_PkmnOkComeBack
b _0814E6D8
.pool
_0814E3EC:
@@ -370,16 +370,16 @@ _0814E406:
ldr r0, [r2]
movs r1, 0x40
ands r0, r1
- ldr r7, =gUnknown_085CBD65
+ ldr r7, =gText_TrainerXWithdrewPkmn
cmp r0, 0
bne _0814E414
b _0814E6D8
_0814E414:
- ldr r7, =gUnknown_085CBD75
+ ldr r7, =gText_TrainerXWithdrewPkmn2
b _0814E6D8
.pool
_0814E428:
- ldr r7, =gUnknown_085CBD52
+ ldr r7, =gText_TrainerXYWithdrewPkmn
b _0814E6D8
.pool
_0814E430:
@@ -402,22 +402,22 @@ _0814E430:
cmp r0, 0
beq _0814E468
_0814E456:
- ldr r7, =gUnknown_085CBCA5
+ ldr r7, =gText_GoPkmn2
b _0814E6D8
.pool
_0814E468:
cmp r2, 0x1
bne _0814E474
- ldr r7, =gUnknown_085CBCAD
+ ldr r7, =gText_DoItPkmn
b _0814E6D8
.pool
_0814E474:
- ldr r7, =gUnknown_085CBCC7
+ ldr r7, =gText_YourFoesWeakGetEmPkmn
cmp r2, 0x2
beq _0814E47C
b _0814E6D8
_0814E47C:
- ldr r7, =gUnknown_085CBCB8
+ ldr r7, =gText_GoForItPkmn
b _0814E6D8
.pool
_0814E488:
@@ -440,7 +440,7 @@ _0814E4AC:
ands r1, r0
cmp r1, 0
beq _0814E4BC
- ldr r7, =gUnknown_085CBC7E
+ ldr r7, =gText_TrainerXSentOutPkmn3
b _0814E6D8
.pool
_0814E4BC:
@@ -448,12 +448,12 @@ _0814E4BC:
ldrh r1, [r0]
movs r0, 0xC0
lsls r0, 4
- ldr r7, =gUnknown_085CBC6E
+ ldr r7, =gText_TrainerXSentOutPkmn2
cmp r1, r0
beq _0814E4CC
b _0814E6D8
_0814E4CC:
- ldr r7, =gUnknown_085CBC14
+ ldr r7, =gText_TrainerXYSentOutPkmn2
b _0814E6D8
.pool
_0814E4DC:
@@ -465,7 +465,7 @@ _0814E4DC:
mov r1, r9
ldrb r0, [r1, 0x17]
_0814E4EA:
- ldr r7, =gUnknown_085CCE04
+ ldr r7, =gText_TrainerXYSentOutPkmn3
cmp r0, 0x1
beq _0814E4F2
b _0814E6D8
@@ -489,7 +489,7 @@ _0814E4F8:
ldrb r2, [r1]
lsls r1, r2, 4
adds r1, r2
- ldr r2, =gUnknown_085CCBBC
+ ldr r2, =gText_UnknownMoveTypes
adds r1, r2
bl StringCopy
b _0814E544
@@ -505,7 +505,7 @@ _0814E534:
_0814E544:
ldr r0, =gBattleTextBuff2
bl sub_814F950
- ldr r7, =gUnknown_085CBDAC
+ ldr r7, =gText_XUsedY2
b _0814E6D8
.pool
_0814E55C:
@@ -539,7 +539,7 @@ _0814E58A:
lsrs r0, 24
cmp r0, 0x1
bhi _0814E5A4
- ldr r7, =gUnknown_085CB4CA
+ ldr r7, =gText_GotAwaySafely
b _0814E6D8
.pool
_0814E5A4:
@@ -547,12 +547,12 @@ _0814E5A4:
ldr r0, [r0]
movs r1, 0x40
ands r0, r1
- ldr r7, =gUnknown_085CB5D2
+ ldr r7, =gText_WildFled
cmp r0, 0
bne _0814E5B4
b _0814E6D8
_0814E5B4:
- ldr r7, =gUnknown_085CB5DF
+ ldr r7, =gText_TwoWildFled
b _0814E6D8
.pool
_0814E5C4:
@@ -594,18 +594,18 @@ _0814E60E:
movs r0, 0x80
lsls r0, 16
ands r1, r0
- ldr r7, =gUnknown_085CB538
+ ldr r7, =gText_PlayerBeatTwo
cmp r1, 0
beq _0814E6D8
- ldr r7, =gUnknown_085CCE53
+ ldr r7, =gText_TwoEnemiesDefeated
b _0814E6D8
.pool
_0814E628:
- ldr r7, =gUnknown_085CB567
+ ldr r7, =gText_PlayerLostToTwo
b _0814E6D8
.pool
_0814E630:
- ldr r7, =gUnknown_085CB5A6
+ ldr r7, =gText_PlayerBattledToDrawVsTwo
b _0814E6D8
.pool
_0814E638:
@@ -630,15 +630,15 @@ _0814E660:
beq _0814E678
b _0814E6D8
_0814E666:
- ldr r7, =gUnknown_085CBA2E
+ ldr r7, =gText_PlayerDefeatedXY
b _0814E6D8
.pool
_0814E670:
- ldr r7, =gUnknown_085CD24C
+ ldr r7, =gText_PlayerLostAgainst2
b _0814E6D8
.pool
_0814E678:
- ldr r7, =gUnknown_085CD267
+ ldr r7, =gText_PlayerBattledToDraw2
b _0814E6D8
.pool
_0814E680:
@@ -657,15 +657,15 @@ _0814E698:
beq _0814E6B0
b _0814E6D8
_0814E69E:
- ldr r7, =gUnknown_085CB524
+ ldr r7, =gText_PlayerDefeated
b _0814E6D8
.pool
_0814E6A8:
- ldr r7, =gUnknown_085CB54F
+ ldr r7, =gText_PlayerLostAgainst
b _0814E6D8
.pool
_0814E6B0:
- ldr r7, =gUnknown_085CB581
+ ldr r7, =gText_PlayerBattledToDraw
b _0814E6D8
.pool
_0814E6B8:
@@ -679,7 +679,7 @@ _0814E6B8:
b _0814E6DE
.pool
_0814E6CC:
- ldr r1, =gUnknown_085CC270
+ ldr r1, =gBattleStringsTable
adds r0, r6, 0
subs r0, 0xC
lsls r0, 2
@@ -687,7 +687,7 @@ _0814E6CC:
ldr r7, [r0]
_0814E6D8:
adds r0, r7, 0
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
_0814E6DE:
pop {r3-r5}
mov r8, r3
@@ -699,15 +699,15 @@ _0814E6DE:
.pool
thumb_func_end BufferStringBattle
- thumb_func_start StrCpyDecodeToDisplayedStringBattle
-StrCpyDecodeToDisplayedStringBattle: @ 814E6F0
+ thumb_func_start BattleStringExpandPlaceholdersToDisplayedString
+BattleStringExpandPlaceholdersToDisplayedString: @ 814E6F0
push {lr}
ldr r1, =gDisplayedStringBattle
- bl StrCpyDecodeBattle
+ bl BattleStringExpandPlaceholders
pop {r1}
bx r1
.pool
- thumb_func_end StrCpyDecodeToDisplayedStringBattle
+ thumb_func_end BattleStringExpandPlaceholdersToDisplayedString
thumb_func_start AppendStatusString
AppendStatusString: @ 814E700
@@ -763,8 +763,8 @@ _0814E75A:
bx r1
thumb_func_end AppendStatusString
- thumb_func_start StrCpyDecodeBattle
-StrCpyDecodeBattle: @ 814E764
+ thumb_func_start BattleStringExpandPlaceholders
+ BattleStringExpandPlaceholders: @ 814E764
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -904,7 +904,7 @@ _0814E8EE:
adds r0, r1, 0
_0814E8F0:
adds r1, r4, 0
- bl StrCpyDecodeBattleTextBuff
+ bl ExpandBattleTextBuffPlaceholders
bl _0814F5C0
.pool
_0814E904:
@@ -924,7 +924,7 @@ _0814E920:
.pool
_0814E92C:
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -943,7 +943,7 @@ _0814E92C:
.pool
_0814E960:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -962,7 +962,7 @@ _0814E960:
.pool
_0814E994:
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -981,7 +981,7 @@ _0814E994:
.pool
_0814E9C8:
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -1104,10 +1104,10 @@ _0814EAF8:
ldr r1, [r0]
movs r0, 0x8
ands r1, r0
- ldr r4, =gUnknown_085CBD85
+ ldr r4, =gText_WildPkmnPrefix
cmp r1, 0
beq _0814EB36
- ldr r4, =gUnknown_085CBD8B
+ ldr r4, =gText_FoePkmnPrefix
b _0814EB36
.pool
_0814EB2C:
@@ -1126,7 +1126,7 @@ _0814EB36:
adds r1, r0, 0
movs r0, 0x1
ands r0, r1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -1147,7 +1147,7 @@ _0814EB74:
adds r1, r0, 0
movs r0, 0x1
ands r0, r1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -1177,7 +1177,7 @@ _0814EBB0:
adds r1, r0, 0
movs r0, 0x1
ands r0, r1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -1199,7 +1199,7 @@ _0814EBF8:
adds r1, r0, 0
movs r0, 0x1
ands r0, r1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBattlePartyID
lsls r0, 24
lsrs r0, 23
@@ -1229,10 +1229,10 @@ _0814EC38:
ldr r1, [r0]
movs r0, 0x8
ands r1, r0
- ldr r4, =gUnknown_085CBD85
+ ldr r4, =gText_WildPkmnPrefix
cmp r1, 0
beq _0814EC56
- ldr r4, =gUnknown_085CBD8B
+ ldr r4, =gText_FoePkmnPrefix
_0814EC56:
ldrb r1, [r4]
adds r0, r1, 0
@@ -1294,10 +1294,10 @@ _0814ECD4:
ldr r1, [r0]
movs r0, 0x8
ands r1, r0
- ldr r4, =gUnknown_085CBD85
+ ldr r4, =gText_WildPkmnPrefix
cmp r1, 0
beq _0814ECF2
- ldr r4, =gUnknown_085CBD8B
+ ldr r4, =gText_FoePkmnPrefix
_0814ECF2:
ldrb r1, [r4]
adds r0, r1, 0
@@ -1349,7 +1349,7 @@ _0814ED5E:
bl _0814F5BE
.pool
_0814ED70:
- ldr r5, =gUnknown_0202420E
+ ldr r5, =gEffectBank
ldrb r0, [r5]
bl GetBankSide
lsls r0, 24
@@ -1359,10 +1359,10 @@ _0814ED70:
ldr r1, [r0]
movs r0, 0x8
ands r1, r0
- ldr r4, =gUnknown_085CBD85
+ ldr r4, =gText_WildPkmnPrefix
cmp r1, 0
beq _0814ED8E
- ldr r4, =gUnknown_085CBD8B
+ ldr r4, =gText_FoePkmnPrefix
_0814ED8E:
ldrb r1, [r4]
adds r0, r1, 0
@@ -1424,10 +1424,10 @@ _0814EE0C:
ldr r1, [r0]
movs r0, 0x8
ands r1, r0
- ldr r4, =gUnknown_085CBD85
+ ldr r4, =gText_WildPkmnPrefix
cmp r1, 0
beq _0814EE2A
- ldr r4, =gUnknown_085CBD8B
+ ldr r4, =gText_FoePkmnPrefix
_0814EE2A:
ldrb r1, [r4]
adds r0, r1, 0
@@ -1489,10 +1489,10 @@ _0814EEA8:
ldr r1, [r0]
movs r0, 0x8
ands r1, r0
- ldr r4, =gUnknown_085CBD85
+ ldr r4, =gText_WildPkmnPrefix
cmp r1, 0
beq _0814EEC6
- ldr r4, =gUnknown_085CBD8B
+ ldr r4, =gText_FoePkmnPrefix
_0814EEC6:
ldrb r1, [r4]
adds r0, r1, 0
@@ -1569,7 +1569,7 @@ _0814EF6A:
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
- ldr r1, =gUnknown_085CCBBC
+ ldr r1, =gText_UnknownMoveTypes
adds r4, r0, r1
b _0814F5C0
.pool
@@ -1626,7 +1626,7 @@ _0814EFEC:
adds r1, r0
mov r0, sp
bl StringCopy
- ldr r1, =gUnknown_085CC0AD
+ ldr r1, =gText_BerrySuffix
mov r0, sp
bl StringAppend
b _0814F5BE
@@ -1652,13 +1652,13 @@ _0814F014:
adds r1, r0
mov r0, sp
bl StringCopy
- ldr r1, =gUnknown_085CC0AD
+ ldr r1, =gText_BerrySuffix
mov r0, sp
bl StringAppend
b _0814F5BE
.pool
_0814F05C:
- ldr r4, =gUnknown_085CC0A0
+ ldr r4, =gText_EnigmaBerry
b _0814F5C0
.pool
_0814F064:
@@ -1695,7 +1695,7 @@ _0814F0A8:
.pool
_0814F0B8:
ldr r1, =gAbilitiesPerBank
- ldr r0, =gUnknown_0202420E
+ ldr r0, =gEffectBank
_0814F0BC:
ldrb r0, [r0]
_0814F0BE:
@@ -1996,10 +1996,10 @@ _0814F330:
ldr r1, [r0]
movs r0, 0x8
ands r1, r0
- ldr r4, =gUnknown_085CBD85
+ ldr r4, =gText_WildPkmnPrefix
cmp r1, 0
beq _0814F34E
- ldr r4, =gUnknown_085CBD8B
+ ldr r4, =gText_FoePkmnPrefix
_0814F34E:
ldrb r1, [r4]
adds r0, r1, 0
@@ -2051,12 +2051,12 @@ _0814F3C4:
ldr r0, =0x000008ab
bl FlagGet
lsls r0, 24
- ldr r4, =gUnknown_085CC015
+ ldr r4, =gText_Someones
cmp r0, 0
bne _0814F3D4
b _0814F5C0
_0814F3D4:
- ldr r4, =gUnknown_085CC01F
+ ldr r4, =gText_Lanettes
b _0814F5C0
.pool
_0814F3E4:
@@ -2069,12 +2069,12 @@ _0814F3EE:
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
- ldr r4, =gUnknown_085CBD9A
+ ldr r4, =gText_FoePkmnPrefix3
cmp r0, 0
beq _0814F3FE
b _0814F5C0
_0814F3FE:
- ldr r4, =gUnknown_085CBD9E
+ ldr r4, =gText_AllyPkmnPrefix2
b _0814F5C0
.pool
_0814F410:
@@ -2087,12 +2087,12 @@ _0814F41A:
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
- ldr r4, =gUnknown_085CBD91
+ ldr r4, =gText_FoePkmnPrefix2
cmp r0, 0
beq _0814F42A
b _0814F5C0
_0814F42A:
- ldr r4, =gUnknown_085CBD95
+ ldr r4, =gText_AllyPkmnPrefix
b _0814F5C0
.pool
_0814F43C:
@@ -2105,12 +2105,12 @@ _0814F446:
ldrb r0, [r0]
bl GetBankSide
lsls r0, 24
- ldr r4, =gUnknown_085CBDA3
+ ldr r4, =gText_FoePkmnPrefix4
cmp r0, 0
beq _0814F456
b _0814F5C0
_0814F456:
- ldr r4, =gUnknown_085CBDA7
+ ldr r4, =gText_AllyPkmnPrefix3
b _0814F5C0
.pool
_0814F468:
@@ -2335,10 +2335,10 @@ _0814F62A:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end StrCpyDecodeBattle
+ thumb_func_end BattleStringExpandPlaceholders
- thumb_func_start StrCpyDecodeBattleTextBuff
-StrCpyDecodeBattleTextBuff: @ 814F648
+ thumb_func_start ExpandBattleTextBuffPlaceholders
+ExpandBattleTextBuffPlaceholders: @ 814F648
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -2387,7 +2387,7 @@ _0814F6AC:
ldrb r0, [r0, 0x2]
lsls r0, 8
orrs r1, r0
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
subs r1, 0xC
lsls r1, 2
adds r1, r0
@@ -2485,13 +2485,13 @@ _0814F768:
ands r0, r1
cmp r0, 0
beq _0814F788
- ldr r1, =gUnknown_085CBD8B
+ ldr r1, =gText_FoePkmnPrefix
adds r0, r6, 0
bl StringAppend
b _0814F790
.pool
_0814F788:
- ldr r1, =gUnknown_085CBD85
+ ldr r1, =gText_WildPkmnPrefix
adds r0, r6, 0
bl StringAppend
_0814F790:
@@ -2562,7 +2562,7 @@ _0814F81A:
b _0814F8DE
.pool
_0814F828:
- ldr r1, =gUnknown_085CBE6C
+ ldr r1, =gPokeblockWasTooXStringTable
adds r0, r5, r7
ldrb r0, [r0, 0x1]
lsls r0, 2
@@ -2618,11 +2618,11 @@ _0814F858:
adds r1, r0
adds r0, r6, 0
bl StringCopy
- ldr r1, =gUnknown_085CC0AD
+ ldr r1, =gText_BerrySuffix
b _0814F8BE
.pool
_0814F8BC:
- ldr r1, =gUnknown_085CC0A0
+ ldr r1, =gText_EnigmaBerry
_0814F8BE:
adds r0, r6, 0
bl StringAppend
@@ -2652,7 +2652,7 @@ _0814F8EA:
pop {r4-r7}
pop {r0}
bx r0
- thumb_func_end StrCpyDecodeBattleTextBuff
+ thumb_func_end ExpandBattleTextBuffPlaceholders
thumb_func_start sub_814F8F8
sub_814F8F8: @ 814F8F8
@@ -2679,7 +2679,7 @@ _0814F918:
blt _0814F944
cmp r2, 0x2
bgt _0814F938
- ldr r1, =gUnknown_085CCBB5
+ ldr r1, =gText_SpaceIs
adds r0, r4, 0
bl StringCopy
b _0814F944
@@ -2687,7 +2687,7 @@ _0814F918:
_0814F938:
cmp r2, 0x4
bgt _0814F944
- ldr r1, =gUnknown_085CCBB9
+ ldr r1, =gText_ApostropheS
adds r0, r4, 0
bl StringCopy
_0814F944:
@@ -2744,26 +2744,26 @@ _0814F99C:
.4byte _0814F9C8
.4byte _0814F9D8
_0814F9B0:
- ldr r1, =gUnknown_085CBDB7
+ ldr r1, =gText_ExclamationMark
b _0814F9CA
.pool
_0814F9B8:
- ldr r1, =gUnknown_085CBDB9
+ ldr r1, =gText_ExclamationMark2
b _0814F9CA
.pool
_0814F9C0:
- ldr r1, =gUnknown_085CBDBB
+ ldr r1, =gText_ExclamationMark3
b _0814F9CA
.pool
_0814F9C8:
- ldr r1, =gUnknown_085CBDBD
+ ldr r1, =gText_ExclamationMark4
_0814F9CA:
adds r0, r3, 0
bl StringCopy
b _0814F9E0
.pool
_0814F9D8:
- ldr r1, =gUnknown_085CBDBF
+ ldr r1, =gText_ExclamationMark5
adds r0, r3, 0
bl StringCopy
_0814F9E0:
@@ -2773,8 +2773,8 @@ _0814F9E0:
.pool
thumb_func_end sub_814F950
- thumb_func_start battle_show_message_maybe
-battle_show_message_maybe: @ 814F9EC
+ thumb_func_start sub_814F9EC
+sub_814F9EC: @ 814F9EC
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -2987,7 +2987,7 @@ _0814FB9C:
pop {r4-r7}
pop {r0}
bx r0
- thumb_func_end battle_show_message_maybe
+ thumb_func_end sub_814F9EC
thumb_func_start sub_814FBAC
sub_814FBAC: @ 814FBAC
diff --git a/asm/battle_records.s b/asm/battle_records.s
index 2c7b1d830..c961aefe3 100644
--- a/asm/battle_records.s
+++ b/asm/battle_records.s
@@ -488,7 +488,7 @@ sub_813C2F4: @ 813C2F4
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EF6A1
+ ldr r1, =gText_TotalRecordWLD
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0x1
@@ -672,7 +672,7 @@ sub_813C4BC: @ 813C4BC
movs r1, 0x11
bl FillWindowPixelBuffer
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EF68D
+ ldr r1, =gText_PlayersBattleResults
adds r0, r5, 0
bl StringExpandPlaceholders
movs r0, 0x1
@@ -697,7 +697,7 @@ sub_813C4BC: @ 813C4BC
mov r9, r1
add r0, r9
bl sub_813C2F4
- ldr r1, =gUnknown_085EF6BD
+ ldr r1, =gText_WinLoseDraw
adds r0, r5, 0
bl StringExpandPlaceholders
ldrb r0, [r6]
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
index 608d7843c..c2c762e96 100644
--- a/asm/battle_setup.s
+++ b/asm/battle_setup.s
@@ -585,7 +585,7 @@ sub_80B0AF8: @ 80B0AF8
_080B0B4C:
ldr r0, =c2_exit_to_overworld_2_switch
bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF6F0
str r0, [r1]
_080B0B58:
@@ -704,7 +704,7 @@ _080B0C64:
lsls r0, r5, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8089588
+ bl MetatileBehavior_IsMB_0B
lsls r0, 24
cmp r0, 0
beq _080B0C78
@@ -734,7 +734,7 @@ _080B0C9C:
lsls r0, r5, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_808962C
+ bl MetatileBehavior_IsDeepOrOceanWater
lsls r0, 24
cmp r0, 0
bne _080B0CF2
@@ -744,7 +744,7 @@ _080B0C9C:
cmp r0, 0
bne _080B0CE0
adds r0, r4, 0
- bl sub_808959C
+ bl MetatileBehavior_IsMountain
lsls r0, 24
cmp r0, 0
beq _080B0CC8
@@ -757,7 +757,7 @@ _080B0CC8:
cmp r0, 0
beq _080B0CF6
adds r0, r4, 0
- bl sub_80894D4
+ bl MetatileBehavior_GetBridgeSth
lsls r0, 24
cmp r0, 0
beq _080B0CE4
@@ -766,7 +766,7 @@ _080B0CE0:
b _080B0D1A
_080B0CE4:
adds r0, r4, 0
- bl sub_80894AC
+ bl MetatileBehavior_IsBridge
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/battle_transition.s b/asm/battle_transition.s
index 9709fb54f..6406a3f24 100644
--- a/asm/battle_transition.s
+++ b/asm/battle_transition.s
@@ -2151,7 +2151,7 @@ sub_8147018: @ 8147018
ands r5, r0
movs r1, 0
mov r8, r4
- ldr r6, =gUnknown_02038C08
+ ldr r6, =gFieldEffectSpawnParams
_08147046:
lsls r5, 16
asrs r5, 16
@@ -2221,7 +2221,7 @@ _081470C4:
sub_81470D0: @ 81470D0
push {r4,r5,lr}
ldr r0, =gUnknown_085C8E68
- ldr r5, =gUnknown_02038C08
+ ldr r5, =gFieldEffectSpawnParams
movs r2, 0
ldrsh r1, [r5, r2]
movs r3, 0x4
diff --git a/asm/berry_blender.s b/asm/berry_blender.s
index 73ff40796..0599fa153 100644
--- a/asm/berry_blender.s
+++ b/asm/berry_blender.s
@@ -5627,7 +5627,7 @@ _080827AA:
ldr r0, [r6]
ldr r1, =0x000011b8
adds r0, r1
- ldr r1, =gUnknown_085EE42D
+ ldr r1, =gText_SavingDontTurnOff2
movs r2, 0
bl sub_808417C
bl sub_800ADF8
@@ -8350,7 +8350,7 @@ ShowBerryBlenderRecordWindow: @ 8083E24
ldrb r0, [r5]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r6, =gUnknown_085EE44F
+ ldr r6, =gText_BlenderMaxSpeedRecord
movs r0, 0x1
adds r1, r6, 0
movs r2, 0x90
@@ -8367,7 +8367,7 @@ ShowBerryBlenderRecordWindow: @ 8083E24
adds r2, r6, 0
bl PrintTextOnWindow
ldrb r0, [r5]
- ldr r2, =gUnknown_085EE473
+ ldr r2, =gText_234Players
movs r1, 0x29
str r1, [sp]
str r4, [sp, 0x4]
diff --git a/asm/berry_fix_program.s b/asm/berry_fix_program.s
index 19ed0babd..2428f2984 100755
--- a/asm/berry_fix_program.s
+++ b/asm/berry_fix_program.s
@@ -5,588 +5,4 @@
.text
- thumb_func_start sub_81BF384
-sub_81BF384: @ 81BF384
- push {r4,lr}
- ldr r0, =0x0000ffff
- bl DisableInterrupts
- movs r0, 0x1
- bl EnableInterrupts
- bl m4aSoundVSyncOff
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl ResetTasks
- bl remove_some_task
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r4, =gUnknown_030012B8
- movs r0, 0x50
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0
- strb r1, [r0]
- ldr r1, [r4]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r0, =sub_81BF3DC
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BF384
-
- thumb_func_start sub_81BF3DC
-sub_81BF3DC: @ 81BF3DC
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_030012B8
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x7
- bls _081BF3EE
- b _081BF592
-_081BF3EE:
- lsls r0, 2
- ldr r1, =_081BF400
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BF400:
- .4byte _081BF420
- .4byte _081BF430
- .4byte _081BF45C
- .4byte _081BF488
- .4byte _081BF4BC
- .4byte _081BF514
- .4byte _081BF552
- .4byte _081BF574
-_081BF420:
- bl sub_81BF5A4
- ldr r0, =gUnknown_030012B8
- ldr r1, [r0]
- movs r0, 0x1
- b _081BF590
- .pool
-_081BF430:
- movs r0, 0x5
- bl sub_81BF7A4
- cmp r0, 0x5
- beq _081BF43C
- b _081BF592
-_081BF43C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081BF44A
- b _081BF592
-_081BF44A:
- ldr r0, =gUnknown_030012B8
- ldr r1, [r0]
- movs r0, 0x2
- b _081BF590
- .pool
-_081BF45C:
- movs r0, 0
- bl sub_81BF7A4
- cmp r0, 0
- beq _081BF468
- b _081BF592
-_081BF468:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081BF476
- b _081BF592
-_081BF476:
- ldr r0, =gUnknown_030012B8
- ldr r1, [r0]
- movs r0, 0x3
- b _081BF590
- .pool
-_081BF488:
- movs r0, 0x1
- bl sub_81BF7A4
- cmp r0, 0x1
- beq _081BF494
- b _081BF592
-_081BF494:
- ldr r4, =gUnknown_030012B8
- ldr r0, [r4]
- ldr r1, =gUnknown_089A6550
- str r1, [r0, 0x2C]
- adds r0, 0x4F
- movs r5, 0
- strb r5, [r0]
- ldr r0, [r4]
- adds r0, 0x4
- bl MultiBootInit
- ldr r1, [r4]
- strh r5, [r1, 0x2]
- movs r0, 0x4
- b _081BF590
- .pool
-_081BF4BC:
- adds r4, r5, 0
- ldr r0, [r4]
- adds r0, 0x4
- bl MultiBootMain
- ldr r4, [r4]
- ldrb r0, [r4, 0x1C]
- cmp r0, 0
- bne _081BF4D8
- ldr r0, [r4, 0x20]
- ldr r1, =0x00020200
- ands r0, r1
- cmp r0, r1
- beq _081BF4E4
-_081BF4D8:
- movs r0, 0
- strh r0, [r4, 0x2]
- b _081BF592
- .pool
-_081BF4E4:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB4
- bls _081BF592
- adds r0, r4, 0x4
- ldr r1, =gMultiBootProgram_BerryGlitchFix_Start
- ldr r2, =gMultiBootProgram_BerryGlitchFix_End
- subs r2, r1
- movs r3, 0x1
- str r3, [sp]
- movs r3, 0x4
- bl MultiBootStartMaster
- ldr r1, [r5]
- movs r0, 0x5
- b _081BF590
- .pool
-_081BF514:
- movs r0, 0x2
- bl sub_81BF7A4
- adds r4, r0, 0
- cmp r4, 0x2
- bne _081BF592
- ldr r5, =gUnknown_030012B8
- ldr r0, [r5]
- adds r0, 0x4
- bl MultiBootMain
- ldr r0, [r5]
- adds r0, 0x4
- bl MultiBootCheckComplete
- cmp r0, 0
- beq _081BF540
- ldr r1, [r5]
- movs r0, 0x6
- b _081BF590
- .pool
-_081BF540:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- ands r4, r0
- cmp r4, 0
- bne _081BF592
- movs r0, 0x7
- b _081BF590
-_081BF552:
- movs r0, 0x3
- bl sub_81BF7A4
- cmp r0, 0x3
- bne _081BF592
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081BF592
- bl DoSoftReset
- b _081BF592
- .pool
-_081BF574:
- movs r0, 0x4
- bl sub_81BF7A4
- cmp r0, 0x4
- bne _081BF592
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081BF592
- ldr r0, =gUnknown_030012B8
- ldr r1, [r0]
- movs r0, 0x1
-_081BF590:
- strb r0, [r1]
-_081BF592:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BF3DC
-
- thumb_func_start sub_81BF5A4
-sub_81BF5A4: @ 81BF5A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- 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, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r1, 0
- str r1, [sp, 0xC]
- ldr r4, =0x040000d4
- add r0, sp, 0xC
- str r0, [r4]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r4, 0x4]
- ldr r0, =0x85006000
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- str r0, [r4]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r4, 0x4]
- ldr r2, =0x85000100
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- str r0, [r4]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08618108
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gUnknown_08618110
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r0, =gUnknown_08618138
- str r0, [r4]
- ldr r0, =0x050001e0
- str r0, [r4, 0x4]
- ldr r0, =0x84000008
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0
- movs r1, 0x40
- bl SetGpuReg
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_08617E9B
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r4, 0x78
- subs r0, r4, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r6, =gUnknown_0861815B
- str r6, [sp]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r3, 0x3
- bl box_print
- ldr r5, =gUnknown_08617E8D
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- adds r1, r0, 0
- subs r4, r1
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- adds r0, r4, 0
- adds r0, 0x78
- lsls r2, r0, 24
- lsrs r2, 24
- str r6, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r3, 0x3
- bl box_print
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0x70
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r2, r0, 24
- lsrs r2, 24
- str r6, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r3, 0
- bl box_print
- ldr r4, =gUnknown_08617E78
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xD0
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r2, r0, 24
- lsrs r2, 24
- ldr r0, =gUnknown_08618158
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x2
- bl box_print
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BF5A4
-
- thumb_func_start sub_81BF7A4
-sub_81BF7A4: @ 81BF7A4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_030012B8
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- cmp r0, r4
- bne _081BF7BC
- adds r0, r4, 0
- b _081BF7DC
- .pool
-_081BF7BC:
- cmp r0, 0x6
- bne _081BF7CC
- adds r0, r4, 0
- bl sub_81BF7E8
- ldr r0, [r5]
- strb r4, [r0, 0x1]
- b _081BF7D6
-_081BF7CC:
- bl sub_81BF8D8
- ldr r1, [r5]
- movs r0, 0x6
- strb r0, [r1, 0x1]
-_081BF7D6:
- ldr r0, =gUnknown_030012B8
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
-_081BF7DC:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81BF7A4
-
- thumb_func_start sub_81BF7E8
-sub_81BF7E8: @ 81BF7E8
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- 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, 0xAA
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_08618158
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_08618160
- lsls r4, r6, 2
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl box_print
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- cmp r6, 0x5
- bhi _081BF87E
- ldr r0, =_081BF850
- adds r0, r4, r0
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BF850:
- .4byte _081BF868
- .4byte _081BF870
- .4byte _081BF868
- .4byte _081BF868
- .4byte _081BF868
- .4byte _081BF878
-_081BF868:
- movs r0, 0x2
- bl PutWindowTilemap
- b _081BF87E
-_081BF870:
- movs r0, 0x3
- bl PutWindowTilemap
- b _081BF87E
-_081BF878:
- movs r0, 0
- bl PutWindowTilemap
-_081BF87E:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r5, =gUnknown_08618178
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 2
- adds r0, r4, r5
- ldr r0, [r0]
- ldr r1, =0x06004000
- 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
- ldr r2, =0x04000040
- bl CpuSet
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BF7E8
-
- thumb_func_start sub_81BF8D8
-sub_81BF8D8: @ 81BF8D8
- push {lr}
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl HideBg
- pop {r0}
- bx r0
- thumb_func_end sub_81BF8D8
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s
index b21a249bd..9622f0508 100644
--- a/asm/berry_tag_screen.s
+++ b/asm/berry_tag_screen.s
@@ -511,7 +511,7 @@ sub_8178090: @ 8178090
movs r0, 0x3
movs r1, 0xFF
bl FillWindowPixelBuffer
- ldr r4, =gUnknown_085E926B
+ ldr r4, =gText_BerryTag
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x40
@@ -573,7 +573,7 @@ sub_8178110: @ 8178110
adds r1, r6, 0
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9263
+ ldr r1, =gText_UnkF908Var1Var2
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -602,7 +602,7 @@ sub_8178174: @ 8178174
ldrb r0, [r0]
bl GetBerryInfo
adds r4, r0, 0
- ldr r2, =gUnknown_085E9225
+ ldr r2, =gText_SizeSlash
movs r7, 0x1
str r7, [sp]
movs r0, 0xFF
@@ -652,7 +652,7 @@ _081781C8:
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9233
+ ldr r1, =gText_Var1DotVar2
adds r0, r4, 0
bl StringExpandPlaceholders
str r7, [sp]
@@ -694,7 +694,7 @@ itemid_copy_name: @ 8178250
ldrb r0, [r0]
bl GetBerryInfo
adds r6, r0, 0
- ldr r2, =gUnknown_085E922C
+ ldr r2, =gText_FirmSlash
movs r5, 0x11
str r5, [sp]
movs r0, 0xFF
diff --git a/asm/bike.s b/asm/bike.s
index 22d52c0fa..7ea4a4598 100644
--- a/asm/bike.s
+++ b/asm/bike.s
@@ -15,7 +15,7 @@ MovePlayerOnBike: @ 8119164
lsrs r4, r1, 16
lsls r2, 16
lsrs r2, 16
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x2
ands r0, r1
@@ -72,7 +72,7 @@ CheckMovementInputMachBike: @ 81191CC
cmp r1, 0
bne _081191F4
strb r0, [r4]
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r0, [r2, 0xB]
cmp r0, 0
bne _08119208
@@ -81,7 +81,7 @@ CheckMovementInputMachBike: @ 81191CC
b _0811921C
.pool
_081191F4:
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
cmp r1, r3
beq _08119218
ldrb r0, [r2, 0x2]
@@ -126,7 +126,7 @@ sub_8119238: @ 8119238
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -161,7 +161,7 @@ sub_8119280: @ 8119280
lsls r0, 24
lsrs r5, r0, 24
adds r7, r5, 0
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r1, [r6, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -255,7 +255,7 @@ sub_8119344: @ 8119344
lsls r0, 24
lsrs r5, r0, 24
adds r7, r5, 0
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r0, [r6, 0xB]
cmp r0, 0
beq _0811935A
@@ -352,7 +352,7 @@ CheckMovementInputAcroBike: @ 8119400
lsls r2, 16
lsrs r2, 16
ldr r4, =gUnknown_0859749C
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r3, [r3, 0x8]
lsls r3, 2
adds r3, r4
@@ -377,7 +377,7 @@ CheckMovementInputAcroBikeNormal: @ 811942C
bl player_get_direction_upper_nybble
lsls r0, 24
lsrs r3, r0, 24
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
movs r0, 0
strb r0, [r2, 0xA]
ldrb r1, [r4]
@@ -417,11 +417,11 @@ _0811946C:
b _081194C0
_0811948A:
ldrb r0, [r4]
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
cmp r0, r3
beq _081194BC
_08119492:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x2]
adds r2, r0, 0
cmp r1, 0x2
@@ -453,7 +453,7 @@ _081194C0:
CheckMovementInputAcroBikeChangingDirection: @ 81194C8
push {r4-r6,lr}
adds r5, r0, 0
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r0, [r4, 0x9]
strb r0, [r5]
ldrb r0, [r4, 0xA]
@@ -520,7 +520,7 @@ CheckMovementInputAcroBikeStandingWheelie: @ 8119540
bl player_get_direction_upper_nybble
lsls r0, 24
lsrs r6, r0, 24
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r1, [r5, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -553,7 +553,7 @@ _08119594:
adds r0, 0x1
strb r0, [r5, 0xA]
_0811959A:
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r0, [r1, 0xA]
cmp r0, 0x27
bls _081195B4
@@ -608,7 +608,7 @@ CheckMovementInputAcroBikeBunnyHop: @ 81195E0
lsls r0, 24
lsrs r5, r0, 24
adds r2, r5, 0
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -661,7 +661,7 @@ _08119668:
movs r0, 0x6
b _08119676
_0811966E:
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x2
strb r0, [r1, 0x2]
movs r0, 0x7
@@ -693,7 +693,7 @@ CheckMovementInputAcroBikeMovingWheelie: @ 8119688
lsls r0, 24
lsrs r5, r0, 24
adds r2, r5, 0
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -732,7 +732,7 @@ _081196F6:
movs r0, 0x4
b _08119750
_081196FC:
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x2
strb r0, [r1, 0x2]
movs r0, 0xC
@@ -770,7 +770,7 @@ _08119736:
movs r0, 0x5
b _08119750
_08119748:
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x2
strb r0, [r1, 0x2]
movs r0, 0xA
@@ -797,7 +797,7 @@ CheckMovementInputAcroBikeUnknownMode5: @ 8119764
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r1, [r6, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -836,7 +836,7 @@ CheckMovementInputAcroBikeUnknownMode6: @ 81197C0
lsrs r1, 16
lsls r2, 16
lsrs r2, 16
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
movs r3, 0
strb r3, [r4, 0x8]
bl CheckMovementInputAcroBike
@@ -863,7 +863,7 @@ sub_81197F4: @ 81197F4
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -893,7 +893,7 @@ sub_8119830: @ 8119830
lsls r0, 24
lsrs r5, r0, 24
adds r6, r5, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -961,7 +961,7 @@ sub_81198C0: @ 81198C0
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -990,7 +990,7 @@ sub_81198FC: @ 81198FC
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1019,7 +1019,7 @@ sub_8119938: @ 8119938
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1048,7 +1048,7 @@ sub_8119974: @ 8119974
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1077,7 +1077,7 @@ sub_81199B0: @ 81199B0
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1156,7 +1156,7 @@ _08119A50:
bl sub_81197F4
b _08119A84
_08119A58:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -1198,7 +1198,7 @@ sub_8119AA4: @ 8119AA4
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
- ldr r7, =gUnknown_02037590
+ ldr r7, =gPlayerAvatar
ldrb r1, [r7, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1267,7 +1267,7 @@ sub_8119B34: @ 8119B34
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
- ldr r7, =gUnknown_02037590
+ ldr r7, =gPlayerAvatar
ldrb r1, [r7, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1336,7 +1336,7 @@ sub_8119BC4: @ 8119BC4
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1396,7 +1396,7 @@ sub_8119C3C: @ 8119C3C
lsrs r3, r0, 16
lsls r1, 16
lsrs r2, r1, 16
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x4
ands r0, r1
@@ -1421,7 +1421,7 @@ sub_8119C64: @ 8119C64
bl sub_8119DF8
lsls r0, 24
lsrs r2, r0, 24
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldr r0, [r4, 0xC]
movs r1, 0xF
ands r0, r1
@@ -1443,7 +1443,7 @@ _08119C9A:
movs r0, 0xF
adds r2, r5, 0
ands r2, r0
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldr r0, [r4, 0x10]
movs r1, 0xF
ands r0, r1
@@ -1532,7 +1532,7 @@ sub_8119D30: @ 8119D30
_08119D36:
ldr r0, =gUnknown_085974C0
adds r4, r5, r0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldr r1, [r0, 0xC]
ldr r2, [r0, 0x10]
ldr r0, [r4, 0x8]
@@ -1570,7 +1570,7 @@ _08119D7A:
sub_8119D80: @ 8119D80
push {r4,lr}
lsls r0, 24
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldr r2, [r3, 0xC]
lsls r2, 4
movs r1, 0xF0
@@ -1604,7 +1604,7 @@ _08119D9C:
sub_8119DBC: @ 8119DBC
push {r4,lr}
lsls r0, 24
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldr r2, [r3, 0x10]
lsls r2, 4
movs r1, 0xF0
@@ -1681,7 +1681,7 @@ sub_8119E38: @ 8119E38
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -1922,7 +1922,7 @@ _08119FF2:
sub_8119FF8: @ 8119FF8
push {r4,lr}
sub sp, 0x4
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x18
ands r0, r1
@@ -1966,7 +1966,7 @@ player_should_look_direction_be_enforced_upon_movement: @ 811A044
cmp r0, 0
beq _0811A078
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1996,7 +1996,7 @@ GetOnOffBike: @ 811A080
ldr r1, =gUnknown_02037348
movs r0, 0
strb r0, [r1]
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x6
ands r0, r1
@@ -2026,7 +2026,7 @@ _0811A0C4:
thumb_func_start sub_811A0D0
sub_811A0D0: @ 811A0D0
push {lr}
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
movs r3, 0
strb r3, [r2, 0x8]
strb r3, [r2, 0x9]
@@ -2064,7 +2064,7 @@ _0811A0FA:
sub_811A114: @ 811A114
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
strb r0, [r2, 0xA]
lsrs r1, r0, 1
adds r0, r1
@@ -2075,7 +2075,7 @@ sub_811A114: @ 811A114
thumb_func_start sub_811A128
sub_811A128: @ 811A128
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0xA]
strb r0, [r1, 0xB]
@@ -2091,7 +2091,7 @@ sub_811A138: @ 811A138
mov r0, sp
movs r2, 0x6
bl memcpy
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2]
movs r0, 0x2
ands r0, r1
@@ -2130,7 +2130,7 @@ _0811A182:
sub_811A188: @ 811A188
push {r4,r5,lr}
sub sp, 0x4
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r1, [r5]
movs r0, 0x4
ands r0, r1
diff --git a/asm/braille_puzzles.s b/asm/braille_puzzles.s
index ceaddbdf0..095b1b793 100644
--- a/asm/braille_puzzles.s
+++ b/asm/braille_puzzles.s
@@ -271,7 +271,7 @@ _0817982E:
sub_8179834: @ 8179834
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -367,7 +367,7 @@ _08179912:
sub_8179918: @ 8179918
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
diff --git a/asm/cable_car.s b/asm/cable_car.s
index 9307c54ff..092e9a75e 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -242,7 +242,7 @@ _0814FE96:
bls _0814FE96
ldr r0, =gUnknown_085CDB74
bl LoadSpritePalettes
- ldr r0, =gUnknown_085CD67C
+ ldr r0, =gCableCarMtChimneyTilemap
adds r1, r5, 0
bl malloc_and_decompress
ldr r4, =gUnknown_0203ABAC
@@ -250,7 +250,7 @@ _0814FE96:
ldr r2, =0x000040fc
adds r1, r2
str r0, [r1]
- ldr r0, =gUnknown_085CD7D4
+ ldr r0, =gCableCarTreeTilemap
adds r1, r5, 0
bl malloc_and_decompress
ldr r1, [r4]
@@ -258,14 +258,14 @@ _0814FE96:
lsls r3, 7
adds r1, r3
str r0, [r1]
- ldr r0, =gUnknown_085CD958
+ ldr r0, =gCableCarMountainTilemap
adds r1, r5, 0
bl malloc_and_decompress
ldr r1, [r4]
ldr r2, =0x00004104
adds r1, r2
str r0, [r1]
- ldr r0, =gUnknown_085CDB30
+ ldr r0, =gCableCarPylonStemTilemap
adds r1, r5, 0
bl malloc_and_decompress
ldr r1, [r4]
@@ -274,7 +274,7 @@ _0814FE96:
str r0, [r2]
ldr r0, =0x00004108
adds r1, r0
- ldr r0, =gUnknown_085CDB1C
+ ldr r0, =gCableCarPylonHookTilemapEntries
str r0, [r1]
ldr r1, =gUnknown_08DBA5B8
movs r0, 0
@@ -775,7 +775,7 @@ _08150340:
str r3, [r2, 0x8]
ldr r0, [r2, 0x8]
bl warp_in
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
str r4, [r0]
ldr r0, =c2_load_new_map
bl SetMainCallback2
@@ -1908,7 +1908,7 @@ sub_8150D28: @ 8150D28
mov r5, r8
push {r5-r7}
sub sp, 0x28
- ldr r1, =gUnknown_085CDBE4
+ ldr r1, =gCableCarPlayerGraphicsIDs
add r0, sp, 0xC
movs r2, 0x2
bl memcpy
@@ -1917,17 +1917,17 @@ sub_8150D28: @ 8150D28
lsrs r0, 16
mov r9, r0
add r6, sp, 0x10
- ldr r1, =gUnknown_085CDBE6
+ ldr r1, =gMtChimneyHikerGraphicsIDs
adds r0, r6, 0
movs r2, 0x4
bl memcpy
add r5, sp, 0x14
- ldr r1, =gUnknown_085CDBEA
+ ldr r1, =gMtChimneyHikerCoords
adds r0, r5, 0
movs r2, 0x8
bl memcpy
add r4, sp, 0x1C
- ldr r1, =gUnknown_085CDBF2
+ ldr r1, =gMtChimneyHikerMovementDelayTable
adds r0, r4, 0
movs r2, 0x4
bl memcpy
@@ -1982,7 +1982,7 @@ _08150D86:
movs r0, 0x49
strh r0, [r1, 0x30]
_08150DD0:
- ldr r4, =gUnknown_085CDB9C
+ ldr r4, =gSpriteTemplate_85CDB9C
adds r0, r4, 0
movs r1, 0xB0
movs r2, 0x2B
@@ -2088,7 +2088,7 @@ _08150E68:
movs r0, 0x27
strh r0, [r1, 0x30]
_08150ED4:
- ldr r4, =gUnknown_085CDB9C
+ ldr r4, =gSpriteTemplate_85CDB9C
adds r0, r4, 0
movs r1, 0x68
movs r2, 0x9
@@ -2149,7 +2149,7 @@ _08150F3E:
ldr r3, =0xfff80000
adds r2, r3
asrs r2, 16
- ldr r0, =gUnknown_085CDBCC
+ ldr r0, =gSpriteTemplate_85CDBCC
movs r3, 0x68
bl CreateSprite
lsls r0, 24
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 76d1dca06..80d9a0916 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -55,7 +55,7 @@ sub_80B23B0: @ 80B23B0
movs r1, 0
bl SetStandardWindowBorderStyle
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EE667
+ ldr r1, =gText_XPLink
adds r0, r5, 0
bl StringExpandPlaceholders
movs r0, 0x1
diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s
index 27c32feb5..5efff250c 100644
--- a/asm/clear_save_data_screen.s
+++ b/asm/clear_save_data_screen.s
@@ -33,7 +33,7 @@ sub_817ACE4: @ 817ACE4
movs r2, 0x2
movs r3, 0xE
bl SetWindowBorderStyle
- ldr r2, =gUnknown_085EFA8F
+ ldr r2, =gText_ClearAllSaveData
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -87,7 +87,7 @@ _0817AD68:
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EFAAA
+ ldr r2, =gText_ClearingData
movs r0, 0x1
str r0, [sp]
str r4, [sp, 0x4]
diff --git a/asm/contest.s b/asm/contest.s
index 76effb4e7..023c6ebef 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -50,15 +50,15 @@ sub_80D7678: @ 80D7678
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
strh r1, [r0]
ldr r0, =gUnknown_02022E22
strh r1, [r0]
@@ -611,10 +611,10 @@ _080D7BF6:
.pool
_080D7C04:
bl sub_80DE224
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
movs r0, 0x2
bl BeginFastPaletteFade
@@ -1190,7 +1190,7 @@ _080D814C:
strh r0, [r4, 0x8]
b _080D822C
_080D8176:
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldrh r0, [r1]
adds r0, 0x7
strh r0, [r1]
@@ -1324,23 +1324,23 @@ vblank_cb_battle: @ 80D827C
ldrh r1, [r0]
movs r0, 0x12
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r1, [r0]
movs r0, 0x18
bl SetGpuReg
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r1, [r0]
movs r0, 0x1A
bl SetGpuReg
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r1, [r0]
movs r0, 0x1C
bl SetGpuReg
@@ -1389,7 +1389,7 @@ sub_80D833C: @ 80D833C
bne _080D840C
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
bl sub_80DCD48
ldr r1, =gPlttBufferUnfaded
@@ -1520,7 +1520,7 @@ sub_80D8490: @ 80D8490
ldr r0, =gUnknown_02022E16
movs r1, 0xA0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
movs r6, 0
ldr r0, =gUnknown_02039F25
@@ -1579,7 +1579,7 @@ _080D84B8:
cmp r0, 0
beq _080D853C
add r0, sp, 0x4
- ldr r1, =gUnknown_085ED1A0
+ ldr r1, =gText_ColorLightShadowDarkGrey
b _080D8566
.pool
_080D853C:
@@ -1603,7 +1603,7 @@ _080D853C:
cmp r0, 0x3
beq _080D856C
add r0, sp, 0x4
- ldr r1, =gUnknown_085ED1A7
+ ldr r1, =gText_ColorBlue
_080D8566:
bl StringCopy
adds r5, r0, 0
@@ -1773,7 +1773,7 @@ _080D86E4:
ldr r0, =gUnknown_02022E16
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
ldr r1, =gTasks
lsls r0, r7, 2
@@ -2044,7 +2044,7 @@ sub_80D895C: @ 80D895C
ldr r0, =gUnknown_02022E16
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
movs r0, 0
bl sub_80DC490
@@ -5325,7 +5325,7 @@ sub_80DA5E8: @ 80DA5E8
ldr r0, =gUnknown_02022E16
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
ldr r4, =gUnknown_02039F34
movs r3, 0
@@ -5404,9 +5404,9 @@ sub_80DA6B4: @ 80DA6B4
cmp r4, 0
bne _080DA6EA
bl sub_80DE224
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
movs r0, 0xA0
strh r0, [r1]
movs r0, 0x62
@@ -5432,7 +5432,7 @@ sub_80DA700: @ 80DA700
push {lr}
lsls r0, 24
lsrs r3, r0, 24
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldrh r0, [r1]
subs r0, 0x7
strh r0, [r1]
@@ -5582,7 +5582,7 @@ sub_80DA830: @ 80DA830
bne _080DA860
adds r0, r2, 0
bl DestroyTask
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_80DA874
str r1, [r0]
bl FreeAllWindowBuffers
@@ -6407,7 +6407,7 @@ sub_80DAED4: @ 80DAED4
lsls r4, r1, 24
lsrs r4, 24
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_085ED1AB
+ ldr r1, =gText_ColorTransparent
bl StringCopy
adds r1, r0, 0
subs r0, r1, 0x1
@@ -8519,7 +8519,7 @@ sub_80DBF68: @ 80DBF68
ldr r0, =gUnknown_02022E16
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
bl sub_80DB89C
ldr r0, =gUnknown_0827E8DA
@@ -12881,10 +12881,10 @@ sub_80DE224: @ 80DE224
ldrh r1, [r5]
movs r0, 0xC
bl SetGpuReg
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
movs r0, 0xF0
strh r0, [r1]
- ldr r4, =gUnknown_02022E1A
+ ldr r4, =gBattle_BG1_Y
movs r0, 0xA0
strh r0, [r4]
movs r0, 0x14
@@ -13004,9 +13004,9 @@ sub_80DE350: @ 80DE350
ldrh r1, [r3]
movs r0, 0xA
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r5, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r5, [r0]
ldr r7, =gSprites
_080DE3CA:
@@ -13051,10 +13051,10 @@ sub_80DE424: @ 80DE424
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
movs r0, 0
strh r0, [r1]
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
movs r0, 0xA0
strh r0, [r1]
movs r0, 0x62
@@ -13078,7 +13078,7 @@ sub_80DE464: @ 80DE464
push {lr}
lsls r0, 24
lsrs r3, r0, 24
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldrh r0, [r1]
subs r0, 0x7
strh r0, [r1]
@@ -13233,7 +13233,7 @@ sub_80DE5C0: @ 80DE5C0
push {lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
ldrh r0, [r1]
adds r0, 0x7
strh r0, [r1]
@@ -15507,7 +15507,7 @@ _080DF784:
mov r9, r0
_080DF7AE:
add r0, sp, 0x4
- ldr r1, =gUnknown_085ED1B2
+ ldr r1, =gText_CDot
bl StringCopy
adds r5, r0, 0
ldr r0, =gUnknown_02039F26
@@ -15604,7 +15604,7 @@ _080DF874:
mov r10, r1
_080DF884:
add r0, sp, 0x4
- ldr r1, =gUnknown_085ED1B5
+ ldr r1, =gText_BDot
bl StringCopy
ldr r0, =gUnknown_02039F34
ldr r0, [r0]
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index bf7a88eb8..8e2e2c61c 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -97,15 +97,15 @@ _080F57E0:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
strh r1, [r0]
ldr r0, =gUnknown_02022E22
strh r1, [r0]
@@ -283,7 +283,7 @@ sub_80F5A74: @ 80F5A74
ldrb r0, [r0]
cmp r5, r0
bne _080F5A96
- ldr r1, =gUnknown_085ED21E
+ ldr r1, =gText_ColorDarkGrey
adds r0, r6, 0
bl StringCopy
adds r6, r0, 0
@@ -449,23 +449,23 @@ sub_80F5C24: @ 80F5C24
ldrh r1, [r0]
movs r0, 0x12
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r1, [r0]
movs r0, 0x18
bl SetGpuReg
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r1, [r0]
movs r0, 0x1A
bl SetGpuReg
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r1, [r0]
movs r0, 0x1C
bl SetGpuReg
@@ -655,7 +655,7 @@ _080F5E2E:
ands r0, r1
cmp r0, 0
beq _080F5E78
- ldr r0, =gUnknown_085ED207
+ ldr r0, =gText_CommunicationStandby
bl sub_80F707C
ldr r0, =sub_80F5ED8
b _080F5EB8
@@ -784,7 +784,7 @@ sub_80F5F74: @ 80F5F74
ldr r0, =sub_80F68F0
movs r1, 0x14
bl CreateTask
- ldr r0, =gUnknown_085ED1B8
+ ldr r0, =gText_AnnouncingResults
ldr r1, =gUnknown_0203A034
ldr r1, [r1]
ldr r1, [r1]
@@ -828,7 +828,7 @@ _080F5FF0:
_080F5FF8:
cmp r0, 0x3
bne _080F6030
- ldr r0, =gUnknown_085ED1D0
+ ldr r0, =gText_PreliminaryResults
ldr r1, =gUnknown_0203A034
ldr r1, [r1]
ldr r1, [r1]
@@ -970,7 +970,7 @@ sub_80F60F0: @ 80F60F0
cmp r0, 0x15
bne _080F615E
strh r3, [r1, 0xA]
- ldr r0, =gUnknown_085ED1E9
+ ldr r0, =gText_Round2Results
ldr r1, [r5]
ldrb r1, [r1]
bl sub_80F6B78
@@ -1265,7 +1265,7 @@ _080F636E:
adds r4, r1
adds r1, r4, 0
bl StringCopy
- ldr r1, =gUnknown_085ED1FA
+ ldr r1, =gText_Var1sVar2Won
mov r0, sp
bl StringExpandPlaceholders
ldr r0, =gUnknown_0203A034
@@ -1679,7 +1679,7 @@ sub_80F671C: @ 80F671C
ldrsh r0, [r4, r1]
cmp r0, 0
bne _080F676E
- ldr r0, =gUnknown_085ED207
+ ldr r0, =gText_CommunicationStandby
bl sub_80F707C
bl sub_800AC34
ldr r0, =sub_80F677C
@@ -1838,7 +1838,7 @@ _080F68A8:
thumb_func_start sub_80F68B4
sub_80F68B4: @ 80F68B4
push {r4,r5,lr}
- ldr r2, =gUnknown_02022E20
+ ldr r2, =gBattle_BG3_X
ldrh r3, [r2]
adds r0, r3, 0x2
strh r0, [r2]
@@ -1989,7 +1989,7 @@ sub_80F69B8: @ 80F69B8
_080F69DE:
adds r0, r7, 0
ldr r1, [sp, 0x28]
- bl sub_80D2EDC
+ bl GetMonIconPtr
adds r3, r0, 0
lsls r0, r5, 9
adds r0, 0x80
diff --git a/asm/crt0.s b/asm/crt0.s
index 14675fe4c..3ece5c7d0 100644
--- a/asm/crt0.s
+++ b/asm/crt0.s
@@ -18,17 +18,65 @@ Start: @ 8000000
.global GPIOPortData
GPIOPortData: @ 80000C4
- .hword 0
+ .2byte 0
.global GPIOPortDirection
GPIOPortDirection: @ 80000C6
- .hword 0
+ .2byte 0
.global GPIOPortReadEnable
GPIOPortReadEnable: @ 80000C8
- .hword 0
+ .2byte 0
- .incbin "baserom.gba", 0xCA, 0x204 - 0xCA
+@ 80000CA
+ .2byte 0
+
+@ 80000CC
+ .space 0x34
+
+ .4byte 3
+ .4byte 2
+
+ .ascii "pokemon emerald version"
+ .space 9
+
+ .4byte gMonFrontPicTable
+ .4byte gMonBackPicTable
+ .4byte gMonPaletteTable
+ .4byte gMonShinyPaletteTable
+ .4byte gMonIconTable
+ .4byte gMonIconPaletteIndices
+ .4byte gMonIconPaletteTable
+ .4byte gSpeciesNames
+ .4byte gMoveNames
+ .4byte gDecorations
+
+ .4byte 0x00001270, 0x0000139c, 0x00000018, 0x00000988
+ .4byte 0x00003b24, 0x00000046, 0x000008e4, 0x000008ac
+ .4byte 0x00000182
+
+ .byte 0x07, 0x0a, 0x0a, 0x0a, 0x0c, 0x0c, 0x06, 0x0c
+ .byte 0x06, 0x10, 0x12, 0x0c, 0x0f, 0x0b, 0x01, 0x08
+
+ .4byte 0x0000000c, 0x00000f2c, 0x00003d88, 0x00000234
+ .4byte 0x00000238, 0x00000009, 0x0000000a, 0x00000000
+ .4byte 0x00000008, 0x00000ca8, 0x00000ca8, 0x000031c7
+ .4byte 0x000031b3, 0x00000000
+
+ .4byte gBaseStats
+ .4byte gAbilityNames
+ .4byte gAbilityDescriptionPointers
+ .4byte gItems
+ .4byte gBattleMoves
+ .4byte gUnknown_0832C400
+ .4byte gUnknown_0832C460
+
+ .4byte 0x000000a8, 0x00000864, 0x0000089b
+
+ .byte 0x1e, 0x1e, 0x10, 0x40
+
+ .4byte 0x0000322e, 0x00000498, 0x000031a8, 0x000031f8
+ .4byte 0x00000034, 0x00000000, 0x00000000
.arm
.align 2, 0
diff --git a/asm/daycare.s b/asm/daycare.s
index 711d63e42..065911df8 100644
--- a/asm/daycare.s
+++ b/asm/daycare.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start pokemon_get_nick
-pokemon_get_nick: @ 806FA2C
+ thumb_func_start GetMonNick
+GetMonNick: @ 806FA2C
push {r4,lr}
sub sp, 0x14
adds r4, r1, 0
@@ -20,10 +20,10 @@ pokemon_get_nick: @ 806FA2C
pop {r4}
pop {r1}
bx r1
- thumb_func_end pokemon_get_nick
+ thumb_func_end GetMonNick
- thumb_func_start pokemon_get_nick_
-pokemon_get_nick_: @ 806FA4C
+ thumb_func_start GetBoxMonNick
+GetBoxMonNick: @ 806FA4C
push {r4,lr}
sub sp, 0x14
adds r4, r1, 0
@@ -37,7 +37,7 @@ pokemon_get_nick_: @ 806FA4C
pop {r4}
pop {r1}
bx r1
- thumb_func_end pokemon_get_nick_
+ thumb_func_end GetBoxMonNick
thumb_func_start daycare_count_pokemon
daycare_count_pokemon: @ 806FA6C
@@ -177,7 +177,7 @@ sub_806FB38: @ 806FB38
adds r4, 0x7C
adds r0, r6, 0
adds r1, r4, 0
- bl pokemon_get_nick
+ bl GetMonNick
adds r0, r4, 0
bl StripExtCtrlCodes
adds r4, 0xB
@@ -376,7 +376,7 @@ sub_806FCF8: @ 806FCF8
sub sp, 0x68
adds r5, r0, 0
ldr r1, =gStringVar1
- bl pokemon_get_nick_
+ bl GetBoxMonNick
adds r0, r5, 0
movs r1, 0xB
bl GetBoxMonData
@@ -547,7 +547,7 @@ sub_806FE54: @ 806FE54
bl ConvertIntToDecimalStringN
ldr r1, =gStringVar1
adds r0, r5, 0
- bl pokemon_get_nick_
+ bl GetBoxMonNick
adds r0, r4, 0
pop {r4,r5}
pop {r1}
@@ -565,7 +565,7 @@ sub_806FE88: @ 806FE88
lsrs r4, 24
ldr r1, =gStringVar1
adds r0, r5, 0
- bl pokemon_get_nick_
+ bl GetBoxMonNick
movs r0, 0x64
muls r4, r0
adds r4, 0x64
@@ -2175,7 +2175,7 @@ _08070B34:
lsrs r0, 24
cmp r0, 0xFF
bne _08070BC0
- bl sub_807228C
+ bl GetEggStepsToSubtract
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0
@@ -2280,7 +2280,7 @@ sub_8070C04: @ 8070C04
beq _08070C2E
ldr r1, =gStringVar1
adds r0, r4, 0
- bl pokemon_get_nick_
+ bl GetBoxMonNick
adds r0, r4, 0
movs r1, 0x7
mov r2, sp
@@ -2297,7 +2297,7 @@ _08070C2E:
beq _08070C44
ldr r1, =gStringVar2
adds r0, r4, 0
- bl pokemon_get_nick_
+ bl GetBoxMonNick
_08070C44:
add sp, 0xC
pop {r4}
@@ -2317,7 +2317,7 @@ sub_8070C58: @ 8070C58
ldr r4, =gPlayerParty
adds r0, r4
ldr r1, =gStringVar1
- bl pokemon_get_nick_
+ bl GetBoxMonNick
bl brm_get_pokemon_selection
lsls r0, 24
lsrs r0, 24
@@ -2788,7 +2788,7 @@ _08070FCC:
adds r5, r1, r0
adds r0, r4, 0
adds r1, r5, 0
- bl pokemon_get_nick_
+ bl GetBoxMonNick
adds r0, r5, 0
adds r1, r4, 0
bl sub_8070F98
@@ -2800,7 +2800,7 @@ _08070FCC:
adds r0, r7, 0
mov r1, sp
bl StringCopy
- ldr r4, =gUnknown_085EF881
+ ldr r4, =gText_NewLine2
adds r0, r7, 0
adds r1, r4, 0
bl StringAppend
@@ -2810,7 +2810,7 @@ _08070FCC:
adds r0, r7, 0
adds r1, r4, 0
bl StringAppend
- ldr r1, =gUnknown_085EF883
+ ldr r1, =gText_Exit4
adds r0, r7, 0
bl StringAppend
add sp, 0x28
@@ -2834,7 +2834,7 @@ sub_8071038: @ 8071038
movs r5, 0
_08071046:
adds r0, r4, 0
- ldr r1, =gUnknown_085EF888
+ ldr r1, =gText_Lv
bl StringAppend
movs r0, 0x8C
adds r2, r5, 0
@@ -2856,7 +2856,7 @@ _08071046:
mov r1, sp
bl StringAppend
adds r0, r4, 0
- ldr r1, =gUnknown_085EF881
+ ldr r1, =gText_NewLine2
bl StringAppend
adds r0, r5, 0x1
lsls r0, 24
@@ -2944,7 +2944,7 @@ sub_8071110: @ 8071110
adds r5, r0
adds r0, r5, 0
mov r1, sp
- bl pokemon_get_nick_
+ bl GetBoxMonNick
mov r0, sp
adds r1, r5, 0
bl sub_8070F98
@@ -2971,7 +2971,7 @@ sub_8071148: @ 8071148
mov r8, r3
lsls r5, 24
lsrs r5, 24
- ldr r1, =gUnknown_085EF888
+ ldr r1, =gText_Lv
mov r0, sp
bl StringCopy
movs r0, 0x8C
diff --git a/asm/decoration.s b/asm/decoration.s
index 4efc70e04..89bfbe3bf 100644
--- a/asm/decoration.s
+++ b/asm/decoration.s
@@ -336,7 +336,7 @@ sub_8126C48: @ 8126C48
cmp r0, 0
bne _08126C7C
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA83D
+ ldr r1, =gText_NoDecorations
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8126DA4
@@ -376,7 +376,7 @@ sub_8126CA4: @ 8126CA4
cmp r0, 0
bne _08126CD8
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EAAEC
+ ldr r1, =gText_NoDecorationsInUse
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8126DA4
@@ -420,7 +420,7 @@ sub_8126D10: @ 8126D10
cmp r0, 0
bne _08126D44
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA83D
+ ldr r1, =gText_NoDecorations
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8126DA4
@@ -656,7 +656,7 @@ _08126F0C:
ldr r2, =gText_Cancel
cmp r0, 0x2
bne _08126F2C
- ldr r2, =gUnknown_085EB7EA
+ ldr r2, =gText_Exit
_08126F2C:
lsls r0, r4, 4
adds r0, 0x1
@@ -798,7 +798,7 @@ sub_8127058: @ 8127058
adds r5, r0, 0
lsls r4, r1, 24
lsrs r4, 24
- ldr r1, =gUnknown_085EA7C8
+ ldr r1, =gText_Color161Shadow161
bl StringCopy
cmp r4, 0x1
bne _08127078
@@ -909,7 +909,7 @@ _08127154:
movs r0, 0x1
bl sub_8126A58
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA83D
+ ldr r1, =gText_NoDecorations
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8127180
@@ -1264,7 +1264,7 @@ sub_8127454: @ 8127454
ldr r1, =gStringVar1
bl StringCopy
lsls r4, 5
- ldr r0, =gUnknown_085A5C09
+ ldr r0, =gDecorations + 1
adds r4, r0
adds r0, r5, 0
adds r1, r4, 0
@@ -2222,7 +2222,7 @@ _08127C0A:
lsls r4, r0, 16
lsls r0, r4, 8
lsrs r0, 24
- bl sub_80892D8
+ bl MetatileBehavior_IsMB_B9
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2257,7 +2257,7 @@ _08127C64:
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8089328
+ bl MetatileBehavior_IsMB_B7
lsls r0, 24
lsrs r0, 24
movs r6, 0x1
@@ -2637,7 +2637,7 @@ sub_8127F68: @ 8127F68
cmp r0, 0x7
beq _08127FAC
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA9AE
+ ldr r1, =gText_CantPlaceInRoom
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8127A5C
@@ -2682,13 +2682,13 @@ _08127FE8:
cmp r0, 0
bne _08128018
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA8EA
+ ldr r1, =gText_NoMoreDecorations
bl StringExpandPlaceholders
b _08128020
.pool
_08128018:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA931
+ ldr r1, =gText_NoMoreDecorations2
bl StringExpandPlaceholders
_08128020:
ldr r1, =gStringVar4
@@ -2699,7 +2699,7 @@ _08128020:
.pool
_08128038:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA8D2
+ ldr r1, =gText_InUseAlready
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8127A5C
@@ -3169,7 +3169,7 @@ sub_8128414: @ 8128414
strh r2, [r0, 0x3C]
bl sub_8128DE0
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EA8BF
+ ldr r1, =gText_CancelDecorating
adds r0, r5, 0
bl StringExpandPlaceholders
ldr r2, =sub_8128B80
@@ -3189,7 +3189,7 @@ sub_8128484: @ 8128484
lsrs r0, 24
lsls r1, 16
lsrs r4, r1, 16
- bl sub_80892C4
+ bl MetatileBehavior_IsMB_B3
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3257,7 +3257,7 @@ sub_81284F4: @ 81284F4
lsls r0, r6, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_80892C4
+ bl MetatileBehavior_IsMB_B3
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3266,7 +3266,7 @@ sub_81284F4: @ 81284F4
cmp r0, 0x21
bne _08128522
adds r0, r4, 0
- bl sub_8089378
+ bl MetatileBehavior_IsMB_C2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3274,7 +3274,7 @@ sub_81284F4: @ 81284F4
_08128522:
lsls r0, r6, 24
lsrs r0, 24
- bl sub_8089314
+ bl MetatileBehavior_IsNormal
lsls r0, 24
cmp r0, 0
beq _08128534
@@ -3520,7 +3520,7 @@ _081286B8:
adds r5, r1, 0
ands r5, r0
adds r0, r4, 0
- bl sub_8089314
+ bl MetatileBehavior_IsNormal
lsls r0, 24
cmp r0, 0
bne _08128724
@@ -3625,12 +3625,12 @@ _08128790:
adds r5, r1, 0
ands r5, r0
adds r0, r4, 0
- bl sub_8089314
+ bl MetatileBehavior_IsNormal
lsls r0, 24
cmp r0, 0
bne _081287F2
adds r0, r4, 0
- bl sub_8089328
+ bl MetatileBehavior_IsMB_B7
lsls r0, 24
cmp r0, 0
bne _081287F2
@@ -3707,7 +3707,7 @@ _08128868:
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8089328
+ bl MetatileBehavior_IsMB_B7
lsls r0, 24
cmp r0, 0
beq _0812890C
@@ -3772,7 +3772,7 @@ _081288D8:
bne _08128910
_08128900:
adds r0, r4, 0
- bl sub_8089364
+ bl MetatileBehavior_IsMB_C3
lsls r0, 24
cmp r0, 0
bne _0812891C
@@ -3781,7 +3781,7 @@ _0812890C:
b _0812893E
_08128910:
adds r0, r4, 0
- bl sub_8089350
+ bl MetatileBehavior_IsMB_B5
lsls r0, 24
cmp r0, 0
beq _08128900
@@ -3835,7 +3835,7 @@ sub_8128950: @ 8128950
cmp r0, 0x1
bne _081289A4
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA897
+ ldr r1, =gText_PlaceItHere
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_81289D0
@@ -3848,7 +3848,7 @@ _081289A4:
movs r0, 0x20
bl PlaySE
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA8A6
+ ldr r1, =gText_CantBePlacedHere
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8129020
@@ -4149,7 +4149,7 @@ _08128C30:
bl sub_812A3C8
ldr r0, =0x00000be5
bl FreeSpritePaletteByTag
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_8128CD4
str r0, [r1]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -5810,7 +5810,7 @@ _08129968:
cmp r0, 0x1
bne _08129994
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EAAC5
+ ldr r1, =gText_DecorationReturnedToPC
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8129D64
@@ -6137,7 +6137,7 @@ sub_8129BF8: @ 8129BF8
ldr r1, =SpriteCallbackDummy
str r1, [r0]
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EAA62
+ ldr r1, =gText_StopPuttingAwayDecorations
adds r0, r5, 0
bl StringExpandPlaceholders
ldr r2, =sub_812A1F0
@@ -6162,7 +6162,7 @@ sub_8129C74: @ 8129C74
cmp r0, 0
beq _08129CA8
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EAAA3
+ ldr r1, =gText_ReturnDecorationToPC
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_812A1A0
@@ -6182,13 +6182,13 @@ _08129CA8:
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8089288
+ bl MetatileBehavior_IsSecretBasePC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08129CDE
adds r0, r4, 0
- bl sub_8089404
+ bl MetatileBehavior_IsMB_C5
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -6216,7 +6216,7 @@ _08129CDE:
ldr r1, =SpriteCallbackDummy
str r1, [r0]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EAA62
+ ldr r1, =gText_StopPuttingAwayDecorations
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_812A1F0
@@ -6228,7 +6228,7 @@ _08129D14:
.pool
_08129D3C:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EAA81
+ ldr r1, =gText_NoDecorationHere
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8129D64
@@ -6907,7 +6907,7 @@ _0812A280:
.pool
_0812A29C:
bl sub_812A3C8
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_812A334
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -7083,11 +7083,11 @@ sub_812A3D4: @ 812A3D4
adds r1, r2
ldrb r1, [r1]
lsls r1, 5
- ldr r2, =gUnknown_085A5C09
+ ldr r2, =gDecorations + 1
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EAA14
+ ldr r1, =gText_DecorationWillBeDiscarded
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_812A458
@@ -7098,7 +7098,7 @@ sub_812A3D4: @ 812A3D4
.pool
_0812A430:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA9E0
+ ldr r1, =gText_CantThrowAwayInUse
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_8127A5C
@@ -7151,7 +7151,7 @@ sub_812A478: @ 812A478
adds r0, r4, 0
bl sub_8127814
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EAA3D
+ ldr r1, =gText_DecorationThrownAway
adds r0, r5, 0
bl StringExpandPlaceholders
ldr r2, =sub_8127A5C
diff --git a/asm/diploma.s b/asm/diploma.s
index 6d303d860..4f21fe39d 100644
--- a/asm/diploma.s
+++ b/asm/diploma.s
@@ -262,7 +262,7 @@ pokedex_diploma_something: @ 8177AD4
movs r0, 0x14
bl SetGpuReg
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EE855
+ ldr r1, =gText_DexNational
bl StringCopy
b _08177B0C
.pool
@@ -271,11 +271,11 @@ _08177AFC:
movs r1, 0
bl SetGpuReg
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EE84F
+ ldr r1, =gText_DexHoenn
bl StringCopy
_08177B0C:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE85E
+ ldr r1, =gText_PokedexDiploma
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 565d9fcc6..20bf327ac 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -3296,7 +3296,7 @@ sub_811BB40: @ 811BB40
ldrb r0, [r0]
cmp r0, 0x4
bne _0811BB5C
- ldr r0, =gUnknown_085EC3B4
+ ldr r0, =gText_StopGivingPkmnMail
b _0811BB7A
.pool
_0811BB5C:
@@ -3306,13 +3306,13 @@ _0811BB5C:
bgt _0811BB78
cmp r0, 0xF
blt _0811BB78
- ldr r0, =gUnknown_085EC706
+ ldr r0, =gText_LikeToQuitQuiz
str r0, [r2]
- ldr r0, =gUnknown_085EC727
+ ldr r0, =gText_ChallengeQuestionMark
b _0811BB7E
.pool
_0811BB78:
- ldr r0, =gUnknown_085EC3A6
+ ldr r0, =gText_QuitEditing
_0811BB7A:
str r0, [r2]
movs r0, 0
@@ -3325,9 +3325,9 @@ _0811BB7E:
thumb_func_start sub_811BB88
sub_811BB88: @ 811BB88
- ldr r2, =gUnknown_085EC410
+ ldr r2, =gText_AllTextBeingEditedWill
str r2, [r0]
- ldr r0, =gUnknown_085EC42F
+ ldr r0, =gText_BeDeletedThatOkay
str r0, [r1]
bx lr
.pool
@@ -3711,11 +3711,11 @@ sub_811BDF0: @ 811BDF0
b _0811BE3C
.pool
_0811BE34:
- ldr r1, =gUnknown_085EC6B2
+ ldr r1, =gText_Lady
movs r0, 0
bl sub_81AFC0C
_0811BE3C:
- ldr r1, =gUnknown_085EC6A8
+ ldr r1, =gText_F700sQuiz
adds r0, r6, 0
bl sub_81AFC28
add sp, 0x20
@@ -6054,35 +6054,35 @@ _0811D16A:
bl sub_811BB88
b _0811D1BC
_0811D174:
- ldr r0, =gUnknown_085EC743
+ ldr r0, =gText_CreateAQuiz
str r0, [sp, 0xC]
b _0811D1BC
.pool
_0811D180:
- ldr r0, =gUnknown_085EC752
+ ldr r0, =gText_SelectTheAnswer
str r0, [sp, 0xC]
b _0811D1BC
.pool
_0811D18C:
- ldr r0, =gUnknown_085EC4C9
+ ldr r0, =gText_OnlyOnePhrase
str r0, [sp, 0xC]
- ldr r0, =gUnknown_085EC4E9
+ ldr r0, =gText_OriginalSongWillBeUsed
b _0811D1BA
.pool
_0811D19C:
- ldr r0, =gUnknown_085EC765
+ ldr r0, =gText_LyricsCantBeDeleted
str r0, [sp, 0xC]
b _0811D1BC
.pool
_0811D1A8:
- ldr r0, =gUnknown_085EC520
+ ldr r0, =gText_CombineTwoWordsOrPhrases
str r0, [sp, 0xC]
b _0811D1BC
.pool
_0811D1B4:
- ldr r0, =gUnknown_085EC672
+ ldr r0, =gText_YouCannotQuitHere
str r0, [sp, 0xC]
- ldr r0, =gUnknown_085EC688
+ ldr r0, =gText_SectionMustBeCompleted
_0811D1BA:
str r0, [sp, 0x10]
_0811D1BC:
@@ -9442,7 +9442,7 @@ CopyEasyChatWord: @ 811EBBC
lsls r0, 24
cmp r0, 0
beq _0811EBD8
- ldr r1, =gUnknown_085EEA42
+ ldr r1, =gText_ThreeQuestionMarks
b _0811EBEA
.pool
_0811EBD8:
@@ -9693,7 +9693,7 @@ _0811ED94:
b _0811EDB2
.pool
_0811EDB0:
- ldr r0, =gUnknown_085EEA42
+ ldr r0, =gText_ThreeQuestionMarks
_0811EDB2:
bl StringLength
lsls r0, 16
diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s
deleted file mode 100644
index d646dbb73..000000000
--- a/asm/egg_hatch.s
+++ /dev/null
@@ -1,1801 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8071348
-sub_8071348: @ 8071348
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- adds r5, r0, 0
- adds r6, r1, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x3C]
- movs r4, 0
- add r7, sp, 0x18
- add r0, sp, 0x30
- mov r8, r0
- movs r1, 0x31
- add r1, sp
- mov r10, r1
- mov r0, sp
- adds r0, 0x32
- str r0, [sp, 0x40]
- mov r1, sp
- adds r1, 0x34
- str r1, [sp, 0x48]
- adds r0, 0x1
- str r0, [sp, 0x44]
- adds r1, 0x4
- str r1, [sp, 0x4C]
-_08071386:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- lsls r1, r4, 1
- add r1, sp
- adds r1, 0x10
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08071386
- adds r0, r5, 0
- movs r1, 0
- bl GetMonData
- mov r9, r0
- movs r4, 0
-_080713AE:
- adds r1, r4, 0
- adds r1, 0x27
- adds r0, r5, 0
- bl GetMonData
- lsls r1, r4, 2
- adds r1, r7, r1
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080713AE
- adds r0, r5, 0
- movs r1, 0x3
- bl GetMonData
- mov r1, r8
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x25
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x8
- bl GetMonData
- ldr r1, [sp, 0x40]
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x22
- bl GetMonData
- str r0, [sp, 0x38]
- adds r0, r5, 0
- movs r1, 0x50
- bl GetMonData
- ldr r1, [sp, 0x48]
- strb r0, [r1]
- movs r0, 0x1
- str r0, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- ldr r1, [sp, 0x3C]
- movs r2, 0x5
- movs r3, 0x20
- bl CreateMon
- movs r4, 0
-_0807141E:
- adds r1, r4, 0
- adds r1, 0xD
- lsls r0, r4, 1
- mov r2, sp
- adds r2, r0
- adds r2, 0x10
- adds r0, r6, 0
- bl SetMonData
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0807141E
- movs r4, 0
-_0807143C:
- adds r1, r4, 0
- adds r1, 0x27
- lsls r2, r4, 2
- adds r2, r7, r2
- adds r0, r6, 0
- bl SetMonData
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0807143C
- movs r0, 0x2
- mov r1, r8
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0x3
- mov r2, r8
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x25
- mov r2, r10
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x8
- ldr r2, [sp, 0x40]
- bl SetMonData
- movs r0, 0x78
- ldr r1, [sp, 0x44]
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0x20
- ldr r2, [sp, 0x44]
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x22
- ldr r2, [sp, 0x4C]
- bl SetMonData
- adds r0, r6, 0
- movs r1, 0x50
- ldr r2, [sp, 0x48]
- bl SetMonData
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- add sp, 0x50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8071348
-
- thumb_func_start sub_80714B8
-sub_80714B8: @ 80714B8
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0xC
- movs r1, 0x46
- strb r1, [r4]
- movs r1, 0x64
- adds r5, r0, 0
- muls r5, r1
- ldr r0, =gPlayerParty
- adds r5, r0
- ldr r1, =gEnemyParty
- adds r0, r5, 0
- bl sub_8071348
- adds r0, r5, 0
- movs r1, 0x2D
- adds r2, r4, 0
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- adds r1, r4, 0
- bl GetSpeciesName
- adds r0, r5, 0
- movs r1, 0x2
- mov r2, sp
- bl SetMonData
- 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
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl pokemon_get_nick
- mov r2, sp
- adds r2, 0xE
- movs r0, 0x4
- strh r0, [r2]
- adds r0, r5, 0
- movs r1, 0x26
- bl SetMonData
- add r2, sp, 0x10
- movs r0, 0
- strh r0, [r2]
- adds r0, r5, 0
- movs r1, 0x24
- bl SetMonData
- bl sav1_map_get_name
- mov r2, sp
- adds r2, 0x12
- strb r0, [r2]
- adds r0, r5, 0
- movs r1, 0x23
- bl SetMonData
- adds r0, r5, 0
- bl MonRestorePP
- adds r0, r5, 0
- bl CalculateMonStats
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80714B8
-
- thumb_func_start sub_8071578
-sub_8071578: @ 8071578
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_80714B8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071578
-
- thumb_func_start sub_807158C
-sub_807158C: @ 807158C
- push {r4-r6,lr}
- sub sp, 0x20
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x8C
- muls r1, r2
- adds r4, r0, r1
- adds r0, r4, 0
- mov r1, sp
- bl pokemon_get_nick_
- adds r0, r4, 0
- adds r0, 0x70
- ldrh r0, [r0]
- cmp r0, 0
- beq _08071608
- adds r6, r4, 0
- adds r6, 0x7C
- mov r0, sp
- adds r1, r6, 0
- bl StringCompareWithoutExtCtrlCodes
- adds r5, r4, 0
- adds r5, 0x74
- cmp r0, 0
- bne _080715CE
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r1, r5, 0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- beq _08071608
-_080715CE:
- ldr r0, =gStringVar1
- mov r1, sp
- bl StringCopy
- ldr r0, =gStringVar2
- adds r4, 0x87
- ldrb r2, [r4]
- lsls r2, 28
- lsrs r2, 28
- adds r1, r5, 0
- bl sub_81DB5E8
- ldr r0, =gStringVar3
- ldrb r2, [r4]
- lsrs r2, 4
- adds r1, r6, 0
- bl sub_81DB5E8
- movs r0, 0x1
- b _0807160A
- .pool
-_08071608:
- movs r0, 0
-_0807160A:
- add sp, 0x20
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807158C
-
- thumb_func_start sub_8071614
-sub_8071614: @ 8071614
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003030
- adds r0, r1
- ldr r1, =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_807158C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8071614
-
- thumb_func_start sub_807163C
-sub_807163C: @ 807163C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r3
- lsls r0, 24
- lsrs r3, r0, 24
- mov r8, r3
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r1, r2, 24
- adds r2, r1, 0
- movs r4, 0
- movs r7, 0
- movs r5, 0
- cmp r3, 0
- bne _0807166A
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- movs r4, 0x1
-_0807166A:
- cmp r3, 0x1
- bne _0807167A
- movs r0, 0x64
- adds r1, r2, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- movs r4, 0x3
-_0807167A:
- cmp r6, 0
- beq _08071688
- cmp r6, 0x1
- beq _080716D8
- b _08071712
- .pool
-_08071688:
- 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 r3, r0, 0
- lsls r0, r4, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gBattleSpritesGfx
- ldr r2, [r1]
- mov r6, r8
- lsls r1, r6, 1
- adds r1, 0x1
- lsls r1, 2
- adds r2, 0x4
- adds r2, r1
- ldr r1, [r2]
- adds r2, r4, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
- adds r0, r5, 0
- bl sub_806E794
- bl LoadCompressedObjectPalette
- mov r0, r9
- strh r4, [r0]
- b _08071712
- .pool
-_080716D8:
- adds r0, r5, 0
- bl sub_806E794
- ldrh r0, [r0, 0x4]
- adds r1, r4, 0
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
- movs r1, 0x78
- movs r2, 0x4B
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gSprites
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r2, r1, r4
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r2]
- adds r4, 0x1C
- adds r1, r4
- ldr r0, =SpriteCallbackDummy
- str r0, [r1]
-_08071712:
- 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_807163C
-
- thumb_func_start sub_807172C
-sub_807172C: @ 807172C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_807172C
-
- thumb_func_start sub_8071740
-sub_8071740: @ 8071740
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, =sub_8071760
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071740
-
- thumb_func_start sub_8071760
-sub_8071760: @ 8071760
- 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 _08071788
- bl overworld_free_bg_tilemaps
- ldr r0, =c1_hatching_egg
- bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
- ldr r0, =sub_80AF168
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_08071788:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071760
-
- thumb_func_start c1_hatching_egg
-c1_hatching_egg: @ 80717A0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _080717B4
- b _080719D6
-_080717B4:
- lsls r0, 2
- ldr r1, =_080717C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080717C8:
- .4byte _080717EC
- .4byte _080718B8
- .4byte _080718D0
- .4byte _08071904
- .4byte _08071924
- .4byte _0807193C
- .4byte _08071954
- .4byte _08071970
- .4byte _080719C8
-_080717EC:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r4, =gUnknown_03000DE0
- movs r0, 0x14
- bl Alloc
- str r0, [r4]
- bl init_uns_table_pokemon_copy
- ldr r2, [r4]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- movs r1, 0
- strb r0, [r2, 0x4]
- ldr r0, [r4]
- strb r1, [r0, 0x7]
- ldr r0, =sub_807172C
- bl SetVBlankCallback
- bl GetCurrentMapMusic
- ldr r1, =gSpecialVar_0x8005
- strh r0, [r1]
- bl reset_temp_tile_data_buffers
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0832C064
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- 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, 0x7
- movs r2, 0x2
- bl SetBgAttribute
- movs r0, 0x80
- lsls r0, 5
- bl Alloc
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x80
- lsls r0, 6
- bl Alloc
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- bl DeactivateAllTextPrinters
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- bl ResetSpriteData
- bl ResetTasks
- bl remove_some_task
- bl m4aSoundVSyncOn
- b _080719A6
- .pool
-_080718B8:
- ldr r0, =gUnknown_0832C06C
- bl InitWindows
- ldr r0, =gUnknown_03000DE0
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x8]
- b _080719A6
- .pool
-_080718D0:
- ldr r1, =gUnknown_08C00000
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08C00524
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r0, =gUnknown_08C004E0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- b _080719A6
- .pool
-_08071904:
- ldr r0, =gUnknown_0832BFE4
- bl LoadSpriteSheet
- ldr r0, =gUnknown_0832BFEC
- bl LoadSpriteSheet
- ldr r0, =gUnknown_0832BFF4
- bl LoadSpritePalette
- b _080719A6
- .pool
-_08071924:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_03000DE0
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- bl sub_80714B8
- b _080719A6
- .pool
-_0807193C:
- ldr r0, =gUnknown_03000DE0
- ldr r3, [r0]
- ldrb r2, [r3, 0x4]
- adds r3, 0xC
- movs r0, 0
- movs r1, 0
- bl sub_807163C
- b _080719A6
- .pool
-_08071954:
- ldr r4, =gUnknown_03000DE0
- ldr r3, [r4]
- ldrb r2, [r3, 0x4]
- adds r3, 0xC
- movs r0, 0
- movs r1, 0x1
- bl sub_807163C
- ldr r1, [r4]
- strb r0, [r1, 0x1]
- b _080719A6
- .pool
-_08071970:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gUnknown_08DD7300
- movs r1, 0x10
- movs r2, 0xA0
- bl LoadPalette
- ldr r1, =gUnknown_08DD7360
- movs r2, 0xA1
- lsls r2, 5
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gUnknown_08331F60
- movs r2, 0x80
- lsls r2, 5
- movs r0, 0x1
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
-_080719A6:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080719D6
- .pool
-_080719C8:
- ldr r0, =sub_8071A94
- bl SetMainCallback2
- ldr r0, =gUnknown_03000DE0
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x2]
-_080719D6:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c1_hatching_egg
-
- thumb_func_start sub_80719FC
-sub_80719FC: @ 80719FC
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r2, =gStringVar3
- movs r1, 0x2
- bl SetMonData
- bl sub_805F094
- ldr r0, =gUnknown_03000DE0
- ldr r0, [r0]
- bl Free
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80719FC
-
- thumb_func_start c3_080472E4
-c3_080472E4: @ 8071A3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08071A5C
- bl StopMapMusic
- bl play_some_sound
-_08071A5C:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08071A6C
- movs r0, 0xBC
- lsls r0, 1
- bl PlayBGM
-_08071A6C:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x3C
- ble _08071A80
- ldr r0, =0x00000179
- bl PlayBGM
- adds r0, r5, 0
- bl DestroyTask
-_08071A80:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_080472E4
-
- thumb_func_start sub_8071A94
-sub_8071A94: @ 8071A94
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r1, =gUnknown_03000DE0
- ldr r0, [r1]
- ldrb r0, [r0, 0x2]
- adds r5, r1, 0
- cmp r0, 0xC
- bls _08071AAC
- b _08071E06
-_08071AAC:
- lsls r0, 2
- ldr r1, =_08071AC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08071AC0:
- .4byte _08071AF4
- .4byte _08071B40
- .4byte _08071B68
- .4byte _08071BA0
- .4byte _08071BF8
- .4byte _08071C24
- .4byte _08071C88
- .4byte _08071C96
- .4byte _08071CA4
- .4byte _08071CE8
- .4byte _08071D1C
- .4byte _08071DB4
- .4byte _08071DD4
-_08071AF4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_0832BFFC
- movs r1, 0x78
- movs r2, 0x4B
- movs r3, 0x5
- bl CreateSprite
- ldr r4, =gUnknown_03000DE0
- ldr r1, [r4]
- strb r0, [r1]
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- ldr r0, =c3_080472E4
- movs r1, 0x5
- bl CreateTask
- b _08071E06
- .pool
-_08071B40:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08071B52
- b _08071E06
-_08071B52:
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- strb r4, [r0, 0x3]
- ldr r1, [r5]
- b _08071DC8
- .pool
-_08071B68:
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bhi _08071B7A
- b _08071E06
-_08071B7A:
- ldr r1, [r5]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- ldr r2, =gSprites
- ldr r0, [r5]
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8071E34
- str r1, [r0]
- b _08071E06
- .pool
-_08071BA0:
- ldr r4, =gSprites
- ldr r2, [r5]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _08071BBC
- b _08071E06
-_08071BBC:
- ldrb r1, [r2, 0x4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r5]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0x1
- bl DoMonFrontSpriteAnimation
- ldr r1, [r5]
- b _08071DC8
- .pool
-_08071BF8:
- ldr r2, =gSprites
- ldr r3, [r5]
- ldrb r1, [r3, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _08071C12
- b _08071E06
-_08071C12:
- ldrb r0, [r3, 0x2]
- adds r0, 0x1
- strb r0, [r3, 0x2]
- b _08071E06
- .pool
-_08071C24:
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl pokemon_get_nick
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_085ED5A5
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- movs r1, 0xFF
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl sub_8072214
- ldr r0, =0x00000173
- bl PlayFanfare
- ldr r1, [r5]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- movs r1, 0x3
- bl CopyWindowToVram
- b _08071E06
- .pool
-_08071C88:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- bne _08071C94
- b _08071E06
-_08071C94:
- b _08071DC4
-_08071C96:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- bne _08071CA2
- b _08071E06
-_08071CA2:
- b _08071DC4
-_08071CA4:
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl pokemon_get_nick
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_085ED5BE
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- movs r1, 0x1
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl sub_8072214
- ldr r1, [r5]
- b _08071DC8
- .pool
-_08071CE8:
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- beq _08071CF8
- b _08071E06
-_08071CF8:
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- movs r4, 0xA0
- lsls r4, 1
- adds r1, r4, 0
- movs r2, 0xE0
- bl sub_809882C
- ldr r0, =gUnknown_0832C07C
- adds r1, r4, 0
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- ldr r1, [r5]
- b _08071DC8
- .pool
-_08071D1C:
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08071D3C
- cmp r1, 0
- bgt _08071D36
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08071DC4
- b _08071E06
-_08071D36:
- cmp r1, 0x1
- beq _08071DC4
- b _08071E06
-_08071D3C:
- ldr r0, =gUnknown_03000DE0
- mov r8, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- ldr r1, =gStringVar3
- mov r9, r1
- bl pokemon_get_nick
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x4]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x4]
- muls r0, r6
- adds r0, r5
- bl GetMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x4]
- muls r0, r6
- adds r0, r5
- movs r1, 0
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, =sub_80719FC
- str r0, [sp, 0x4]
- movs r0, 0x3
- mov r1, r9
- adds r2, r7, 0
- adds r3, r4, 0
- bl do_choose_name_or_words_screen
- b _08071E06
- .pool
-_08071DB4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_08071DC4:
- ldr r0, =gUnknown_03000DE0
- ldr r1, [r0]
-_08071DC8:
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- b _08071E06
- .pool
-_08071DD4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08071E06
- bl sub_805F094
- ldr r4, =gUnknown_03000DE0
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl RemoveWindow
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- ldr r0, [r4]
- bl Free
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
-_08071E06:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071A94
-
- thumb_func_start sub_8071E34
-sub_8071E34: @ 8071E34
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08071E54
- ldr r0, =sub_8071E8C
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x2E]
- b _08071E84
- .pool
-_08071E54:
- ldrh r0, [r4, 0x30]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bne _08071E84
- movs r0, 0x17
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- bl sub_8072140
-_08071E84:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8071E34
-
- thumb_func_start sub_8071E8C
-sub_8071E8C: @ 8071E8C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _08071EE8
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08071EBC
- ldr r0, =sub_8071EF0
- str r0, [r4, 0x1C]
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x32]
- b _08071EE8
- .pool
-_08071EBC:
- ldrh r0, [r4, 0x30]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bne _08071EE8
- movs r0, 0x17
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_08071EE8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8071E8C
-
- thumb_func_start sub_8071EF0
-sub_8071EF0: @ 8071EF0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _08071F9E
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x26
- ble _08071F5C
- ldr r0, =sub_8071FA4
- str r0, [r4, 0x1C]
- strh r5, [r4, 0x2E]
- ldr r4, =gUnknown_03000DE0
- ldr r0, [r4]
- ldrb r1, [r0, 0x4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- ldr r3, =gSprites
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r5, [r0, 0x24]
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r5, [r0, 0x26]
- b _08071F9E
- .pool
-_08071F5C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bne _08071F90
- movs r0, 0x17
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- bl sub_8072140
- bl sub_8072140
-_08071F90:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1E
- bne _08071F9E
- movs r0, 0x17
- bl PlaySE
-_08071F9E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8071EF0
-
- thumb_func_start sub_8071FA4
-sub_8071FA4: @ 8071FA4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- ble _08071FBE
- ldr r0, =sub_8071FC8
- str r0, [r1, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x2E]
-_08071FBE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071FA4
-
- thumb_func_start sub_8071FC8
-sub_8071FC8: @ 8071FC8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08071FE8
- movs r1, 0x1
- negs r1, r1
- ldr r0, =0x0000ffff
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_08071FE8:
- ldrh r0, [r5, 0x2E]
- cmp r0, 0x3
- bhi _08072004
- movs r4, 0
-_08071FF0:
- bl sub_8072140
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08071FF0
-_08072004:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08072032
- movs r0, 0x71
- bl PlaySE
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_8072048
- str r0, [r5, 0x1C]
- strh r4, [r5, 0x2E]
-_08072032:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8071FC8
-
- thumb_func_start sub_8072048
-sub_8072048: @ 8072048
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08072084
- ldr r4, =gSprites
- ldr r3, =gUnknown_03000DE0
- ldr r0, [r3]
- ldrb r1, [r0, 0x1]
- 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]
- ldr r0, [r3]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08072084:
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x8
- bne _0807209E
- movs r1, 0x1
- negs r1, r1
- ldr r0, =0x0000ffff
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0807209E:
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x9
- bgt _080720BC
- ldr r2, =gSprites
- ldr r0, =gUnknown_03000DE0
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
-_080720BC:
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x28
- ble _080720CA
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_080720CA:
- adds r0, r1, 0x1
- strh r0, [r5, 0x2E]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072048
-
- thumb_func_start sub_80720E8
-sub_80720E8: @ 80720E8
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x32]
- ldrh r3, [r2, 0x38]
- adds r0, r1, r3
- strh r0, [r2, 0x38]
- movs r4, 0x36
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bge _08072106
- adds r0, 0xFF
-_08072106:
- asrs r0, 8
- strh r0, [r2, 0x24]
- movs r3, 0x38
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bge _08072114
- adds r0, 0xFF
-_08072114:
- asrs r0, 8
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r3, r1, r0
- strh r3, [r2, 0x32]
- movs r4, 0x22
- ldrsh r1, [r2, r4]
- movs r4, 0x26
- ldrsh r0, [r2, r4]
- adds r0, r1, r0
- adds r1, 0x14
- cmp r0, r1
- ble _0807213A
- lsls r0, r3, 16
- cmp r0, 0
- ble _0807213A
- adds r0, r2, 0
- bl DestroySprite
-_0807213A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80720E8
-
- thumb_func_start sub_8072140
-sub_8072140: @ 8072140
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r2, =gUnknown_0832C084
- ldr r0, =gUnknown_03000DE0
- ldr r6, [r0]
- ldrb r3, [r6, 0x7]
- lsls r0, r3, 2
- adds r1, r0, r2
- ldrh r5, [r1]
- adds r2, 0x2
- adds r0, r2
- ldrh r4, [r0]
- adds r3, 0x1
- strb r3, [r6, 0x7]
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x64
- str r0, [sp]
- lsrs r1, 16
- str r1, [sp, 0x4]
- movs r0, 0x78
- movs r1, 0x3C
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_8072194
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072140
-
- thumb_func_start sub_8072194
-sub_8072194: @ 8072194
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x1C]
- mov r9, r0
- ldr r1, [sp, 0x20]
- mov r10, r1
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r1, r9
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gUnknown_0832C04C
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x4
- bl CreateSprite
- 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
- strh r6, [r0, 0x30]
- mov r1, r8
- strh r1, [r0, 0x32]
- mov r1, r9
- strh r1, [r0, 0x34]
- mov r1, r10
- bl StartSpriteAnim
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072194
-
- thumb_func_start sub_8072214
-sub_8072214: @ 8072214
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x14
- adds r5, r0, 0
- mov r9, r1
- adds r6, r2, 0
- mov r8, r3
- ldr r4, [sp, 0x2C]
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r3, =gUnknown_03000DE0
- ldr r0, [r3]
- movs r2, 0
- strb r2, [r0, 0xE]
- ldr r1, [r3]
- movs r0, 0x5
- strb r0, [r1, 0xF]
- ldr r1, [r3]
- movs r0, 0x6
- strb r0, [r1, 0x10]
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r0, [r3]
- adds r0, 0xE
- str r0, [sp, 0x8]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- mov r0, r9
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- mov r3, r8
- bl AddTextPrinterParametrized2
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8072214
-
- thumb_func_start sub_807228C
-sub_807228C: @ 807228C
- push {r4-r6,lr}
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _080722D6
-_0807229C:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080722CC
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x28
- beq _080722C4
- cmp r0, 0x31
- bne _080722CC
-_080722C4:
- movs r0, 0x2
- b _080722D8
- .pool
-_080722CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _0807229C
-_080722D6:
- movs r0, 0x1
-_080722D8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807228C
-
- thumb_func_start sub_80722E0
-sub_80722E0: @ 80722E0
- push {r4,lr}
- bl sub_80D22D0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x6
- bl sub_80C7050
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80722E0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index b8710acd4..5d0268173 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -170,15 +170,15 @@ evolution_cutscene: @ 813DA8C
strh r2, [r0]
ldr r0, =gUnknown_02022E16
strh r2, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r2, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r2, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r2, [r0]
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
@@ -186,7 +186,7 @@ evolution_cutscene: @ 813DA8C
ldr r0, =gUnknown_02022E22
movs r1, 0
strh r1, [r0]
- ldr r1, =gUnknown_02022FF0
+ ldr r1, =gBattleTerrain
movs r0, 0x9
strb r0, [r1]
bl c2_berry_program_update_menu
@@ -464,22 +464,22 @@ sub_813DD7C: @ 813DD7C
strh r4, [r0]
ldr r0, =gUnknown_02022E16
strh r4, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r4, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r4, [r0]
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
strh r0, [r1]
ldr r0, =gUnknown_02022E22
strh r4, [r0]
- ldr r1, =gUnknown_02022FF0
+ ldr r1, =gBattleTerrain
movs r0, 0x9
strb r0, [r1]
bl c2_berry_program_update_menu
@@ -634,15 +634,15 @@ _0813DFE0:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
- ldr r2, =gUnknown_02022E20
+ ldr r2, =gBattle_BG3_X
movs r3, 0x80
lsls r3, 1
adds r0, r3, 0
@@ -945,15 +945,15 @@ sub_813E1D4: @ 813E1D4
strh r4, [r0]
ldr r0, =gUnknown_02022E16
strh r4, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r4, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r4, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r4, [r0]
- ldr r1, =gUnknown_02022E20
+ ldr r1, =gBattle_BG3_X
movs r2, 0x80
lsls r2, 1
adds r0, r2, 0
@@ -1333,12 +1333,12 @@ _0813E6D4:
bl _0813F1A4
_0813E6E4:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085CC990
+ ldr r1, =gText_PkmnIsEvolving
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -1621,12 +1621,12 @@ _0813E990:
bl _0813F1A4
_0813E99E:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085CC9A6
+ ldr r1, =gText_CongratsPkmnEvolved
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =0x00000173
bl PlayBGM
ldr r2, =gTasks
@@ -1857,18 +1857,18 @@ _0813EBB8:
cmp r0, 0
beq _0813EBE4
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085CC9EE
+ ldr r1, =gText_EllipsisQuestionMark
bl StringExpandPlaceholders
b _0813EBEC
.pool
_0813EBE4:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085CC9D3
+ ldr r1, =gText_PkmnStoppedEvolving
bl StringExpandPlaceholders
_0813EBEC:
ldr r0, =gStringVar4
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@@ -1892,15 +1892,15 @@ _0813EC1E:
beq _0813EC2A
b _0813F1A4
_0813EC2A:
- bl sub_804F574
+ bl BufferMoveToLearnIntoBattleTextBuff2
ldr r0, =0x0000016f
bl PlayFanfare
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0xC]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@@ -1991,13 +1991,13 @@ _0813ED0A:
beq _0813ED16
b _0813F1A4
_0813ED16:
- bl sub_804F574
- ldr r0, =gUnknown_085CC270
+ bl BufferMoveToLearnIntoBattleTextBuff2
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x10]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2021,12 +2021,12 @@ _0813ED56:
beq _0813ED62
b _0813F1A4
_0813ED62:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x14]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2046,12 +2046,12 @@ _0813ED90:
lsls r0, 24
cmp r0, 0
bne _0813EDCE
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x18]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2085,9 +2085,9 @@ _0813EDEA:
movs r2, 0x1D
movs r3, 0xD
bl sub_8056A3C
- ldr r0, =gUnknown_085CCABB
+ ldr r0, =gText_BattleYesNoChoice
movs r1, 0xC
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2100,7 +2100,7 @@ _0813EDEA:
ldr r0, =gBattleCommunication
strb r2, [r0, 0x1]
movs r0, 0
- bl sub_8056B74
+ bl BattleCreateCursorAt
b _0813F1A4
.pool
_0813EE34:
@@ -2117,10 +2117,10 @@ _0813EE34:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
- bl sub_8056BAC
+ bl BattleDestroyCursorAt
movs r0, 0
strb r0, [r4, 0x1]
- bl sub_8056B74
+ bl BattleCreateCursorAt
_0813EE5C:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -2135,10 +2135,10 @@ _0813EE5C:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
- bl sub_8056BAC
+ bl BattleDestroyCursorAt
movs r0, 0x1
strb r0, [r4, 0x1]
- bl sub_8056B74
+ bl BattleCreateCursorAt
_0813EE84:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -2285,14 +2285,14 @@ _0813EFC8:
bl IsHMMove2
cmp r0, 0
beq _0813F014
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r3, =0x000004cc
adds r0, r3
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2333,15 +2333,15 @@ _0813F014:
b _0813F1A2
.pool
_0813F05C:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
movs r1, 0xCF
lsls r1, 2
adds r0, r1
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2365,12 +2365,12 @@ _0813F09E:
beq _0813F0AA
b _0813F1A4
_0813F0AA:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x1C]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2390,15 +2390,15 @@ _0813F0D8:
lsls r0, 24
cmp r0, 0
bne _0813F1A4
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
movs r1, 0xD0
lsls r1, 2
adds r0, r1
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2409,12 +2409,12 @@ _0813F0D8:
b _0813F1A4
.pool
_0813F120:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x20]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gTasks
mov r3, r8
adds r0, r3, r7
@@ -2429,12 +2429,12 @@ _0813F120:
b _0813F1A4
.pool
_0813F154:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x24]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl battle_show_message_maybe
+ bl sub_814F9EC
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2533,7 +2533,7 @@ _0813F204:
.4byte _0813F7E4
_0813F258:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085CC990
+ ldr r1, =gText_PkmnIsEvolving
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -2804,7 +2804,7 @@ _0813F4E4:
bl _0813FCC4
_0813F4F2:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085CC9A6
+ ldr r1, =gText_CongratsPkmnEvolved
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -2913,7 +2913,7 @@ _0813F5F0:
_0813F5FC:
ldr r0, =0x00000179
bl PlayBGM
- ldr r1, =gUnknown_085EF6D2
+ ldr r1, =gText_CommunicationStandby5
movs r0, 0
movs r2, 0x1
bl sub_807F1A8
@@ -3029,7 +3029,7 @@ _0813F704:
b _0813FCC4
_0813F714:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085CC9EE
+ ldr r1, =gText_EllipsisQuestionMark
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -3059,12 +3059,12 @@ _0813F756:
beq _0813F762
b _0813FCC4
_0813F762:
- bl sub_804F574
+ bl BufferMoveToLearnIntoBattleTextBuff2
ldr r0, =0x0000016f
bl PlayFanfare
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0xC]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3160,10 +3160,10 @@ _0813F846:
beq _0813F852
b _0813FCC4
_0813F852:
- bl sub_804F574
- ldr r0, =gUnknown_085CC270
+ bl BufferMoveToLearnIntoBattleTextBuff2
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x10]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3191,9 +3191,9 @@ _0813F892:
beq _0813F89E
b _0813FCC4
_0813F89E:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x14]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3217,9 +3217,9 @@ _0813F8CC:
lsls r0, 24
cmp r0, 0
bne _0813F90C
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x18]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3294,12 +3294,12 @@ _0813F986:
_0813F98C:
ldr r0, =gBattleCommunication
strb r6, [r0, 0x1]
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
movs r1, 0x92
lsls r1, 3
adds r0, r1
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3331,12 +3331,12 @@ _0813F9E4:
ldr r1, =gBattleCommunication
movs r0, 0x1
strb r0, [r1, 0x1]
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
movs r1, 0x92
lsls r1, 3
adds r0, r1
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3437,11 +3437,11 @@ _0813FAEC:
bl IsHMMove2
cmp r0, 0
beq _0813FB3C
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r1, =0x000004cc
adds r0, r1
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3476,12 +3476,12 @@ _0813FB3C:
mov r0, r9
adds r2, r4, 0
bl SetMonMoveSlot
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
movs r1, 0xCF
lsls r1, 2
adds r0, r1
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3509,9 +3509,9 @@ _0813FBB2:
beq _0813FBBE
b _0813FCC4
_0813FBBE:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x1C]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3535,12 +3535,12 @@ _0813FBEC:
lsls r0, 24
cmp r0, 0
bne _0813FCC4
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
movs r1, 0xD0
lsls r1, 2
adds r0, r1
ldr r0, [r0]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3555,9 +3555,9 @@ _0813FBEC:
b _0813FCC4
.pool
_0813FC38:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x20]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3576,9 +3576,9 @@ _0813FC38:
b _0813FCC4
.pool
_0813FC70:
- ldr r0, =gUnknown_085CC270
+ ldr r0, =gBattleStringsTable
ldr r0, [r0, 0x24]
- bl StrCpyDecodeToDisplayedStringBattle
+ bl BattleStringExpandPlaceholdersToDisplayedString
ldr r1, =gDisplayedStringBattle
movs r0, 0
movs r2, 0x1
@@ -3638,23 +3638,23 @@ sub_813FCDC: @ 813FCDC
ldrh r1, [r0]
movs r0, 0x12
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r1, [r0]
movs r0, 0x18
bl SetGpuReg
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r1, [r0]
movs r0, 0x1A
bl SetGpuReg
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r1, [r0]
movs r0, 0x1C
bl SetGpuReg
@@ -3682,23 +3682,23 @@ sub_813FD64: @ 813FD64
ldrh r1, [r0]
movs r0, 0x12
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
ldrh r1, [r0]
movs r0, 0x18
bl SetGpuReg
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
ldrh r1, [r0]
movs r0, 0x1A
bl SetGpuReg
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
ldrh r1, [r0]
movs r0, 0x1C
bl SetGpuReg
@@ -3852,9 +3852,9 @@ sub_813FEE8: @ 813FEE8
push {r6,r7}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
mov r8, r0
- ldr r1, =gUnknown_02022E1A
+ ldr r1, =gBattle_BG1_Y
mov r9, r1
ldr r1, =gTasks
lsls r0, r5, 2
@@ -3865,12 +3865,12 @@ sub_813FEE8: @ 813FEE8
ldrsh r0, [r0, r2]
cmp r0, 0
bne _0813FF28
- ldr r7, =gUnknown_02022E1C
- ldr r6, =gUnknown_02022E1E
+ ldr r7, =gBattle_BG2_X
+ ldr r6, =gBattle_BG2_Y
b _0813FF2C
.pool
_0813FF28:
- ldr r7, =gUnknown_02022E20
+ ldr r7, =gBattle_BG3_X
ldr r6, =gUnknown_02022E22
_0813FF2C:
lsls r4, r5, 2
@@ -4130,12 +4130,12 @@ sub_8140174: @ 8140174
movs r0, 0x50
movs r1, 0
bl SetGpuReg
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
movs r1, 0
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
movs r0, 0x1
movs r1, 0x5
diff --git a/asm/field_camera.s b/asm/field_camera.s
index cead2954c..35359f444 100644
--- a/asm/field_camera.s
+++ b/asm/field_camera.s
@@ -1082,7 +1082,7 @@ CameraPanningCB_PanAhead: @ 808A360
b _0808A3FC
.pool
_0808A374:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x3]
cmp r0, 0x1
bne _0808A394
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 0e83f4b80..1f2d638c3 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -44,14 +44,14 @@ process_overworld_input: @ 809BF08
lsls r2, 16
lsrs r2, 16
mov r8, r2
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r6, [r0, 0x3]
ldrb r0, [r0, 0x2]
mov r9, r0
bl cur_mapdata_block_role_at_player_pos
lsls r0, 24
lsrs r0, 24
- bl sub_808904C
+ bl MetatileBehavior_IsMoveTile
lsls r0, 24
lsrs r7, r0, 24
cmp r6, 0x2
@@ -567,7 +567,7 @@ _0809C32E:
.pool
_0809C33C:
movs r4, 0
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
_0809C340:
ldrb r0, [r1]
cmp r0, 0x1
@@ -831,7 +831,7 @@ _0809C55C:
.pool
_0809C574:
adds r0, r5, 0
- bl is_tile_x8B
+ bl MetatileBehavior_IsClosedSootopolisGymDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -841,7 +841,7 @@ _0809C574:
.pool
_0809C58C:
adds r0, r5, 0
- bl is_tile_xEA
+ bl MetatileBehavior_IsUnknownClosedDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -851,7 +851,7 @@ _0809C58C:
.pool
_0809C5A4:
adds r0, r5, 0
- bl is_tile_x84
+ bl MetatileBehavior_IsCableBoxResults1
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -859,7 +859,7 @@ _0809C5A4:
b _0809C6E4
_0809C5B4:
adds r0, r5, 0
- bl is_tile_x87
+ bl MetatileBehavior_IsPokeblockFeeder
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -869,7 +869,7 @@ _0809C5B4:
.pool
_0809C5CC:
adds r0, r5, 0
- bl is_tile_x8C
+ bl MetatileBehavior_IsTrickHousePuzzleDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -879,7 +879,7 @@ _0809C5CC:
.pool
_0809C5E4:
adds r0, r5, 0
- bl is_tile_x85
+ bl MetatileBehavior_IsRegionMap
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -889,7 +889,7 @@ _0809C5E4:
.pool
_0809C5FC:
adds r0, r5, 0
- bl sub_8089A1C
+ bl MetatileBehavior_IsRunningShoesInstruction
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -899,7 +899,7 @@ _0809C5FC:
.pool
_0809C614:
adds r0, r5, 0
- bl sub_8089A30
+ bl MetatileBehavior_IsPictureBookShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -909,7 +909,7 @@ _0809C614:
.pool
_0809C62C:
adds r0, r5, 0
- bl sub_8089A44
+ bl MetatileBehavior_IsBookShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -919,7 +919,7 @@ _0809C62C:
.pool
_0809C644:
adds r0, r5, 0
- bl sub_8089A58
+ bl MetatileBehavior_IsPokeCenterBookShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -929,7 +929,7 @@ _0809C644:
.pool
_0809C65C:
adds r0, r5, 0
- bl sub_8089A6C
+ bl MetatileBehavior_IsVase
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -939,7 +939,7 @@ _0809C65C:
.pool
_0809C674:
adds r0, r5, 0
- bl sub_8089A80
+ bl MetatileBehavior_IsTrashCan
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -949,7 +949,7 @@ _0809C674:
.pool
_0809C68C:
adds r0, r5, 0
- bl sub_8089A94
+ bl MetatileBehavior_IsShopShelf
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -959,7 +959,7 @@ _0809C68C:
.pool
_0809C6A4:
adds r0, r5, 0
- bl sub_8089AA8
+ bl MetatileBehavior_IsBlueprint
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -970,7 +970,7 @@ _0809C6A4:
_0809C6BC:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8089AD0
+ bl MetatileBehavior_IsPlayerFacingWirelessBoxResults
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -981,7 +981,7 @@ _0809C6BC:
_0809C6D4:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8089AEC
+ bl MetatileBehavior_IsCableBoxResults2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1023,7 +1023,7 @@ _0809C71C:
cmp r4, r0
bne _0809C7D0
adds r0, r5, 0
- bl sub_8089288
+ bl MetatileBehavior_IsSecretBasePC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1033,7 +1033,7 @@ _0809C71C:
.pool
_0809C74C:
adds r0, r5, 0
- bl sub_808929C
+ bl MetatileBehavior_IsSecretBaseRegisterPC
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1043,7 +1043,7 @@ _0809C74C:
.pool
_0809C764:
adds r0, r5, 0
- bl sub_80893DC
+ bl MetatileBehavior_IsMB_BF
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1053,7 +1053,7 @@ _0809C764:
.pool
_0809C77C:
adds r0, r5, 0
- bl sub_80893F0
+ bl MetatileBehavior_IsSecretBaseTvOrShield
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1063,7 +1063,7 @@ _0809C77C:
.pool
_0809C794:
adds r0, r5, 0
- bl sub_80892EC
+ bl MetatileBehavior_IsMB_C6
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1072,7 +1072,7 @@ _0809C794:
b _0809C7E2
_0809C7A8:
adds r0, r5, 0
- bl sub_8089364
+ bl MetatileBehavior_IsMB_C3
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1081,7 +1081,7 @@ _0809C7A8:
b _0809C7E2
_0809C7BC:
adds r0, r5, 0
- bl sub_8089350
+ bl MetatileBehavior_IsMB_B5
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1090,7 +1090,7 @@ _0809C7BC:
b _0809C7E2
_0809C7D0:
adds r0, r5, 0
- bl sub_8089300
+ bl MetatileBehavior_IsSecretBasePoster
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1297,7 +1297,7 @@ sub_809C96C: @ 809C96C
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8089918
+ bl MetatileBehavior_IsCrackedFloorHole
lsls r0, 24
cmp r0, 0
beq _0809C988
@@ -1306,7 +1306,7 @@ sub_809C96C: @ 809C96C
.pool
_0809C988:
adds r0, r4, 0
- bl sub_8089ABC
+ bl MetatileBehavior_IsBattlePyramidWarp
lsls r0, 24
cmp r0, 0
beq _0809C9A4
@@ -1318,7 +1318,7 @@ _0809C996:
.pool
_0809C9A4:
adds r0, r4, 0
- bl sub_80893C8
+ bl MetatileBehavior_IsSecretBaseGlitterMat
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1327,7 +1327,7 @@ _0809C9A4:
b _0809C9E8
_0809C9B8:
adds r0, r4, 0
- bl sub_80893B4
+ bl MetatileBehavior_IsSecretBaseSoundMat
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1368,7 +1368,7 @@ _0809CA04:
bl sub_80B215C
bl AdjustFriendship_step
bl sub_81D4998
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x40
ands r0, r1
@@ -1376,7 +1376,7 @@ _0809CA04:
bne _0809CAF8
lsls r0, r4, 24
lsrs r0, 24
- bl sub_808904C
+ bl MetatileBehavior_IsMoveTile
lsls r0, 24
cmp r0, 0
bne _0809CAF8
@@ -1467,7 +1467,7 @@ _0809CAF8:
cmp r0, 0x1
beq _0809CB28
movs r0, 0x1
- bl sub_8137FC0
+ bl CountSSTidalStep
cmp r0, 0x1
bne _0809CB1C
ldr r0, =gUnknown_0823C050
@@ -1719,7 +1719,7 @@ sub_809CC9C: @ 809CC9C
.pool
_0809CCF8:
adds r0, r4, 0
- bl sub_8089870
+ bl MetatileBehavior_IsLavaridgeB1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1729,7 +1729,7 @@ _0809CCF8:
b _0809CD8C
_0809CD0E:
adds r0, r4, 0
- bl is_role_x68
+ bl MetatileBehavior_IsLavaridge1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1749,7 +1749,7 @@ _0809CD24:
b _0809CD8C
_0809CD3A:
adds r0, r4, 0
- bl sub_80898AC
+ bl MetatileBehavior_IsWarpOrBridge
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1759,7 +1759,7 @@ _0809CD3A:
b _0809CD8C
_0809CD50:
adds r0, r4, 0
- bl sub_8089904
+ bl MetatileBehavior_IsMtPyreHole
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1771,7 +1771,7 @@ _0809CD50:
.pool
_0809CD6C:
adds r0, r4, 0
- bl sub_80898C0
+ bl MetatileBehavior_IsMossdeepGymWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1797,7 +1797,7 @@ is_warp_tile: @ 809CD94
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl is_tile_x69_2_warp_door
+ bl MetatileBehavior_IsWarpDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1815,19 +1815,19 @@ is_warp_tile: @ 809CD94
cmp r0, 0x1
beq _0809CE2A
adds r0, r4, 0
- bl sub_8088F58
+ bl MetatileBehavior_IsNonAnimDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0809CE2A
adds r0, r4, 0
- bl sub_8089870
+ bl MetatileBehavior_IsLavaridgeB1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0809CE2A
adds r0, r4, 0
- bl is_role_x68
+ bl MetatileBehavior_IsLavaridge1FWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1839,19 +1839,19 @@ is_warp_tile: @ 809CD94
cmp r0, 0x1
beq _0809CE2A
adds r0, r4, 0
- bl sub_8089904
+ bl MetatileBehavior_IsMtPyreHole
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0809CE2A
adds r0, r4, 0
- bl sub_80898C0
+ bl MetatileBehavior_IsMossdeepGymWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0809CE2A
adds r0, r4, 0
- bl sub_80898AC
+ bl MetatileBehavior_IsWarpOrBridge
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2048,7 +2048,7 @@ map_warp_consider_2_to_inside: @ 809CF78
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8089210
+ bl MetatileBehavior_IsSecretBaseOpen
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2062,7 +2062,7 @@ map_warp_consider_2_to_inside: @ 809CF78
.pool
_0809CFB0:
adds r0, r4, 0
- bl is_tile_x69_2_warp_door
+ bl MetatileBehavior_IsWarpDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2322,7 +2322,7 @@ dive_warp: @ 809D16C
bne _0809D1A4
lsls r0, r5, 24
lsrs r0, 24
- bl sub_80895D0
+ bl MetatileBehavior_IsUnableToEmerge
lsls r0, 24
cmp r0, 0
bne _0809D1A4
@@ -2340,7 +2340,7 @@ dive_warp: @ 809D16C
_0809D1A4:
lsls r0, r5, 24
lsrs r0, 24
- bl sub_80895B0
+ bl MetatileBehavior_IsDiveable
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2394,7 +2394,7 @@ sub_809D1E8: @ 809D1E8
cmp r0, 0x5
bne _0809D244
adds r0, r5, 0
- bl sub_80895D0
+ bl MetatileBehavior_IsUnableToEmerge
lsls r0, 24
cmp r0, 0
bne _0809D244
@@ -2417,7 +2417,7 @@ sub_809D1E8: @ 809D1E8
.pool
_0809D244:
adds r0, r5, 0
- bl sub_80895B0
+ bl MetatileBehavior_IsDiveable
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/field_door.s b/asm/field_door.s
index 987f0bd8c..4602158df 100644
--- a/asm/field_door.s
+++ b/asm/field_door.s
@@ -589,7 +589,7 @@ sub_808A854: @ 808A854
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8088EFC
+ bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A876
@@ -612,7 +612,7 @@ sub_808A880: @ 808A880
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8088EFC
+ bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A8A2
@@ -635,7 +635,7 @@ sub_808A8AC: @ 808A8AC
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8088EFC
+ bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A8D8
@@ -664,7 +664,7 @@ task_overworld_door_add_if_role_69_for_opening_door_at: @ 808A8E4
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8088EFC
+ bl MetatileBehavior_IsDoor
lsls r0, 24
cmp r0, 0
beq _0808A910
diff --git a/asm/field_effect.s b/asm/field_effect.s
index c40098993..c8ccc49b4 100644
--- a/asm/field_effect.s
+++ b/asm/field_effect.s
@@ -1945,7 +1945,7 @@ sub_80B69DC: @ 80B69DC
push {lr}
ldr r0, =c2_exit_to_overworld_2_switch
bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =mapldr_080842E8
str r0, [r1]
pop {r0}
@@ -1962,7 +1962,7 @@ mapldr_080842E8: @ 80B69FC
bl CreateTask
bl ScriptContext2_Enable
bl player_bitmagic
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
pop {r0}
@@ -1989,7 +1989,7 @@ task00_8084310: @ 80B6A24
cmp r0, 0
beq _080B6A8A
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -2012,7 +2012,7 @@ _080B6A64:
bl warp_in
ldr r0, =c2_load_new_map
bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =mapldr_08084390
str r0, [r1]
adds r0, r5, 0
@@ -2033,7 +2033,7 @@ mapldr_08084390: @ 80B6AA4
movs r1, 0
bl CreateTask
ldr r4, =gMapObjects
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2058,7 +2058,7 @@ mapldr_08084390: @ 80B6AA4
_080B6AE6:
bl ScriptContext2_Enable
bl player_bitmagic
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
pop {r4}
@@ -2120,7 +2120,7 @@ sub_80B6B68: @ 80B6B68
ldr r0, =sub_80B6B94
movs r1, 0
bl CreateTask
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
pop {r0}
@@ -2163,7 +2163,7 @@ sub_80B6BCC: @ 80B6BCC
mov r5, r8
push {r5,r6}
mov r9, r0
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r0, [r6, 0x5]
lsls r5, r0, 3
adds r5, r0
@@ -2256,7 +2256,7 @@ _080B6C88:
sub_80B6C90: @ 80B6C90
push {r4-r6,lr}
adds r5, r0, 0
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r0, [r6, 0x4]
lsls r2, r0, 4
adds r2, r0
@@ -2309,7 +2309,7 @@ sub_80B6C90: @ 80B6C90
sub_80B6D04: @ 80B6D04
push {r4-r6,lr}
adds r4, r0, 0
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2454,7 +2454,7 @@ _080B6E0E:
thumb_func_start sub_80B6E18
sub_80B6E18: @ 80B6E18
push {lr}
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
bl ScriptContext2_Disable
@@ -2551,7 +2551,7 @@ sub_80B6EC0: @ 80B6EC0
sub_80B6EE0: @ 80B6EE0
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2664,7 +2664,7 @@ sub_80B6FA8: @ 80B6FA8
sub_80B6FB8: @ 80B6FB8
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -2702,7 +2702,7 @@ _080B6FF6:
sub_80B7004: @ 80B7004
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -2761,7 +2761,7 @@ sub_80B7060: @ 80B7060
bne _080B709C
bl sub_80E1570
bl warp_in
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80B70B4
str r0, [r1]
ldr r0, =c2_load_new_map
@@ -2786,7 +2786,7 @@ sub_80B70B4: @ 80B70B4
ldr r0, =sub_80B70DC
movs r1, 0
bl CreateTask
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
pop {r0}
@@ -2828,7 +2828,7 @@ sub_80B7114: @ 80B7114
sub sp, 0x4
adds r5, r0, 0
bl CameraObjectReset2
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -2883,7 +2883,7 @@ _080B717E:
sub_80B7190: @ 80B7190
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -2914,7 +2914,7 @@ sub_80B7190: @ 80B7190
sub_80B71D0: @ 80B71D0
push {r4,r5,lr}
adds r4, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -2962,7 +2962,7 @@ _080B721E:
sub_80B7230: @ 80B7230
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -2993,7 +2993,7 @@ sub_80B7230: @ 80B7230
sub_80B7270: @ 80B7270
push {r4,r5,lr}
adds r4, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -3063,7 +3063,7 @@ _080B72EE:
thumb_func_start sub_80B72F4
sub_80B72F4: @ 80B72F4
push {r4,lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -3111,7 +3111,7 @@ oei_waterfall: @ 80B734C
adds r1, r0
lsls r1, 3
adds r1, r2
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
ldr r2, [r2]
strh r2, [r1, 0xA]
bl _call_via_r4
@@ -3138,7 +3138,7 @@ _080B7396:
ldrsh r2, [r4, r0]
lsls r2, 2
adds r2, r5
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r1, r0, 3
adds r1, r0
@@ -3162,7 +3162,7 @@ sub_80B73D0: @ 80B73D0
push {r4,lr}
adds r4, r0, 0
bl ScriptContext2_Enable
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
ldrh r0, [r4, 0x8]
@@ -3188,7 +3188,7 @@ waterfall_1_do_anim_probably: @ 80B73F0
bne _080B7420
adds r0, r5, 0
bl FieldObjectClearAnimIfSpecialAnimFinished
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0xA
ldrsh r0, [r4, r2]
str r0, [r1]
@@ -3268,7 +3268,7 @@ _080B748E:
cmp r4, 0
bne _080B74C4
bl ScriptContext2_Disable
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
strb r4, [r0, 0x6]
ldr r0, =sub_80B7384
bl FindTaskIdByFunc
@@ -3304,7 +3304,7 @@ sub_80B74D0: @ 80B74D0
adds r1, r0
lsls r1, 3
adds r1, r2
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
ldr r2, [r3]
strh r2, [r1, 0x26]
ldr r2, [r3, 0x4]
@@ -3347,7 +3347,7 @@ _080B751E:
thumb_func_start dive_1_lock
dive_1_lock: @ 80B7544
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
movs r1, 0x1
strb r1, [r2, 0x6]
ldrh r1, [r0, 0x8]
@@ -3363,7 +3363,7 @@ dive_2_unknown: @ 80B7558
push {r4,lr}
adds r4, r0, 0
bl ScriptContext2_Enable
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0x26
ldrsh r0, [r4, r2]
str r0, [r1]
@@ -3393,7 +3393,7 @@ dive_3_unknown: @ 80B7580
cmp r0, 0
bne _080B75C4
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -3437,7 +3437,7 @@ sub_80B75F0: @ 80B75F0
lsrs r0, 24
ldr r6, =gUnknown_0855C438
ldr r2, =gTasks
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
@@ -3480,7 +3480,7 @@ sub_80B764C: @ 80B764C
bl CameraObjectReset2
movs r0, 0
bl SetCameraPanningCallback
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
movs r2, 0x1
strb r2, [r0, 0x6]
ldrb r0, [r5, 0x3]
@@ -3536,7 +3536,7 @@ sub_80B76B8: @ 80B76B8
strh r0, [r2, 0x26]
movs r0, 0x1
strh r0, [r4, 0xE]
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r5, 0x10
ldrsh r0, [r1, r5]
str r0, [r3]
@@ -3727,7 +3727,7 @@ sub_80B7814: @ 80B7814
cmp r0, 0x1
bne _080B784C
bl warp_in
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =mapldr_080851BC
str r0, [r1]
ldr r0, =c2_load_new_map
@@ -3750,7 +3750,7 @@ mapldr_080851BC: @ 80B7868
bl sub_8085784
bl pal_fill_for_maplights
bl ScriptContext2_Enable
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
movs r1, 0
str r1, [r0]
ldr r0, =sub_80B7890
@@ -3767,7 +3767,7 @@ sub_80B7890: @ 80B7890
lsrs r0, 24
ldr r6, =gUnknown_0855C450
ldr r2, =gTasks
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
@@ -3808,7 +3808,7 @@ sub_80B78EC: @ 80B78EC
adds r4, r1, 0
bl CameraObjectReset2
bl player_bitmagic
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
ldrb r0, [r4, 0x1]
@@ -3835,7 +3835,7 @@ sub_80B791C: @ 80B791C
lsls r0, 24
cmp r0, 0
beq _080B795C
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r0, [r5, r2]
str r0, [r1]
@@ -3915,7 +3915,7 @@ sub_80B79BC: @ 80B79BC
lsls r0, 24
cmp r0, 0
beq _080B79E6
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
bl ScriptContext2_Disable
@@ -3935,7 +3935,7 @@ _080B79E6:
thumb_func_start sub_80B79F4
sub_80B79F4: @ 80B79F4
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -4016,7 +4016,7 @@ sub_80B7A8C: @ 80B7A8C
lsrs r0, 24
ldr r6, =gUnknown_0855C460
ldr r2, =gTasks
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
@@ -4057,7 +4057,7 @@ sub_80B7AE8: @ 80B7AE8
adds r4, r1, 0
bl player_bitmagic
bl CameraObjectReset2
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
ldrb r0, [r4, 0x3]
@@ -4090,7 +4090,7 @@ sub_80B7B18: @ 80B7B18
ldrsh r0, [r5, r2]
cmp r0, 0x3
ble _080B7B6C
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r0, [r4, r2]
str r0, [r1]
@@ -4202,7 +4202,7 @@ sub_80B7BF4: @ 80B7BF4
cmp r0, 0x1
bne _080B7C2C
bl warp_in
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80B6B68
str r0, [r1]
ldr r0, =c2_load_new_map
@@ -4222,7 +4222,7 @@ _080B7C2C:
thumb_func_start sub_80B7C48
sub_80B7C48: @ 80B7C48
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -4359,7 +4359,7 @@ sub_80B7D34: @ 80B7D34
bl music_something
bl sub_80AF0B4
_080B7D60:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4399,7 +4399,7 @@ _080B7D86:
bl FieldObjectSetDirection
bl sub_8084E14
bl warp_in
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =mapldr_080859D4
str r0, [r1]
ldr r0, =c2_load_new_map
@@ -4462,11 +4462,11 @@ mapldr_080859D4: @ 80B7E48
bl pal_fill_for_maplights
bl ScriptContext2_Enable
bl player_bitmagic
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4537,7 +4537,7 @@ sub_80B7EE8: @ 80B7EE8
mov r0, sp
movs r2, 0x5
bl memcpy
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4695,7 +4695,7 @@ sub_80B8034: @ 80B8034
mov r0, sp
movs r2, 0x5
bl memcpy
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4765,7 +4765,7 @@ sub_80B80C4: @ 80B80C4
mov r0, sp
movs r2, 0x5
bl memcpy
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4885,7 +4885,7 @@ _080B81B8:
bl warp_in
ldr r0, =c2_load_new_map
bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =mapldr_08085D88
str r0, [r1]
ldr r0, =sub_80B7FDC
@@ -4907,11 +4907,11 @@ mapldr_08085D88: @ 80B8200
bl pal_fill_for_maplights
bl ScriptContext2_Enable
bl player_bitmagic
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4961,7 +4961,7 @@ sub_80B8280: @ 80B8280
lsls r0, 24
cmp r0, 0
beq _080B82F6
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x4]
lsls r2, r0, 4
adds r2, r0
@@ -5027,7 +5027,7 @@ sub_80B830C: @ 80B830C
mov r0, sp
movs r2, 0x5
bl memcpy
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -5156,7 +5156,7 @@ sub_80B8410: @ 80B8410
mov r0, sp
movs r2, 0x5
bl memcpy
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -5229,7 +5229,7 @@ _080B84BE:
bl CreateTask
lsls r0, 24
lsrs r4, r0, 24
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
ldr r0, [r2]
ldr r1, [r2, 0x4]
ldr r2, [r2, 0x8]
@@ -5252,7 +5252,7 @@ _080B84BE:
thumb_func_start sub_80B84F8
sub_80B84F8: @ 80B84F8
push {r4-r6,lr}
- ldr r5, =gUnknown_02038C08
+ ldr r5, =gFieldEffectSpawnParams
ldr r0, [r5]
movs r6, 0x80
lsls r6, 24
@@ -6292,7 +6292,7 @@ sub_80B8D44: @ 80B8D44
adds r1, r0
lsls r1, 3
adds r1, r2
- ldr r0, =gUnknown_02038C08
+ ldr r0, =gFieldEffectSpawnParams
ldr r0, [r0]
strh r0, [r1, 0x26]
bl sav1_reset_battle_music_maybe
@@ -6335,7 +6335,7 @@ sub_80B8DB4: @ 80B8DB4
adds r4, r0, 0
bl ScriptContext2_Enable
bl player_bitmagic
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
movs r0, 0x1
strb r0, [r5, 0x6]
movs r0, 0x8
@@ -6374,7 +6374,7 @@ sub_80B8DB4: @ 80B8DB4
sub_80B8E14: @ 80B8E14
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -6410,7 +6410,7 @@ _080B8E50:
sub_80B8E60: @ 80B8E60
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -6421,7 +6421,7 @@ sub_80B8E60: @ 80B8E60
lsls r0, 24
cmp r0, 0
beq _080B8E96
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
movs r1, 0x26
ldrsh r0, [r4, r1]
movs r1, 0x80
@@ -6449,7 +6449,7 @@ sub_80B8EA8: @ 80B8EA8
lsls r0, 24
cmp r0, 0
bne _080B8F12
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -6473,7 +6473,7 @@ sub_80B8EA8: @ 80B8EA8
lsrs r1, 24
adds r0, r4, 0
bl FieldObjectSetSpecialAnim
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0xA
ldrsh r0, [r6, r2]
str r0, [r1]
@@ -6498,7 +6498,7 @@ _080B8F12:
thumb_func_start sub_80B8F24
sub_80B8F24: @ 80B8F24
push {r4,r5,lr}
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r1, [r5, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -6704,7 +6704,7 @@ sub_80B90CC: @ 80B90CC
strb r0, [r2, 0x5]
ldr r0, =sub_80B9128
str r0, [r2, 0x1C]
- ldr r0, =gUnknown_02038C08
+ ldr r0, =gFieldEffectSpawnParams
ldr r0, [r0]
strh r0, [r2, 0x30]
movs r0, 0x9E
@@ -6793,7 +6793,7 @@ sub_80B91A4: @ 80B91A4
adds r1, r0
lsls r1, 3
adds r1, r2
- ldr r0, =gUnknown_02038C08
+ ldr r0, =gFieldEffectSpawnParams
ldr r0, [r0]
strh r0, [r1, 0xA]
movs r0, 0
@@ -6829,7 +6829,7 @@ sub_80B91D4: @ 80B91D4
sub_80B9204: @ 80B9204
push {r4-r6,lr}
adds r5, r0, 0
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r1, [r6, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -6870,7 +6870,7 @@ _080B924C:
sub_80B925C: @ 80B925C
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -6884,7 +6884,7 @@ sub_80B925C: @ 80B925C
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0xA
ldrsh r0, [r4, r2]
str r0, [r1]
@@ -6906,7 +6906,7 @@ sub_80B92A0: @ 80B92A0
lsls r0, 24
cmp r0, 0
bne _080B92E8
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -6955,7 +6955,7 @@ sub_80B92F8: @ 80B92F8
strh r0, [r4, 0xC]
movs r0, 0x1
bl SetPlayerAvatarTransitionFlags
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -6975,7 +6975,7 @@ _080B932C:
sub_80B933C: @ 80B933C
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -7023,7 +7023,7 @@ sub_80B9390: @ 80B9390
asrs r0, 16
cmp r0, 0x7
ble _080B9406
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -7087,7 +7087,7 @@ sub_80B9418: @ 80B9418
asrs r0, 16
cmp r0, 0x9
ble _080B9464
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -7582,7 +7582,7 @@ sub_80B97D4: @ 80B97D4
sub_80B9804: @ 80B9804
push {r4-r6,lr}
adds r5, r0, 0
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r1, [r6, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -7673,7 +7673,7 @@ sub_80B98B8: @ 80B98B8
cmp r0, 0
bne _080B9910
_080B98D0:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -7720,7 +7720,7 @@ sub_80B9924: @ 80B9924
mov r0, sp
movs r2, 0x24
bl memcpy
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r1, r0, 4
adds r1, r0
@@ -7760,7 +7760,7 @@ sub_80B9978: @ 80B9978
lsls r0, 24
cmp r0, 0
beq _080B99DC
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r5, r0, 3
adds r5, r0
@@ -7810,7 +7810,7 @@ _080B99DC:
sub_80B99F0: @ 80B99F0
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -7872,7 +7872,7 @@ sub_80B9A60: @ 80B9A60
lsls r0, 16
cmp r0, 0
bne _080B9ACA
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r1, [r6, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -7922,7 +7922,7 @@ _080B9ACA:
sub_80B9ADC: @ 80B9ADC
push {r4,lr}
sub sp, 0x4
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldrb r0, [r4]
ldrb r1, [r4, 0x4]
ldrb r2, [r4, 0x8]
@@ -8343,7 +8343,7 @@ _080B9E24:
sub_80B9E28: @ 80B9E28
push {r4-r7,lr}
sub sp, 0x4
- ldr r7, =gUnknown_02038C08
+ ldr r7, =gFieldEffectSpawnParams
ldrb r0, [r7]
ldrb r1, [r7, 0x4]
ldrb r2, [r7, 0x8]
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s
index 69c67672c..223a27937 100644
--- a/asm/field_effect_helpers.s
+++ b/asm/field_effect_helpers.s
@@ -130,13 +130,13 @@ npc_pal_op: @ 8153FAC
cmp r0, 0
bne _08154008
ldrb r0, [r5, 0x1F]
- bl sub_80894D4
+ bl MetatileBehavior_GetBridgeSth
lsls r0, 24
lsrs r0, 24
cmp r0, 0
bne _08153FEE
ldrb r0, [r5, 0x1E]
- bl sub_80894D4
+ bl MetatileBehavior_GetBridgeSth
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -574,7 +574,7 @@ _0815432E:
thumb_func_start oei_shadow
oei_shadow: @ 8154340
push {r4,r5,lr}
- ldr r5, =gUnknown_02038C08
+ ldr r5, =gFieldEffectSpawnParams
ldrb r0, [r5]
ldrb r1, [r5, 0x4]
ldrb r2, [r5, 0x8]
@@ -702,7 +702,7 @@ _08154412:
cmp r0, r1
bne _08154490
ldrb r0, [r4, 0x1E]
- bl sub_8088E64
+ bl MetatileBehavior_IsPokeGrass
lsls r0, 24
cmp r0, 0
bne _08154490
@@ -742,7 +742,7 @@ _08154498:
oei_grass_normal: @ 81544AC
push {r4,r5,lr}
sub sp, 0x4
- ldr r5, =gUnknown_02038C08
+ ldr r5, =gFieldEffectSpawnParams
ldrh r1, [r5]
mov r0, sp
strh r1, [r0]
@@ -827,7 +827,7 @@ unc_grass_normal: @ 8154550
lsrs r4, r0, 8
lsls r0, 24
lsrs r7, r0, 24
- ldr r3, =gUnknown_02037334
+ ldr r3, =gCamera
ldrb r1, [r3]
movs r0, 0x1
ands r0, r1
@@ -951,7 +951,7 @@ _08154648:
thumb_func_start sub_8154658
sub_8154658: @ 8154658
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -1080,7 +1080,7 @@ _0815474C:
sub_8154758: @ 8154758
push {r4,r5,lr}
sub sp, 0x4
- ldr r5, =gUnknown_02038C08
+ ldr r5, =gFieldEffectSpawnParams
ldrh r1, [r5]
mov r0, sp
strh r1, [r0]
@@ -1166,7 +1166,7 @@ unc_grass_tall: @ 8154800
lsrs r7, r0, 8
lsls r0, 24
lsrs r6, r0, 24
- ldr r3, =gUnknown_02037334
+ ldr r3, =gCamera
ldrb r1, [r3]
movs r0, 0x1
ands r0, r1
@@ -1282,7 +1282,7 @@ _081548EA:
thumb_func_start sub_81548FC
sub_81548FC: @ 81548FC
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -1336,7 +1336,7 @@ _08154958:
thumb_func_start sub_815496C
sub_815496C: @ 815496C
push {r4-r6,lr}
- ldr r6, =gUnknown_02038C08
+ ldr r6, =gFieldEffectSpawnParams
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
@@ -1537,7 +1537,7 @@ _08154AF2:
thumb_func_start sub_8154B04
sub_8154B04: @ 8154B04
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -1591,7 +1591,7 @@ _08154B62:
thumb_func_start sub_8154B78
sub_8154B78: @ 8154B78
push {r4,r5,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -1646,7 +1646,7 @@ _08154BD8:
thumb_func_start sub_8154BEC
sub_8154BEC: @ 8154BEC
push {r4,r5,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -1777,7 +1777,7 @@ _08154CE4:
thumb_func_start sub_8154CEC
sub_8154CEC: @ 8154CEC
push {r4-r6,lr}
- ldr r6, =gUnknown_02038C08
+ ldr r6, =gFieldEffectSpawnParams
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
@@ -1922,7 +1922,7 @@ _08154E0A:
thumb_func_start sub_8154E1C
sub_8154E1C: @ 8154E1C
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -1976,7 +1976,7 @@ _08154E78:
thumb_func_start oei_water_drop_tall
oei_water_drop_tall: @ 8154E8C
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -2030,7 +2030,7 @@ _08154EE8:
thumb_func_start sub_8154EFC
sub_8154EFC: @ 8154EFC
push {r4-r7,lr}
- ldr r7, =gUnknown_02038C08
+ ldr r7, =gFieldEffectSpawnParams
ldrb r0, [r7]
ldrb r1, [r7, 0x4]
ldrb r2, [r7, 0x8]
@@ -2193,7 +2193,7 @@ oei_ripples: @ 8155054
push {r4,lr}
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x14]
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
movs r2, 0
ldrsh r1, [r4, r2]
movs r3, 0x4
@@ -2238,7 +2238,7 @@ _081550A0:
thumb_func_start sub_81550B4
sub_81550B4: @ 81550B4
push {r4-r6,lr}
- ldr r6, =gUnknown_02038C08
+ ldr r6, =gFieldEffectSpawnParams
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
@@ -2393,7 +2393,7 @@ _081551E4:
thumb_func_start sub_81551F0
sub_81551F0: @ 81551F0
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -2445,7 +2445,7 @@ _08155248:
thumb_func_start sub_815525C
sub_815525C: @ 815525C
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -2497,7 +2497,7 @@ _081552B4:
thumb_func_start sub_81552C8
sub_81552C8: @ 81552C8
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -2549,7 +2549,7 @@ _08155320:
thumb_func_start sub_8155334
sub_8155334: @ 8155334
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -2603,7 +2603,7 @@ ash: @ 81553A0
push {r4,lr}
lsls r2, 16
lsrs r2, 16
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
lsls r0, 16
asrs r0, 16
str r0, [r4]
@@ -2630,7 +2630,7 @@ ash: @ 81553A0
oei_ash: @ 81553D4
push {r4,r5,lr}
sub sp, 0x4
- ldr r5, =gUnknown_02038C08
+ ldr r5, =gFieldEffectSpawnParams
ldrh r1, [r5]
mov r0, sp
strh r1, [r0]
@@ -2766,7 +2766,7 @@ sub_81554AC: @ 81554AC
ldrsh r1, [r4, r2]
bl CurrentMapDrawMetatileAt
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2809,7 +2809,7 @@ _0815552C:
thumb_func_start sub_8155534
sub_8155534: @ 8155534
push {r4,r5,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -3261,7 +3261,7 @@ _08155888:
thumb_func_start sub_8155890
sub_8155890: @ 8155890
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -3315,7 +3315,7 @@ _081558EC:
thumb_func_start sub_8155900
sub_8155900: @ 8155900
push {r4-r7,lr}
- ldr r7, =gUnknown_02038C08
+ ldr r7, =gFieldEffectSpawnParams
ldrb r0, [r7]
ldrb r1, [r7, 0x4]
ldrb r2, [r7, 0x8]
@@ -3505,7 +3505,7 @@ _08155A76:
thumb_func_start sub_8155A88
sub_8155A88: @ 8155A88
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -3586,7 +3586,7 @@ _08155B20:
thumb_func_start sub_8155B2C
sub_8155B2C: @ 8155B2C
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
adds r1, r4, 0x4
adds r0, r4, 0
movs r2, 0x8
@@ -3689,7 +3689,7 @@ ShowDisguiseFieldEffect: @ 8155BD0
lsrs r6, r1, 24
lsls r2, 24
lsrs r7, r2, 24
- ldr r5, =gUnknown_02038C08
+ ldr r5, =gFieldEffectSpawnParams
ldrb r0, [r5]
ldrb r1, [r5, 0x4]
ldrb r2, [r5, 0x8]
@@ -3950,7 +3950,7 @@ _08155DD8:
thumb_func_start sub_8155DDC
sub_8155DDC: @ 8155DDC
push {r4,lr}
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r0, [r4]
adds r0, 0x7
str r0, [r4]
diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s
index e4c6631d4..7d05dbd98 100644
--- a/asm/field_ground_effect.s
+++ b/asm/field_ground_effect.s
@@ -1166,7 +1166,7 @@ _08096E8C:
@ void GroundEffect_SpawnOnTallGrass(struct npc_state *fieldObject, struct obj *object)
GroundEffect_SpawnOnTallGrass: @ 8096E90
push {lr}
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r1, [r0, r2]
str r1, [r3]
@@ -1205,7 +1205,7 @@ GroundEffect_SpawnOnTallGrass: @ 8096E90
@ void GroundEffect_StepOnTallGrass(struct npc_state *fieldObject, struct obj *object)
GroundEffect_StepOnTallGrass: @ 8096EDC
push {lr}
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r1, [r0, r2]
str r1, [r3]
@@ -1244,7 +1244,7 @@ GroundEffect_StepOnTallGrass: @ 8096EDC
@ void GroundEffect_SpawnOnLongGrass(struct npc_state *fieldObject, struct obj *object)
GroundEffect_SpawnOnLongGrass: @ 8096F28
push {lr}
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r1, [r0, r2]
str r1, [r3]
@@ -1283,7 +1283,7 @@ GroundEffect_SpawnOnLongGrass: @ 8096F28
@ void GroundEffect_StepOnLongGrass(struct npc_state *fieldObject, struct obj *object)
GroundEffect_StepOnLongGrass: @ 8096F74
push {lr}
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r1, [r0, r2]
str r1, [r3]
@@ -1413,7 +1413,7 @@ DoTracksGroundEffect_Footprints: @ 8097044
mov r0, sp
movs r2, 0x4
bl memcpy
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0x14
ldrsh r0, [r5, r2]
str r0, [r1]
@@ -1449,7 +1449,7 @@ DoTracksGroundEffect_BikeTireTracks: @ 8097094
ldr r0, [r4, 0x14]
cmp r1, r0
beq _080970D6
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
movs r1, 0x14
ldrsh r0, [r4, r1]
str r0, [r2]
@@ -1520,7 +1520,7 @@ GroundEffect_JumpOnTallGrass: @ 8097110
sub sp, 0x4
adds r5, r0, 0
adds r6, r1, 0
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r0, [r5, r2]
str r0, [r1]
@@ -1562,7 +1562,7 @@ _0809715A:
@ void GroundEffect_JumpOnLongGrass(struct npc_state *fieldObject, struct obj *object)
GroundEffect_JumpOnLongGrass: @ 8097168
push {lr}
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
movs r3, 0x10
ldrsh r1, [r0, r3]
str r1, [r2]
@@ -1585,7 +1585,7 @@ GroundEffect_JumpOnLongGrass: @ 8097168
@ void GroundEffect_JumpOnShallowWater(struct npc_state *fieldObject, struct obj *object)
GroundEffect_JumpOnShallowWater: @ 8097190
push {r4,lr}
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r4, 0x10
ldrsh r2, [r0, r4]
str r2, [r3]
@@ -1611,7 +1611,7 @@ GroundEffect_JumpOnShallowWater: @ 8097190
@ void GroundEffect_JumpOnWater(struct npc_state *fieldObject, struct obj *object)
GroundEffect_JumpOnWater: @ 80971C0
push {r4,lr}
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r4, 0x10
ldrsh r2, [r0, r4]
str r2, [r3]
@@ -1637,7 +1637,7 @@ GroundEffect_JumpOnWater: @ 80971C0
@ void GroundEffect_JumpLandingDust(struct npc_state *fieldObject, struct obj *object)
GroundEffect_JumpLandingDust: @ 80971F0
push {r4,lr}
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r4, 0x10
ldrsh r2, [r0, r4]
str r2, [r3]
@@ -1685,7 +1685,7 @@ GroundEffect_HotSprings: @ 8097230
@ void GroundEffect_Seaweed(struct npc_state *fieldObject, struct obj *object)
GroundEffect_Seaweed: @ 8097240
push {lr}
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
movs r3, 0x10
ldrsh r1, [r0, r3]
str r1, [r2]
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
deleted file mode 100644
index 223e29ad7..000000000
--- a/asm/field_map_obj.s
+++ /dev/null
@@ -1,20270 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start npc_clear_ids_and_state
-npc_clear_ids_and_state: @ 808D3F0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- movs r2, 0x24
- bl memset
- movs r0, 0xFF
- strb r0, [r4, 0x8]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r4, 0x9]
- strb r0, [r4, 0xA]
- strb r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end npc_clear_ids_and_state
-
- thumb_func_start npcs_clear_ids_and_state
-npcs_clear_ids_and_state: @ 808D410
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMapObjects
-_0808D416:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- bl npc_clear_ids_and_state
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0808D416
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end npcs_clear_ids_and_state
-
- thumb_func_start sub_808D438
-sub_808D438: @ 808D438
- push {lr}
- bl strange_npc_table_clear
- bl npcs_clear_ids_and_state
- bl ClearPlayerAvatarInfo
- bl sub_808D450
- pop {r0}
- bx r0
- thumb_func_end sub_808D438
-
- thumb_func_start sub_808D450
-sub_808D450: @ 808D450
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- ldr r0, =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x54]
- mov r9, r0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- mov r10, r1
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r10
- ldrb r1, [r4, 0x1]
- movs r5, 0x4
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- movs r1, 0x1
- mov r8, r1
- mov r1, r8
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r6, 0x4
- orrs r0, r6
- strb r0, [r4]
- mov r0, r9
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r10
- ldrb r0, [r4, 0x1]
- ands r5, r0
- mov r0, r8
- orrs r5, r0
- strb r5, [r4, 0x1]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r6
- strb r0, [r4]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808D450
-
- thumb_func_start sub_808D4F4
-sub_808D4F4: @ 808D4F4
- push {lr}
- movs r1, 0
- ldr r2, =gMapObjects
- ldrb r0, [r2]
- b _0808D518
- .pool
-_0808D504:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bhi _0808D51E
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
-_0808D518:
- lsls r0, 31
- cmp r0, 0
- bne _0808D504
-_0808D51E:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_808D4F4
-
- thumb_func_start GetFieldObjectIdByLocalIdAndMap
-@ u8 GetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
-GetFieldObjectIdByLocalIdAndMap: @ 808D524
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r0, 0xFE
- bls _0808D53C
- bl GetFieldObjectIdByLocalId
- b _0808D540
-_0808D53C:
- bl GetFieldObjectIdByLocalIdAndMapInternal
-_0808D540:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectIdByLocalIdAndMap
-
- thumb_func_start TryGetFieldObjectIdByLocalIdAndMap
-@ bool8 TryGetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId, u8 *fieldObjectId)
-TryGetFieldObjectIdByLocalIdAndMap: @ 808D548
- push {r4,lr}
- adds r4, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- bl GetFieldObjectIdByLocalIdAndMap
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _0808D56A
- movs r0, 0
- b _0808D56C
-_0808D56A:
- movs r0, 0x1
-_0808D56C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end TryGetFieldObjectIdByLocalIdAndMap
-
- thumb_func_start GetFieldObjectIdByXY
-@ u8 GetFieldObjectIdByXY(s16 x, s16 y)
-GetFieldObjectIdByXY: @ 808D574
- push {r4-r6,lr}
- movs r3, 0
- ldr r5, =gMapObjects
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r1, 16
-_0808D582:
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- adds r2, r0, r5
- ldrb r0, [r2]
- lsls r0, 31
- cmp r0, 0
- beq _0808D5A2
- movs r6, 0x10
- ldrsh r0, [r2, r6]
- cmp r0, r4
- bne _0808D5A2
- movs r6, 0x12
- ldrsh r0, [r2, r6]
- cmp r0, r1
- beq _0808D5AC
-_0808D5A2:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _0808D582
-_0808D5AC:
- adds r0, r3, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFieldObjectIdByXY
-
- thumb_func_start GetFieldObjectIdByLocalIdAndMapInternal
-@ u8 GetFieldObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapId, u8 mapGroupId)
-GetFieldObjectIdByLocalIdAndMapInternal: @ 808D5B8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- ldr r6, =gMapObjects
-_0808D5CA:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r6
- ldrb r0, [r3]
- lsls r0, 31
- cmp r0, 0
- beq _0808D5F4
- ldrb r0, [r3, 0x8]
- cmp r0, r5
- bne _0808D5F4
- ldrb r0, [r3, 0x9]
- cmp r0, r4
- bne _0808D5F4
- ldrb r0, [r3, 0xA]
- cmp r0, r2
- bne _0808D5F4
- adds r0, r1, 0
- b _0808D600
- .pool
-_0808D5F4:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _0808D5CA
- movs r0, 0x10
-_0808D600:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectIdByLocalIdAndMapInternal
-
- thumb_func_start GetFieldObjectIdByLocalId
-@ u8 GetFieldObjectIdByLocalId(u8 localId)
-GetFieldObjectIdByLocalId: @ 808D608
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r4, =gMapObjects
-_0808D612:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r4
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _0808D630
- ldrb r0, [r1, 0x8]
- cmp r0, r3
- bne _0808D630
- adds r0, r2, 0
- b _0808D63C
- .pool
-_0808D630:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _0808D612
- movs r0, 0x10
-_0808D63C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectIdByLocalId
-
- thumb_func_start InitFieldObjectStateFromTemplate
-@ u8 InitFieldObjectStateFromTemplate(struct FieldObjectTemplate *fieldObjectTemplate, u8 mapId, u8 mapGroupId)
-InitFieldObjectStateFromTemplate: @ 808D644
- 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
- lsls r2, 24
- lsrs r7, r2, 24
- ldrb r0, [r5]
- adds r1, r6, 0
- adds r2, r7, 0
- mov r3, sp
- bl GetAvailableFieldObjectSlot
- lsls r0, 24
- cmp r0, 0
- beq _0808D66E
- movs r0, 0x10
- b _0808D762
-_0808D66E:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl npc_clear_ids_and_state
- ldrh r3, [r5, 0x4]
- adds r3, 0x7
- lsls r3, 16
- lsrs r3, 16
- ldrh r2, [r5, 0x6]
- adds r2, 0x7
- lsls r2, 16
- lsrs r2, 16
- ldrb r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0x1]
- strb r0, [r4, 0x5]
- ldrb r0, [r5, 0x9]
- strb r0, [r4, 0x6]
- ldrb r0, [r5]
- strb r0, [r4, 0x8]
- strb r6, [r4, 0x9]
- strb r7, [r4, 0xA]
- strh r3, [r4, 0xC]
- strh r2, [r4, 0xE]
- strh r3, [r4, 0x10]
- strh r2, [r4, 0x12]
- strh r3, [r4, 0x14]
- strh r2, [r4, 0x16]
- ldrb r0, [r5, 0x8]
- movs r7, 0xF
- adds r1, r7, 0
- ands r1, r0
- ldrb r2, [r4, 0xB]
- movs r0, 0x10
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0xB]
- ldrb r1, [r5, 0x8]
- lsls r1, 4
- ands r0, r7
- orrs r0, r1
- strb r0, [r4, 0xB]
- ldrb r1, [r5, 0xA]
- lsls r1, 28
- movs r0, 0xF
- mov r9, r0
- lsrs r1, 28
- ldrb r2, [r4, 0x19]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x19]
- ldrb r1, [r5, 0xA]
- lsrs r1, 4
- lsls r1, 4
- ands r0, r7
- orrs r0, r1
- strb r0, [r4, 0x19]
- ldrh r0, [r5, 0xC]
- strb r0, [r4, 0x7]
- ldrh r0, [r5, 0xE]
- strb r0, [r4, 0x1D]
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r5, 0x9]
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- adds r0, 0x20
- strb r1, [r0]
- ldrb r1, [r0]
- adds r0, r4, 0
- bl FieldObjectSetDirection
- adds r0, r4, 0
- bl FieldObjectHandleDynamicGraphicsId
- ldr r1, =gUnknown_0850557C
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808D75E
- ldrb r2, [r4, 0x19]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- bne _0808D746
- lsls r0, r2, 28
- lsrs r0, 28
- adds r0, 0x1
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x19]
-_0808D746:
- ldrb r2, [r4, 0x19]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- bne _0808D75E
- lsrs r1, r2, 4
- adds r1, 0x1
- lsls r1, 4
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x19]
-_0808D75E:
- mov r0, sp
- ldrb r0, [r0]
-_0808D762:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end InitFieldObjectStateFromTemplate
-
- thumb_func_start sub_808D77C
-sub_808D77C: @ 808D77C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gMapHeader
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0808D7FE
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0808D7A8
- bl sub_81AAA40
- lsls r0, 24
- lsrs r6, r0, 24
- b _0808D7CA
- .pool
-_0808D7A8:
- bl InTrainerHill
- cmp r0, 0
- beq _0808D7C6
- movs r6, 0x2
- b _0808D7CA
-_0808D7B4:
- ldr r0, [r7]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- adds r0, r4, 0
- bl InitFieldObjectStateFromTemplate
- lsls r0, 24
- lsrs r0, 24
- b _0808D800
-_0808D7C6:
- ldr r0, [r4, 0x4]
- ldrb r6, [r0]
-_0808D7CA:
- movs r5, 0
- cmp r5, r6
- bcs _0808D7FE
- ldr r7, =gSaveBlock1Ptr
-_0808D7D2:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- movs r1, 0xC7
- lsls r1, 4
- adds r0, r1
- ldr r1, [r7]
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, r8
- bne _0808D7F4
- ldrh r0, [r4, 0x14]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0808D7B4
-_0808D7F4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _0808D7D2
-_0808D7FE:
- movs r0, 0x10
-_0808D800:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808D77C
-
- thumb_func_start GetAvailableFieldObjectSlot
-@ bool8 GetAvailableFieldObjectSlot(u16 localId, u8 mapId, u8 mapGroupId, u8 *fieldObjectId)
-GetAvailableFieldObjectSlot: @ 808D810
- push {r4-r7,lr}
- mov r12, r3
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r2, 0
- ldr r1, =gMapObjects
- ldrb r0, [r1]
- lsls r0, 31
- adds r7, r1, 0
- cmp r0, 0
- beq _0808D864
- adds r3, r1, 0
-_0808D830:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r3
- ldrb r0, [r1, 0x8]
- cmp r0, r6
- bne _0808D84A
- ldrb r0, [r1, 0x9]
- cmp r0, r5
- bne _0808D84A
- ldrb r0, [r1, 0xA]
- cmp r0, r4
- beq _0808D868
-_0808D84A:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bhi _0808D868
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _0808D830
-_0808D864:
- cmp r2, 0xF
- bls _0808D870
-_0808D868:
- movs r0, 0x1
- b _0808D8A4
- .pool
-_0808D870:
- mov r0, r12
- strb r2, [r0]
- ldr r1, =gMapObjects
-_0808D876:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrb r0, [r3]
- lsls r0, 31
- cmp r0, 0
- beq _0808D898
- ldrb r0, [r3, 0x8]
- cmp r0, r6
- bne _0808D898
- ldrb r0, [r3, 0x9]
- cmp r0, r5
- bne _0808D898
- ldrb r0, [r3, 0xA]
- cmp r0, r4
- beq _0808D868
-_0808D898:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _0808D876
- movs r0, 0
-_0808D8A4:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetAvailableFieldObjectSlot
-
- thumb_func_start RemoveFieldObject
-@ void RemoveFieldObject(npc_state *fieldObject)
-RemoveFieldObject: @ 808D8B0
- push {lr}
- ldrb r2, [r0]
- movs r1, 0x2
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bl RemoveFieldObjectInternal
- pop {r0}
- bx r0
- thumb_func_end RemoveFieldObject
-
- thumb_func_start RemoveFieldObjectByLocalIdAndMap
-@ void RemoveFieldObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapBank)
-RemoveFieldObjectByLocalIdAndMap: @ 808D8C4
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808D902
- mov r0, sp
- ldrb r0, [r0]
- bl GetFieldObjectFlagIdByFieldObjectId
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl RemoveFieldObject
-_0808D902:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveFieldObjectByLocalIdAndMap
-
- thumb_func_start RemoveFieldObjectInternal
-@ void RemoveFieldObjectInternal(npc_state *fieldObject)
-RemoveFieldObjectInternal: @ 808D90C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldrh r2, [r0, 0x6]
- ldr r1, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- ldr r2, =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0xC
- adds r0, r1
- mov r1, sp
- str r1, [r0]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- bl DestroySprite
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveFieldObjectInternal
-
- thumb_func_start sub_808D958
-sub_808D958: @ 808D958
- push {r4,lr}
- movs r4, 0
-_0808D95C:
- ldr r0, =gUnknown_02037590
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- beq _0808D972
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl RemoveFieldObject
-_0808D972:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0808D95C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808D958
-
- thumb_func_start SpawnFieldObjectInternal
-@ u8 SpawnFieldObjectInternal(struct FieldObjectTemplate *romFieldObject, struct objtemplate *template, int mapId, int mapGroupId, u16 movingCameraOffsetX, u16 movingCameraOffsetY)
-SpawnFieldObjectInternal: @ 808D98C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r1
- adds r1, r2, 0
- adds r2, r3, 0
- ldr r3, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp]
- bl InitFieldObjectStateFromTemplate
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0x10
- bne _0808D9C8
- movs r0, 0x10
- b _0808DB2C
-_0808D9C8:
- mov r0, r9
- lsls r4, r0, 3
- adds r0, r4, r0
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r7, r0, 0
- ldrb r0, [r7, 0xC]
- lsls r0, 28
- lsrs r5, r0, 28
- cmp r5, 0
- bne _0808D9F4
- ldrh r0, [r7, 0x2]
- movs r1, 0
- bl npc_load_two_palettes__no_record
- b _0808DA16
- .pool
-_0808D9F4:
- cmp r5, 0xA
- bne _0808DA02
- ldrh r0, [r7, 0x2]
- movs r1, 0xA
- bl npc_load_two_palettes__and_record
- b _0808DA16
-_0808DA02:
- cmp r5, 0xF
- bls _0808DA16
- adds r0, r5, 0
- subs r0, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r7, 0x2]
- adds r1, r5, 0
- bl sub_808EAB0
-_0808DA16:
- ldrb r0, [r6, 0x6]
- cmp r0, 0x4C
- bne _0808DA24
- ldrb r0, [r6, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r6, 0x1]
-_0808DA24:
- ldr r1, =0x0000ffff
- adds r0, r1, 0
- mov r2, r8
- strh r0, [r2, 0x2]
- mov r0, r8
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- bne _0808DA64
- ldr r0, =gMapObjects
- mov r2, r9
- adds r1, r4, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x10
- b _0808DB2C
- .pool
-_0808DA64:
- mov r1, r8
- lsls r0, r1, 4
- add r0, r8
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r6, 0x10]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldr r2, [sp]
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r2, [r6, 0x12]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8092FF0
- ldrh r0, [r7, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r4, 0
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r7, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r2, r4, 0
- adds r2, 0x29
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x8
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r1, 0x10
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- strh r0, [r4, 0x22]
- lsls r2, r5, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- mov r0, r9
- strh r0, [r4, 0x2E]
- mov r1, r8
- strb r1, [r6, 0x4]
- ldrb r1, [r7, 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
- strb r0, [r6, 0x1]
- lsls r0, 27
- cmp r0, 0
- blt _0808DB16
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_0808DB16:
- ldrb r0, [r6, 0xB]
- lsrs r0, 4
- adds r1, r4, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8096518
- mov r0, r9
-_0808DB2C:
- 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 SpawnFieldObjectInternal
-
- thumb_func_start SpawnFieldObject
-@ u8 SpawnFieldObject(struct FieldObjectTemplate *romNpc, u8 mapId, u8 mapGroupId, u16 movingCameraOffsetX, u16 movingCameraOffsetY)
-SpawnFieldObject: @ 808DB40
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x2C
- mov r9, r0
- adds r6, r1, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x48]
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0
- str r0, [sp, 0x20]
- mov r1, r9
- ldrb r0, [r1, 0x1]
- bl GetFieldObjectGraphicsInfo
- adds r7, r0, 0
- add r2, sp, 0x20
- mov r0, r9
- add r1, sp, 0x8
- bl MakeObjectTemplateFromFieldObjectTemplate
- ldrh r3, [r7, 0x6]
- ldr r2, =0xffff0000
- add r1, sp, 0x24
- ldr r0, [r1, 0x4]
- ands r0, r2
- orrs r0, r3
- str r0, [r1, 0x4]
- str r1, [sp, 0x14]
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- mov r0, r9
- add r1, sp, 0x8
- adds r2, r6, 0
- mov r3, r8
- bl SpawnFieldObjectInternal
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- cmp r2, 0x10
- bne _0808DBBC
- movs r0, 0x10
- b _0808DBF2
- .pool
-_0808DBBC:
- ldr r4, =gSprites
- ldr r1, =gMapObjects
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0xC
- adds r0, r1
- ldr r1, [r7, 0x1C]
- str r1, [r0]
- ldr r2, [sp, 0x20]
- cmp r2, 0
- beq _0808DBF0
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r1, r2, 0
- bl SetSubspriteTables
-_0808DBF0:
- adds r0, r5, 0
-_0808DBF2:
- add sp, 0x2C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end SpawnFieldObject
-
- thumb_func_start SpawnSpecialFieldObject
-@ u8 SpawnSpecialFieldObject(struct FieldObjectTemplate *romFieldObject)
-SpawnSpecialFieldObject: @ 808DC08
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- mov r4, sp
- adds r4, 0x6
- add r0, sp, 0x4
- adds r1, r4, 0
- bl GetFieldObjectMovingCameraOffset
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- add r0, sp, 0x4
- movs r6, 0
- ldrsh r3, [r0, r6]
- movs r6, 0
- ldrsh r0, [r4, r6]
- str r0, [sp]
- adds r0, r5, 0
- bl SpawnFieldObject
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end SpawnSpecialFieldObject
-
- thumb_func_start SpawnSpecialFieldObjectParametrized
-@ u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, u16 x, u16 y, u8 z)
-SpawnSpecialFieldObjectParametrized: @ 808DC44
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- mov r8, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r3, 16
- ldr r5, =0xfff90000
- adds r3, r5
- lsrs r3, 16
- lsls r4, 16
- adds r4, r5
- lsrs r4, 16
- mov r5, sp
- movs r6, 0
- strb r2, [r5]
- mov r2, sp
- strb r0, [r2, 0x1]
- mov r0, sp
- strb r6, [r0, 0x2]
- movs r5, 0
- strh r3, [r0, 0x4]
- strh r4, [r0, 0x6]
- mov r2, r8
- strb r2, [r0, 0x8]
- strb r1, [r0, 0x9]
- mov r2, sp
- ldrb r1, [r2, 0xA]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0xA]
- mov r0, sp
- strb r5, [r0, 0xA]
- strh r6, [r0, 0xC]
- strh r6, [r0, 0xE]
- bl SpawnSpecialFieldObject
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end SpawnSpecialFieldObjectParametrized
-
- thumb_func_start show_sprite
-show_sprite: @ 808DCAC
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- adds r1, r7, 0
- adds r2, r6, 0
- bl GetFieldObjectTemplateByLocalIdAndMap
- adds r5, r0, 0
- cmp r5, 0
- beq _0808DCF2
- mov r4, sp
- adds r4, 0x6
- add r0, sp, 0x4
- adds r1, r4, 0
- bl GetFieldObjectMovingCameraOffset
- add r0, sp, 0x4
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r1, 0
- ldrsh r0, [r4, r1]
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl SpawnFieldObject
- lsls r0, 24
- lsrs r0, 24
- b _0808DCF4
-_0808DCF2:
- movs r0, 0x10
-_0808DCF4:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end show_sprite
-
- thumb_func_start MakeObjectTemplateFromFieldObjectGraphicsInfo
-@ void MakeObjectTemplateFromFieldObjectGraphicsInfo(u8 graphicsId, void ( *callback)(), struct objtemplate *objectTemplate, SpriteOamTable **spriteOamTables)
-MakeObjectTemplateFromFieldObjectGraphicsInfo: @ 808DCFC
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- bl GetFieldObjectGraphicsInfo
- ldrh r1, [r0]
- strh r1, [r4]
- ldrh r1, [r0, 0x2]
- strh r1, [r4, 0x2]
- ldr r1, [r0, 0x10]
- str r1, [r4, 0x4]
- ldr r1, [r0, 0x18]
- str r1, [r4, 0x8]
- ldr r1, [r0, 0x1C]
- str r1, [r4, 0xC]
- ldr r1, [r0, 0x20]
- str r1, [r4, 0x10]
- str r5, [r4, 0x14]
- ldr r0, [r0, 0x14]
- str r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end MakeObjectTemplateFromFieldObjectGraphicsInfo
-
- thumb_func_start MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex
-@ void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct objtemplate *objectTemplate, SpriteOamTable **spriteOamTables)
-MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex: @ 808DD30
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- ldr r4, =gUnknown_08505438
- lsrs r1, 14
- adds r1, r4
- ldr r1, [r1]
- bl MakeObjectTemplateFromFieldObjectGraphicsInfo
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex
-
- thumb_func_start MakeObjectTemplateFromFieldObjectTemplate
-@ void MakeObjectTemplateFromFieldObjectTemplate(struct FieldObjectTemplate *fieldObjectTemplate, struct objtemplate *objectTemplate, SpriteOamTable **spriteOamTables)
-MakeObjectTemplateFromFieldObjectTemplate: @ 808DD50
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldrb r0, [r4, 0x1]
- ldrb r1, [r4, 0x9]
- adds r2, r5, 0
- bl MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end MakeObjectTemplateFromFieldObjectTemplate
-
- thumb_func_start AddPseudoFieldObject
-@ void AddPseudoFieldObject(u8 graphicsId, void ( *callback)(), u16 x, u16 y, u8 subpriority)
-AddPseudoFieldObject: @ 808DD68
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x20]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0x18
- bl Alloc
- adds r6, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, sp
- bl MakeObjectTemplateFromFieldObjectGraphicsInfo
- ldrh r1, [r6, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _0808DDAE
- adds r0, r1, 0
- bl sub_808E894
-_0808DDAE:
- mov r0, r8
- lsls r1, r0, 16
- asrs r1, 16
- lsls r2, r7, 16
- asrs r2, 16
- adds r0, r6, 0
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- bl Free
- cmp r5, 0x40
- beq _0808DDF2
- ldr r1, [sp]
- cmp r1, 0
- beq _0808DDF2
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r4, 0x42
- ldrb r1, [r4]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4]
-_0808DDF2:
- adds r0, r5, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddPseudoFieldObject
-
- thumb_func_start sprite_new
-sprite_new: @ 808DE0C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r5, r0, 0
- ldr r0, [sp, 0x40]
- ldr r4, [sp, 0x44]
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- add r1, sp, 0x18
- mov r8, r1
- strh r2, [r1]
- mov r6, sp
- adds r6, 0x1A
- strh r3, [r6]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- adds r0, r5, 0
- bl GetFieldObjectGraphicsInfo
- adds r4, r0, 0
- ldr r1, =sub_8097AC8
- add r3, sp, 0x1C
- adds r0, r5, 0
- mov r2, sp
- bl MakeObjectTemplateFromFieldObjectGraphicsInfo
- mov r1, sp
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1, 0x2]
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x7
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r6, r1]
- adds r0, 0x7
- strh r0, [r6]
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0x8
- movs r3, 0x10
- bl sub_80930E0
- mov r2, r8
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0
- ldrsh r2, [r6, r0]
- mov r0, sp
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x40
- beq _0808DF6C
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- ldr r1, =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r5, 0
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, 0x1
- strb r0, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrb r0, [r4, 0xC]
- lsls r0, 28
- lsrs r0, 24
- ldrb r1, [r5, 0x5]
- movs r3, 0xF
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- strb r2, [r5, 0x5]
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0xF
- bls _0808DEE4
- subs r0, 0x10
- lsls r0, 4
- ands r2, r3
- orrs r2, r0
- strb r2, [r5, 0x5]
-_0808DEE4:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- mov r2, r9
- strh r2, [r5, 0x2E]
- strh r7, [r5, 0x30]
- ldrb r1, [r4, 0xC]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0xA
- bne _0808DF18
- ldrh r0, [r4, 0x2]
- lsls r1, 28
- lsrs r1, 28
- bl npc_load_two_palettes__and_record
- b _0808DF2C
- .pool
-_0808DF18:
- lsls r1, 28
- lsrs r0, r1, 28
- cmp r0, 0xF
- bls _0808DF2C
- ldrh r0, [r4, 0x2]
- lsrs r2, r1, 28
- movs r1, 0xF0
- orrs r1, r2
- bl sub_808EAB0
-_0808DF2C:
- ldr r1, [sp, 0x1C]
- cmp r1, 0
- beq _0808DF48
- adds r0, r5, 0
- bl SetSubspriteTables
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r0, [r2]
- movs r1, 0x3F
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r2]
-_0808DF48:
- adds r0, r5, 0
- adds r1, r7, 0
- bl InitObjectPriorityByZCoord
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
- mov r0, r10
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
-_0808DF6C:
- adds r0, r6, 0
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sprite_new
-
- thumb_func_start SpawnFieldObjectsInView
-@ void SpawnFieldObjectsInView(u16 movingCameraOffsetX, u16 movingCameraOffsetY)
-SpawnFieldObjectsInView: @ 808DF80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- ldr r5, =gMapHeader
- ldr r0, [r5, 0x4]
- cmp r0, 0
- beq _0808E078
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0xC]
- ldrh r4, [r2, 0x2]
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0808DFE0
- bl sub_81AAA40
- lsls r0, 24
- lsrs r6, r0, 24
- b _0808DFF0
- .pool
-_0808DFE0:
- bl InTrainerHill
- cmp r0, 0
- beq _0808DFEC
- movs r6, 0x2
- b _0808DFF0
-_0808DFEC:
- ldr r0, [r5, 0x4]
- ldrb r6, [r0]
-_0808DFF0:
- movs r5, 0
- cmp r5, r6
- bcs _0808E078
- lsls r0, r4, 16
- asrs r0, 16
- mov r9, r0
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r8, r0
-_0808E004:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- movs r2, 0xC7
- lsls r2, 4
- adds r0, r2
- ldr r3, =gSaveBlock1Ptr
- ldr r1, [r3]
- adds r4, r1, r0
- ldrh r0, [r4, 0x4]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r4, 0x6]
- adds r0, 0x7
- lsls r0, 16
- asrs r1, r0, 16
- cmp r9, r1
- bgt _0808E06E
- mov r7, r10
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r1
- blt _0808E06E
- lsls r0, r2, 16
- asrs r1, r0, 16
- cmp r8, r1
- bgt _0808E06E
- ldr r2, [sp, 0xC]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r1
- blt _0808E06E
- ldrh r0, [r4, 0x14]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0808E06E
- ldr r3, =gSaveBlock1Ptr
- ldr r0, [r3]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- ldr r7, [sp, 0x4]
- lsls r3, r7, 16
- ldr r7, [sp, 0x8]
- lsls r0, r7, 16
- asrs r0, 16
- str r0, [sp]
- adds r0, r4, 0
- asrs r3, 16
- bl SpawnFieldObject
-_0808E06E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _0808E004
-_0808E078:
- 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 SpawnFieldObjectsInView
-
- thumb_func_start RemoveFieldObjectsOutsideView
-@ void RemoveFieldObjectsOutsideView()
-RemoveFieldObjectsOutsideView: @ 808E08C
- push {r4-r6,lr}
- movs r3, 0
- ldr r6, =gUnknown_02032308
-_0808E092:
- movs r2, 0
- movs r4, 0
- adds r5, r3, 0x1
-_0808E098:
- lsls r0, r2, 2
- adds r1, r0, r6
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808E0AA
- ldrb r1, [r1, 0x2]
- cmp r3, r1
- bne _0808E0AA
- movs r4, 0x1
-_0808E0AA:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0808E098
- cmp r4, 0
- bne _0808E0D2
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r2, r0, r1
- ldr r0, [r2]
- ldr r1, =0x00010001
- ands r0, r1
- cmp r0, 0x1
- bne _0808E0D2
- adds r0, r2, 0
- bl RemoveFieldObjectIfOutsideView
-_0808E0D2:
- lsls r0, r5, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _0808E092
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveFieldObjectsOutsideView
-
- thumb_func_start RemoveFieldObjectIfOutsideView
-@ void RemoveFieldObjectIfOutsideView(npc_state *fieldObject)
-RemoveFieldObjectIfOutsideView: @ 808E0EC
- push {r4-r7,lr}
- adds r3, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r0, [r2]
- subs r1, r0, 0x2
- lsls r1, 16
- adds r0, 0x11
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r4, [r2, 0x2]
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0x10
- ldrsh r2, [r3, r0]
- lsrs r7, r1, 16
- asrs r1, 16
- cmp r2, r1
- blt _0808E132
- lsls r0, r5, 16
- asrs r0, 16
- cmp r2, r0
- bgt _0808E132
- movs r0, 0x12
- ldrsh r1, [r3, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- blt _0808E132
- lsls r0, r6, 16
- asrs r0, 16
- cmp r1, r0
- ble _0808E160
-_0808E132:
- movs r0, 0xC
- ldrsh r1, [r3, r0]
- lsls r0, r7, 16
- asrs r0, 16
- cmp r1, r0
- blt _0808E15A
- lsls r0, r5, 16
- asrs r0, 16
- cmp r1, r0
- bgt _0808E15A
- movs r0, 0xE
- ldrsh r1, [r3, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- blt _0808E15A
- lsls r0, r6, 16
- asrs r0, 16
- cmp r1, r0
- ble _0808E160
-_0808E15A:
- adds r0, r3, 0
- bl RemoveFieldObject
-_0808E160:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveFieldObjectIfOutsideView
-
- thumb_func_start sub_808E16C
-sub_808E16C: @ 808E16C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl ClearPlayerAvatarInfo
- movs r6, 0
- ldr r7, =gMapObjects
- lsls r4, 16
- lsls r5, 16
-_0808E186:
- lsls r0, r6, 3
- adds r0, r6
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0808E1A0
- adds r0, r6, 0
- asrs r1, r4, 16
- asrs r2, r5, 16
- bl sub_808E1B8
-_0808E1A0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xF
- bls _0808E186
- bl sub_808D450
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E16C
-
- thumb_func_start sub_808E1B8
-sub_808E1B8: @ 808E1B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x24]
- movs r7, 0
- ldr r2, =gUnknown_02032308
-_0808E1DA:
- lsls r0, r7, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808E1EC
- ldrb r1, [r1, 0x2]
- cmp r9, r1
- bne _0808E1EC
- b _0808E374
-_0808E1EC:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _0808E1DA
- mov r1, r9
- lsls r0, r1, 3
- add r0, r9
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- movs r0, 0
- str r0, [sp, 0x20]
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r5, r0, 0
- ldrh r2, [r5, 0x6]
- ldr r1, =0xffff0000
- add r4, sp, 0x18
- ldr r0, [r4, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r4, 0x4]
- ldrb r0, [r6, 0x5]
- ldrb r1, [r6, 0x6]
- add r3, sp, 0x20
- mov r2, sp
- bl MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex
- str r4, [sp, 0xC]
- mov r1, sp
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1, 0x2]
- ldrb r0, [r5, 0xC]
- lsls r1, r0, 28
- lsrs r0, r1, 28
- mov r8, r0
- cmp r0, 0
- bne _0808E258
- ldrh r0, [r5, 0x2]
- lsrs r1, 28
- bl npc_load_two_palettes__no_record
- b _0808E27E
- .pool
-_0808E258:
- mov r2, r8
- cmp r2, 0xA
- bne _0808E268
- ldrh r0, [r5, 0x2]
- lsrs r1, 28
- bl npc_load_two_palettes__and_record
- b _0808E27E
-_0808E268:
- mov r0, r8
- cmp r0, 0xF
- bls _0808E27E
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r5, 0x2]
- mov r1, r8
- bl sub_808EAB0
-_0808E27E:
- mov r1, sp
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1, 0x2]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x40
- beq _0808E374
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- ldrh r2, [r6, 0x10]
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- ldr r2, [sp, 0x24]
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r2, [r6, 0x12]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8092FF0
- ldrh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r4, 0
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r2, r4, 0
- adds r2, 0x29
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x8
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r1, 0x10
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, [r5, 0x1C]
- str r0, [r4, 0xC]
- ldrb r0, [r6, 0x6]
- cmp r0, 0xB
- bne _0808E312
- mov r0, r9
- adds r1, r7, 0
- bl SetPlayerAvatarFieldObjectIdAndObjectId
- bl sub_8154228
- strb r0, [r6, 0x1B]
-_0808E312:
- ldr r1, [sp, 0x20]
- cmp r1, 0
- beq _0808E31E
- adds r0, r4, 0
- bl SetSubspriteTables
-_0808E31E:
- mov r0, r8
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- mov r1, r9
- strh r1, [r4, 0x2E]
- strb r7, [r6, 0x4]
- ldrb r0, [r6, 0x1]
- lsls r0, 27
- cmp r0, 0
- blt _0808E362
- ldrb r0, [r6, 0x6]
- cmp r0, 0xB
- beq _0808E362
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_0808E362:
- adds r0, r6, 0
- bl sub_808E38C
- ldrb r0, [r6, 0xB]
- lsrs r0, 4
- adds r1, r4, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
-_0808E374:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E1B8
-
- thumb_func_start sub_808E38C
-@ void sub_808E38C(struct npc_state *fieldObject)
-sub_808E38C: @ 808E38C
- push {lr}
- ldrb r2, [r0]
- movs r3, 0x3
- negs r3, r3
- adds r1, r3, 0
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r2, [r0, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- ands r1, r3
- movs r2, 0x5
- negs r2, r2
- ands r1, r2
- subs r2, 0x4
- ands r1, r2
- subs r2, 0x8
- ands r1, r2
- subs r2, 0x10
- ands r1, r2
- strb r1, [r0, 0x2]
- bl FieldObjectClearAnim
- pop {r0}
- bx r0
- thumb_func_end sub_808E38C
-
- thumb_func_start SetPlayerAvatarFieldObjectIdAndObjectId
-@ void SetPlayerAvatarFieldObjectIdAndObjectId(u8 fieldObjectId, u8 objectId)
-SetPlayerAvatarFieldObjectIdAndObjectId: @ 808E3C4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_02037590
- strb r0, [r5, 0x5]
- strb r1, [r5, 0x4]
- ldr r1, =gMapObjects
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- ldrb r0, [r4, 0x5]
- bl GetPlayerAvatarGenderByGraphicsId
- strb r0, [r5, 0x7]
- ldrb r0, [r4, 0x5]
- movs r1, 0x20
- bl SetPlayerAvatarExtraStateTransition
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetPlayerAvatarFieldObjectIdAndObjectId
-
- thumb_func_start FieldObjectSetGraphicsId
-@ void FieldObjectSetGraphicsId(npc_state *npcState, u8 graphicsId)
-FieldObjectSetGraphicsId: @ 808E3F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r0, r8
- bl GetFieldObjectGraphicsInfo
- adds r6, r0, 0
- ldrb r1, [r7, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- ldrb r0, [r6, 0xC]
- lsls r1, r0, 28
- lsrs r5, r1, 28
- cmp r5, 0
- bne _0808E434
- ldrh r0, [r6, 0x2]
- adds r1, r5, 0
- bl pal_patch_for_npc
- b _0808E456
- .pool
-_0808E434:
- cmp r5, 0xA
- bne _0808E442
- ldrh r0, [r6, 0x2]
- lsrs r1, 28
- bl npc_load_two_palettes__and_record
- b _0808E456
-_0808E442:
- cmp r5, 0xF
- bls _0808E456
- adds r0, r5, 0
- subs r0, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r6, 0x2]
- adds r1, r5, 0
- bl sub_808EAB0
-_0808E456:
- ldr r0, [r6, 0x10]
- ldrb r2, [r0, 0x1]
- lsrs r2, 6
- lsls r2, 6
- ldrb r3, [r4, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, 0x1]
- ldr r0, [r6, 0x10]
- ldrb r0, [r0, 0x3]
- lsrs r0, 6
- lsls r0, 6
- ldrb r2, [r4, 0x3]
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x3]
- ldr r0, [r6, 0x1C]
- str r0, [r4, 0xC]
- ldr r0, [r6, 0x18]
- str r0, [r4, 0x8]
- ldr r0, [r6, 0x14]
- str r0, [r4, 0x18]
- lsls r2, r5, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldrb r1, [r6, 0xC]
- lsls r1, 25
- lsrs r1, 31
- lsls r1, 4
- ldrb r2, [r7, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x1]
- mov r0, r8
- strb r0, [r7, 0x5]
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- movs r2, 0x12
- ldrsh r1, [r7, r2]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8093038
- ldrh r0, [r6, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r4, 0
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r2, r4, 0
- adds r2, 0x29
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x8
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r1, 0x10
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrb r0, [r7, 0x1]
- lsrs r0, 7
- cmp r0, 0
- beq _0808E4F8
- bl CameraObjectReset1
-_0808E4F8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectSetGraphicsId
-
- thumb_func_start sub_808E504
-sub_808E504: @ 808E504
- 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 r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808E538
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- adds r1, r4, 0
- bl FieldObjectSetGraphicsId
-_0808E538:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E504
-
- thumb_func_start FieldObjectTurn
-@ void FieldObjectTurn(struct npc_state *fieldObject, u8 direction)
-FieldObjectTurn: @ 808E544
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- bl FieldObjectSetDirection
- ldrb r0, [r6, 0x1]
- lsls r0, 27
- cmp r0, 0
- blt _0808E58A
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, =gSprites
- adds r4, r5
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrb r1, [r6, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- bl SeekSpriteAnim
-_0808E58A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectTurn
-
- thumb_func_start FieldObjectTurnByLocalIdAndMap
-@ void FieldObjectTurnByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
-FieldObjectTurnByLocalIdAndMap: @ 808E594
- 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 r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808E5C8
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- adds r1, r4, 0
- bl FieldObjectTurn
-_0808E5C8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectTurnByLocalIdAndMap
-
- thumb_func_start sub_808E5D4
-sub_808E5D4: @ 808E5D4
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0x5]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- bl FieldObjectTurn
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E5D4
-
- thumb_func_start get_berry_tree_graphics
-@ void get_berry_tree_graphics(npc_state *npcState, struct obj *obj)
-get_berry_tree_graphics: @ 808E5F4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r5, 0x1]
- adds r4, r7, 0
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0x1D]
- bl GetStageByBerryTreeId
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0808E680
- ldrb r1, [r5, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0x1D]
- bl GetBerryTypeByBerryTreeId
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- subs r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r4, 0x2B
- bls _0808E648
- movs r4, 0
-_0808E648:
- ldr r0, =gBerryTreeFieldObjectGraphicsIdTablePointers
- lsls r4, 2
- adds r0, r4, r0
- ldr r0, [r0]
- adds r0, r6
- ldrb r1, [r0]
- adds r0, r5, 0
- bl FieldObjectSetGraphicsId
- ldr r0, =gBerryTreePicTablePointers
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r7, 0xC]
- ldr r0, =gBerryTreePaletteSlotTablePointers
- adds r4, r0
- ldr r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r7, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
- adds r0, r7, 0
- adds r1, r6, 0
- bl StartSpriteAnim
-_0808E680:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end get_berry_tree_graphics
-
- thumb_func_start GetFieldObjectGraphicsInfo
-@ FieldObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId)
-GetFieldObjectGraphicsInfo: @ 808E694
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xEF
- bls _0808E6AC
- adds r0, r1, 0
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl VarGetFieldObjectGraphicsId
- adds r1, r0, 0
-_0808E6AC:
- cmp r1, 0x45
- bne _0808E6C4
- bl sub_81201C8
- lsls r0, 24
- ldr r1, =gMauvilleOldManGraphicsInfoPointers
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- b _0808E6D2
- .pool
-_0808E6C4:
- cmp r1, 0xEE
- bls _0808E6CA
- movs r1, 0x5
-_0808E6CA:
- ldr r0, =gFieldObjectGraphicsInfoPointers
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
-_0808E6D2:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFieldObjectGraphicsInfo
-
- thumb_func_start FieldObjectHandleDynamicGraphicsId
-@ void FieldObjectHandleDynamicGraphicsId(struct npc_state *fieldObject)
-FieldObjectHandleDynamicGraphicsId: @ 808E6DC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x5]
- cmp r0, 0xEF
- bls _0808E6F2
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl VarGetFieldObjectGraphicsId
- strb r0, [r4, 0x5]
-_0808E6F2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectHandleDynamicGraphicsId
-
- thumb_func_start npc_by_local_id_and_map_set_field_1_bit_x20
-npc_by_local_id_and_map_set_field_1_bit_x20: @ 808E6F8
- 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 r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808E73A
- ldr r2, =gMapObjects
- mov r0, sp
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x1
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 5
- ldrb r3, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x1]
-_0808E73A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end npc_by_local_id_and_map_set_field_1_bit_x20
-
- thumb_func_start FieldObjectGetLocalIdAndMap
-@ void FieldObjectGetLocalIdAndMap(struct npc_state *fieldObject, u8 *localId, u8 *mapId, u8 *mapGroupId)
-FieldObjectGetLocalIdAndMap: @ 808E748
- push {r4,lr}
- ldrb r4, [r0, 0x8]
- strb r4, [r1]
- ldrb r1, [r0, 0x9]
- strb r1, [r2]
- ldrb r0, [r0, 0xA]
- strb r0, [r3]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectGetLocalIdAndMap
-
- thumb_func_start sub_808E75C
-sub_808E75C: @ 808E75C
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl GetFieldObjectIdByXY
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _0808E784
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0808E784:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E75C
-
- thumb_func_start sub_808E78C
-sub_808E78C: @ 808E78C
- 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 r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808E7D2
- mov r0, sp
- ldrb r0, [r0]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- ldr r0, =gMapObjects
- adds r2, r0
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r1, [r2, 0x3]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x3]
- adds r0, 0x43
- strb r4, [r0]
-_0808E7D2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E78C
-
- thumb_func_start sub_808E7E4
-sub_808E7E4: @ 808E7E4
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808E820
- mov r0, sp
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- ldrb r2, [r1, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x3]
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_0808E820:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E7E4
-
- thumb_func_start sub_808E82C
-sub_808E82C: @ 808E82C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, [sp, 0x10]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r4, 16
- lsrs r4, 16
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808E870
- ldr r2, =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- strh r5, [r0, 0x24]
- strh r4, [r0, 0x26]
-_0808E870:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E82C
-
- thumb_func_start gpu_pal_allocator_reset__manage_upper_four
-gpu_pal_allocator_reset__manage_upper_four: @ 808E880
- push {lr}
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0xC
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end gpu_pal_allocator_reset__manage_upper_four
-
- thumb_func_start sub_808E894
-sub_808E894: @ 808E894
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl FindFieldObjectPaletteIndexByTag
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =0x000011ff
- cmp r1, r0
- beq _0808E8B2
- lsls r0, r1, 3
- ldr r1, =gUnknown_0850BBC8
- adds r0, r1
- bl sub_808E8F4
-_0808E8B2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E894
-
- thumb_func_start sub_808E8C0
-sub_808E8C0: @ 808E8C0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldrh r0, [r5]
- ldr r1, =0x000011ff
- cmp r0, r1
- beq _0808E8EA
- adds r6, r1, 0
-_0808E8D0:
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- bl sub_808E894
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r6
- bne _0808E8D0
-_0808E8EA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808E8C0
-
- thumb_func_start sub_808E8F4
-@ u8 sub_808E8F4(struct TaggedObjectPalette *taggedPalette)
-sub_808E8F4: @ 808E8F4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0808E912
- adds r0, r4, 0
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r0, 24
- b _0808E914
-_0808E912:
- movs r0, 0xFF
-_0808E914:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808E8F4
-
- thumb_func_start pal_patch_for_npc
-@ void pal_patch_for_npc(u16 tag, u8 slot)
-pal_patch_for_npc: @ 808E91C
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- bl FindFieldObjectPaletteIndexByTag
- lsls r0, 24
- ldr r1, =gUnknown_0850BBC8
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0]
- lsls r4, 20
- movs r1, 0x80
- lsls r1, 17
- adds r4, r1
- lsrs r4, 16
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pal_patch_for_npc
-
- thumb_func_start pal_patch_for_npc_range
-@ void pal_patch_for_npc_range(u16 *tags, u8 minSlot, u8 maxSlot)
-pal_patch_for_npc_range: @ 808E954
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r4, r6
- bcs _0808E978
-_0808E964:
- ldrh r0, [r5]
- adds r1, r4, 0
- bl pal_patch_for_npc
- adds r5, 0x2
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0808E964
-_0808E978:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pal_patch_for_npc_range
-
- thumb_func_start FindFieldObjectPaletteIndexByTag
-@ u8 FindFieldObjectPaletteIndexByTag(u16 tag)
-FindFieldObjectPaletteIndexByTag: @ 808E980
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r2, 0
- ldr r0, =gUnknown_0850BBC8
- ldrh r1, [r0, 0x4]
- ldr r3, =0x000011ff
- adds r4, r0, 0
- cmp r1, r3
- beq _0808E9C0
- adds r6, r4, 0
- adds r1, r3, 0
-_0808E998:
- lsls r0, r2, 3
- adds r0, r6
- ldrh r0, [r0, 0x4]
- cmp r0, r5
- bne _0808E9B0
- adds r0, r2, 0
- b _0808E9C2
- .pool
-_0808E9B0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 3
- adds r0, r4
- ldrh r0, [r0, 0x4]
- cmp r0, r1
- bne _0808E998
-_0808E9C0:
- movs r0, 0xFF
-_0808E9C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end FindFieldObjectPaletteIndexByTag
-
- thumb_func_start npc_load_two_palettes__no_record
-@ void npc_load_two_palettes__no_record(u16 tag, u8 slot)
-npc_load_two_palettes__no_record: @ 808E9C8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl pal_patch_for_npc
- movs r3, 0
- ldr r1, =gUnknown_0850BD00
- ldrh r0, [r1]
- ldr r2, =0x000011ff
- cmp r0, r2
- beq _0808EA30
- ldr r0, =gUnknown_084975C4
- adds r5, r0
- adds r6, r2, 0
-_0808E9EC:
- lsls r2, r3, 3
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r4
- bne _0808EA20
- adds r1, 0x4
- adds r1, r2, r1
- ldr r0, =gUnknown_020375B4
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrb r1, [r5]
- bl pal_patch_for_npc
- b _0808EA30
- .pool
-_0808EA20:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- bne _0808E9EC
-_0808EA30:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end npc_load_two_palettes__no_record
-
- thumb_func_start npc_load_two_palettes__and_record
-@ void npc_load_two_palettes__and_record(u16 tag, u8 slot)
-npc_load_two_palettes__and_record: @ 808EA38
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_020375B6
- strh r4, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl pal_patch_for_npc
- movs r3, 0
- ldr r1, =gUnknown_0850BD78
- ldrh r0, [r1]
- ldr r2, =0x000011ff
- cmp r0, r2
- beq _0808EAA8
- ldr r0, =gUnknown_084975C4
- adds r5, r0
- adds r6, r2, 0
-_0808EA60:
- lsls r2, r3, 3
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r4
- bne _0808EA98
- adds r1, 0x4
- adds r1, r2, r1
- ldr r0, =gUnknown_020375B4
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrb r1, [r5]
- bl pal_patch_for_npc
- b _0808EAA8
- .pool
-_0808EA98:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r6
- bne _0808EA60
-_0808EAA8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end npc_load_two_palettes__and_record
-
- thumb_func_start sub_808EAB0
-sub_808EAB0: @ 808EAB0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- bl pal_patch_for_npc
- pop {r0}
- bx r0
- thumb_func_end sub_808EAB0
-
- thumb_func_start sub_808EAC4
-sub_808EAC4: @ 808EAC4
- push {r4,lr}
- ldrh r3, [r0, 0x10]
- strh r3, [r0, 0x14]
- ldrh r4, [r0, 0x12]
- strh r4, [r0, 0x16]
- lsls r1, 16
- asrs r1, 16
- adds r1, r3
- strh r1, [r0, 0x10]
- lsls r2, 16
- asrs r2, 16
- adds r2, r4
- strh r2, [r0, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808EAC4
-
- thumb_func_start npc_coords_shift
-@ void npc_coords_shift(struct npc_state *fieldObject, u16 x, u16 y)
-npc_coords_shift: @ 808EAE4
- ldrh r3, [r0, 0x10]
- strh r3, [r0, 0x14]
- ldrh r3, [r0, 0x12]
- strh r3, [r0, 0x16]
- strh r1, [r0, 0x10]
- strh r2, [r0, 0x12]
- bx lr
- thumb_func_end npc_coords_shift
-
- thumb_func_start npc_coords_set
-@ void npc_coords_set(struct npc_state *fieldObject, u16 x, u16 y)
-npc_coords_set: @ 808EAF4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- strh r1, [r0, 0x14]
- strh r2, [r0, 0x16]
- strh r1, [r0, 0x10]
- strh r2, [r0, 0x12]
- bx lr
- thumb_func_end npc_coords_set
-
- thumb_func_start sub_808EB08
-sub_808EB08: @ 808EB08
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldrb r1, [r6, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r7, r0, r1
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- mov r8, r0
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl npc_coords_set
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- adds r2, r7, 0
- adds r2, 0x20
- adds r3, r7, 0
- adds r3, 0x22
- bl sub_8093038
- mov r1, r8
- ldrh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r1, r7, 0
- adds r1, 0x28
- strb r0, [r1]
- mov r2, r8
- ldrh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 17
- negs r0, r0
- adds r2, r7, 0
- adds r2, 0x29
- strb r0, [r2]
- ldrh r0, [r7, 0x20]
- adds r0, 0x8
- strh r0, [r7, 0x20]
- ldrh r1, [r7, 0x22]
- adds r1, 0x10
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- strh r0, [r7, 0x22]
- adds r0, r6, 0
- bl sub_808E38C
- ldrb r0, [r6, 0x1]
- lsrs r0, 7
- cmp r0, 0
- beq _0808EB9A
- bl CameraObjectReset1
-_0808EB9A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808EB08
-
- thumb_func_start sub_808EBA8
-sub_808EBA8: @ 808EBA8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, [sp, 0x10]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r4, 16
- lsrs r4, 16
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808EBF0
- lsls r1, r5, 16
- lsls r2, r4, 16
- mov r0, sp
- ldrb r3, [r0]
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- ldr r3, =gMapObjects
- adds r0, r3
- movs r3, 0xE0
- lsls r3, 11
- adds r1, r3
- asrs r1, 16
- adds r2, r3
- asrs r2, 16
- bl sub_808EB08
-_0808EBF0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808EBA8
-
- thumb_func_start npc_coords_shift_still
-@ void npc_coords_shift_still(struct npc_state *fieldObject)
-npc_coords_shift_still: @ 808EBFC
- push {lr}
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- movs r3, 0x12
- ldrsh r2, [r0, r3]
- bl npc_coords_shift
- pop {r0}
- bx r0
- thumb_func_end npc_coords_shift_still
-
- thumb_func_start UpdateFieldObjectCoordsForCameraUpdate
-@ void UpdateFieldObjectCoordsForCameraUpdate()
-UpdateFieldObjectCoordsForCameraUpdate: @ 808EC10
- push {r4,r5,lr}
- ldr r2, =gUnknown_02037334
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808EC68
- movs r3, 0
- ldr r5, =gMapObjects
- movs r0, 0x4
- ldrsh r4, [r2, r0]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
-_0808EC2A:
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- adds r2, r0, r5
- ldrb r0, [r2]
- lsls r0, 31
- cmp r0, 0
- beq _0808EC5E
- ldrh r0, [r2, 0xC]
- subs r0, r4
- strh r0, [r2, 0xC]
- ldrh r0, [r2, 0xE]
- subs r0, r1
- strh r0, [r2, 0xE]
- ldrh r0, [r2, 0x10]
- subs r0, r4
- strh r0, [r2, 0x10]
- ldrh r0, [r2, 0x12]
- subs r0, r1
- strh r0, [r2, 0x12]
- ldrh r0, [r2, 0x14]
- subs r0, r4
- strh r0, [r2, 0x14]
- ldrh r0, [r2, 0x16]
- subs r0, r1
- strh r0, [r2, 0x16]
-_0808EC5E:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _0808EC2A
-_0808EC68:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateFieldObjectCoordsForCameraUpdate
-
- thumb_func_start GetFieldObjectIdByXYZ
-@ u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z)
-GetFieldObjectIdByXYZ: @ 808EC78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 24
- lsrs r5, r2, 24
- movs r4, 0
- ldr r0, =gMapObjects
- mov r8, r0
-_0808EC90:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- mov r2, r8
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _0808ECC8
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- cmp r0, r7
- bne _0808ECC8
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r0, r6
- bne _0808ECC8
- adds r0, r1, 0
- adds r1, r5, 0
- bl FieldObjectDoesZCoordMatch
- lsls r0, 24
- cmp r0, 0
- beq _0808ECC8
- adds r0, r4, 0
- b _0808ECD4
- .pool
-_0808ECC8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0808EC90
- movs r0, 0x10
-_0808ECD4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectIdByXYZ
-
- thumb_func_start FieldObjectDoesZCoordMatch
-@ bool8 FieldObjectDoesZCoordMatch(struct npc_state *fieldObject)
-FieldObjectDoesZCoordMatch: @ 808ECE0
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0xB]
- movs r0, 0xF
- ands r0, r2
- cmp r0, 0
- beq _0808ED00
- cmp r1, 0
- beq _0808ED00
- lsls r0, r2, 28
- lsrs r0, 28
- cmp r0, r1
- beq _0808ED00
- movs r0, 0
- b _0808ED02
-_0808ED00:
- movs r0, 0x1
-_0808ED02:
- pop {r1}
- bx r1
- thumb_func_end FieldObjectDoesZCoordMatch
-
- thumb_func_start UpdateFieldObjectsForCameraUpdate
-@ void UpdateFieldObjectsForCameraUpdate(u16 movingCameraOffsetX, u16 movingCameraOffsetY)
-UpdateFieldObjectsForCameraUpdate: @ 808ED08
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl UpdateFieldObjectCoordsForCameraUpdate
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl SpawnFieldObjectsInView
- bl RemoveFieldObjectsOutsideView
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end UpdateFieldObjectsForCameraUpdate
-
- thumb_func_start AddCameraObject
-@ u8 AddCameraObject(u8 followedObjectId)
-AddCameraObject: @ 808ED34
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_084975D4
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0x3E
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- strh r4, [r1, 0x2E]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddCameraObject
-
- thumb_func_start ObjectCB_CameraObject
-@ void ObjectCB_CameraObject(struct obj *object)
-ObjectCB_CameraObject: @ 808ED78
- push {r4,r5,lr}
- sub sp, 0xC
- mov r2, sp
- ldr r1, =gUnknown_084975EC
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- movs r2, 0x30
- ldrsh r1, [r0, r2]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- bl _call_via_r1
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ObjectCB_CameraObject
-
- thumb_func_start CameraObject_0
-@ void CameraObject_0(struct obj *object)
-CameraObject_0: @ 808EDA0
- push {lr}
- ldr r3, =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r1, [r1, 0x20]
- strh r1, [r0, 0x20]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x22]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x1
- strh r1, [r0, 0x30]
- bl CameraObject_1
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraObject_0
-
- thumb_func_start CameraObject_1
-@ void CameraObject_1(struct obj *object)
-CameraObject_1: @ 808EDDC
- push {r4,r5,lr}
- ldr r3, =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r3, [r1, 0x22]
- ldrh r2, [r0, 0x20]
- ldrh r4, [r1, 0x20]
- movs r5, 0x20
- ldrsh r1, [r1, r5]
- subs r1, r2
- strh r1, [r0, 0x32]
- ldrh r2, [r0, 0x22]
- lsls r1, r3, 16
- asrs r1, 16
- subs r1, r2
- strh r1, [r0, 0x34]
- strh r4, [r0, 0x20]
- strh r3, [r0, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraObject_1
-
- thumb_func_start CameraObject_2
-@ void CameraObject_2(struct obj *object)
-CameraObject_2: @ 808EE14
- push {r4,lr}
- ldr r4, =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x20]
- movs r3, 0
- strh r1, [r0, 0x20]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x22]
- strh r3, [r0, 0x32]
- strh r3, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraObject_2
-
- thumb_func_start FindCameraObject
-@ struct obj *FindCameraObject()
-FindCameraObject: @ 808EE44
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, =gSprites
- adds r5, r4, 0
- adds r5, 0x1C
-_0808EE4E:
- lsls r0, r3, 4
- adds r0, r3
- lsls r1, r0, 2
- adds r2, r1, r4
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0808EE78
- adds r0, r1, r5
- ldr r1, [r0]
- ldr r0, =ObjectCB_CameraObject
- cmp r1, r0
- bne _0808EE78
- adds r0, r2, 0
- b _0808EE84
- .pool
-_0808EE78:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3F
- bls _0808EE4E
- movs r0, 0
-_0808EE84:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FindCameraObject
-
- thumb_func_start CameraObjectReset1
-@ void CameraObjectReset1()
-CameraObjectReset1: @ 808EE8C
- push {lr}
- bl FindCameraObject
- adds r2, r0, 0
- cmp r2, 0
- beq _0808EEA4
- movs r0, 0
- strh r0, [r2, 0x30]
- ldr r1, [r2, 0x1C]
- adds r0, r2, 0
- bl _call_via_r1
-_0808EEA4:
- pop {r0}
- bx r0
- thumb_func_end CameraObjectReset1
-
- thumb_func_start CameraObjectSetFollowedObjectId
-@ void CameraObjectSetFollowedObjectId(u8 objectId)
-CameraObjectSetFollowedObjectId: @ 808EEA8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl FindCameraObject
- cmp r0, 0
- beq _0808EEBC
- strh r4, [r0, 0x2E]
- bl CameraObjectReset1
-_0808EEBC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CameraObjectSetFollowedObjectId
-
- thumb_func_start CameraObjectGetFollowedObjectId
-@ u8 CameraObjectGetFollowedObjectId()
-CameraObjectGetFollowedObjectId: @ 808EEC4
- push {lr}
- bl FindCameraObject
- cmp r0, 0
- beq _0808EED6
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- b _0808EED8
-_0808EED6:
- movs r0, 0x40
-_0808EED8:
- pop {r1}
- bx r1
- thumb_func_end CameraObjectGetFollowedObjectId
-
- thumb_func_start CameraObjectReset2
-@ void CameraObjectReset2()
-CameraObjectReset2: @ 808EEDC
- push {lr}
- bl FindCameraObject
- movs r1, 0x2
- strh r1, [r0, 0x30]
- pop {r0}
- bx r0
- thumb_func_end CameraObjectReset2
-
- thumb_func_start sub_808EEEC
-sub_808EEEC: @ 808EEEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r3, 24
- lsrs r7, r3, 24
- movs r5, 0
- ldr r1, =gSprites
-_0808EF06:
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _0808EF38
- adds r0, r4, 0
- mov r1, r12
- movs r2, 0x44
- bl memcpy
- mov r0, r8
- strh r0, [r4, 0x20]
- strh r6, [r4, 0x22]
- adds r0, r4, 0
- adds r0, 0x43
- strb r7, [r0]
- b _0808EF42
- .pool
-_0808EF38:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3F
- bls _0808EF06
-_0808EF42:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808EEEC
-
- thumb_func_start obj_unfreeze
-obj_unfreeze: @ 808EF50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r3, 24
- lsrs r7, r3, 24
- movs r5, 0x3F
- ldr r3, =gSprites
- movs r2, 0x1
- negs r2, r2
-_0808EF6E:
- lsls r0, r5, 16
- asrs r1, r0, 16
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r3
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _0808EFA8
- adds r0, r4, 0
- mov r1, r12
- movs r2, 0x44
- bl memcpy
- mov r0, r8
- strh r0, [r4, 0x20]
- strh r6, [r4, 0x22]
- adds r0, r4, 0
- adds r0, 0x43
- strb r7, [r0]
- lsls r0, r5, 24
- lsrs r0, 24
- b _0808EFB6
- .pool
-_0808EFA8:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, r2
- bgt _0808EF6E
- movs r0, 0x40
-_0808EFB6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end obj_unfreeze
-
- thumb_func_start FieldObjectSetDirection
-@ void FieldObjectSetDirection(struct npc_state *fieldObject, u8 direction)
-FieldObjectSetDirection: @ 808EFC0
- push {r4,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- adds r4, r2, 0
- ldrb r0, [r3, 0x18]
- lsls r0, 28
- lsrs r0, 28
- adds r1, r3, 0
- adds r1, 0x20
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- lsls r0, 30
- cmp r0, 0
- blt _0808EFF0
- movs r0, 0xF
- adds r1, r2, 0
- ands r1, r0
- ldrb r2, [r3, 0x18]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x18]
-_0808EFF0:
- lsls r2, r4, 4
- ldrb r1, [r3, 0x18]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectSetDirection
-
- thumb_func_start GetFieldObjectScriptPointerByLocalIdAndMap
-@ u32 GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
-GetFieldObjectScriptPointerByLocalIdAndMap: @ 808F004
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- bl GetFieldObjectTemplateByLocalIdAndMap
- ldr r0, [r0, 0x10]
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectScriptPointerByLocalIdAndMap
-
- thumb_func_start GetFieldObjectScriptPointerByFieldObjectId
-@ u32 GetFieldObjectScriptPointerByFieldObjectId(u8 fieldObjectId)
-GetFieldObjectScriptPointerByFieldObjectId: @ 808F01C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r0, [r2, 0x8]
- ldrb r1, [r2, 0x9]
- ldrb r2, [r2, 0xA]
- bl GetFieldObjectScriptPointerByLocalIdAndMap
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFieldObjectScriptPointerByFieldObjectId
-
- thumb_func_start GetFieldObjectFlagIdByLocalIdAndMap
-@ u16 GetFieldObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
-GetFieldObjectFlagIdByLocalIdAndMap: @ 808F040
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- bl GetFieldObjectTemplateByLocalIdAndMap
- ldrh r0, [r0, 0x14]
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectFlagIdByLocalIdAndMap
-
- thumb_func_start GetFieldObjectFlagIdByFieldObjectId
-@ u16 GetFieldObjectFlagIdByFieldObjectId(u8 fieldObjectId)
-GetFieldObjectFlagIdByFieldObjectId: @ 808F058
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r0, [r2, 0x8]
- ldrb r1, [r2, 0x9]
- ldrb r2, [r2, 0xA]
- bl GetFieldObjectFlagIdByLocalIdAndMap
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFieldObjectFlagIdByFieldObjectId
-
- thumb_func_start sub_808F080
-sub_808F080: @ 808F080
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808F0B4
- 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, 0x7]
- b _0808F0B6
- .pool
-_0808F0B4:
- movs r0, 0xFF
-_0808F0B6:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_808F080
-
- thumb_func_start sub_808F0BC
-sub_808F0BC: @ 808F0BC
- 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, 0x7]
- bx lr
- .pool
- thumb_func_end sub_808F0BC
-
- thumb_func_start sub_808F0D4
-sub_808F0D4: @ 808F0D4
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808F108
- 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, 0x1D]
- b _0808F10A
- .pool
-_0808F108:
- movs r0, 0xFF
-_0808F10A:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_808F0D4
-
- thumb_func_start FieldObjectGetBerryTreeId
-@ u8 FieldObjectGetBerryTreeId(u8 fieldObjectId)
-FieldObjectGetBerryTreeId: @ 808F110
- 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, 0x1D]
- bx lr
- .pool
- thumb_func_end FieldObjectGetBerryTreeId
-
- thumb_func_start GetFieldObjectTemplateByLocalIdAndMap
-@ struct FieldObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
-GetFieldObjectTemplateByLocalIdAndMap: @ 808F128
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, r3
- bne _0808F160
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, r2
- bne _0808F160
- movs r0, 0xC7
- lsls r0, 4
- adds r1, r0
- ldr r0, =gMapHeader
- ldr r0, [r0, 0x4]
- b _0808F16C
- .pool
-_0808F160:
- adds r0, r2, 0
- adds r1, r3, 0
- bl get_mapheader_by_bank_and_number
- ldr r0, [r0, 0x4]
- ldr r1, [r0, 0x4]
-_0808F16C:
- ldrb r2, [r0]
- adds r0, r4, 0
- bl FindFieldObjectTemplateInArrayByLocalId
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetFieldObjectTemplateByLocalIdAndMap
-
- thumb_func_start FindFieldObjectTemplateInArrayByLocalId
-@ struct FieldObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct FieldObjectTemplate *templates, u8 numTemplates)
-FindFieldObjectTemplateInArrayByLocalId: @ 808F17C
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- cmp r1, r2
- bcs _0808F1AA
-_0808F18E:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r5
- ldrb r0, [r3]
- cmp r0, r4
- bne _0808F1A0
- adds r0, r3, 0
- b _0808F1AC
-_0808F1A0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcc _0808F18E
-_0808F1AA:
- movs r0, 0
-_0808F1AC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FindFieldObjectTemplateInArrayByLocalId
-
- thumb_func_start sub_808F1B4
-@ int sub_808F1B4(struct npc_state *fieldObject)
-sub_808F1B4: @ 808F1B4
- push {r4,r5,lr}
- adds r3, r0, 0
- ldrb r0, [r3, 0x9]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- movs r1, 0x5
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _0808F200
- ldrb r1, [r3, 0xA]
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r1, r0
- beq _0808F1E2
- b _0808F200
- .pool
-_0808F1D8:
- movs r1, 0xC7
- lsls r1, 4
- adds r0, r1
- adds r0, r4, r0
- b _0808F202
-_0808F1E2:
- movs r1, 0
- adds r4, r2, 0
- ldrb r3, [r3, 0x8]
- movs r5, 0xC7
- lsls r5, 4
- adds r2, r4, r5
- movs r0, 0
-_0808F1F0:
- ldrb r5, [r2]
- cmp r3, r5
- beq _0808F1D8
- adds r2, 0x18
- adds r0, 0x18
- adds r1, 0x1
- cmp r1, 0x3F
- ble _0808F1F0
-_0808F200:
- movs r0, 0
-_0808F202:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808F1B4
-
- thumb_func_start sub_808F208
-@ void sub_808F208(struct npc_state *fieldObject)
-sub_808F208: @ 808F208
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808F1B4
- adds r1, r0, 0
- cmp r1, 0
- beq _0808F222
- ldrh r0, [r4, 0x10]
- subs r0, 0x7
- strh r0, [r1, 0x4]
- ldrh r0, [r4, 0x12]
- subs r0, 0x7
- strh r0, [r1, 0x6]
-_0808F222:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808F208
-
- thumb_func_start sub_808F228
-sub_808F228: @ 808F228
- push {r4,lr}
- adds r4, r1, 0
- bl sub_808F1B4
- cmp r0, 0
- beq _0808F236
- str r4, [r0, 0x10]
-_0808F236:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808F228
-
- thumb_func_start sub_808F23C
-sub_808F23C: @ 808F23C
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_808F1B4
- cmp r0, 0
- beq _0808F24C
- strb r4, [r0, 0x9]
-_0808F24C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808F23C
-
- thumb_func_start sub_808F254
-@ void sub_808F254(u8 localId, u8 mapId, u8 mapGroupId)
-sub_808F254: @ 808F254
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808F282
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl sub_808F208
-_0808F282:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808F254
-
- thumb_func_start sub_808F28C
-sub_808F28C: @ 808F28C
- 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 r4, r3, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0808F2E8
- cmp r4, 0x6
- beq _0808F2B6
- cmp r4, 0x7
- beq _0808F2D4
- b _0808F2E8
-_0808F2B6:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldr r1, =gUnknown_082766A2
- bl sub_808F228
- b _0808F2E8
- .pool
-_0808F2D4:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldr r1, =gUnknown_082766A6
- bl sub_808F228
-_0808F2E8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808F28C
-
- thumb_func_start npc_paltag_set_load
-npc_paltag_set_load: @ 808F2F8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl gpu_pal_allocator_reset__manage_upper_four
- ldr r1, =gUnknown_020375B6
- ldr r2, =0x000011ff
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, =gUnknown_020375B4
- strb r4, [r2]
- cmp r4, 0x1
- bne _0808F344
- ldr r1, =gUnknown_0850BE38
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x6
- bl pal_patch_for_npc_range
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- b _0808F356
- .pool
-_0808F344:
- ldr r0, =gUnknown_0850BE38
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0
- movs r2, 0xA
- bl pal_patch_for_npc_range
-_0808F356:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end npc_paltag_set_load
-
- thumb_func_start npc_paltag_by_palslot
-npc_paltag_by_palslot: @ 808F360
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x9
- bhi _0808F39C
- ldr r1, =gUnknown_0850BE38
- ldr r0, =gUnknown_020375B4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r2, 1
- b _0808F390
- .pool
-_0808F384:
- adds r1, r4, 0x4
- adds r1, r2, r1
- ldr r0, =gUnknown_020375B4
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 1
-_0808F390:
- adds r0, r1
- ldrh r0, [r0]
- b _0808F3CE
- .pool
-_0808F39C:
- movs r3, 0
- ldr r0, =gUnknown_0850BD78
- ldrh r1, [r0]
- ldr r2, =0x000011ff
- adds r4, r0, 0
- cmp r1, r2
- beq _0808F3CC
- adds r6, r4, 0
- ldr r0, =gUnknown_020375B6
- ldrh r1, [r0]
- adds r5, r2, 0
-_0808F3B2:
- lsls r2, r3, 3
- adds r0, r2, r6
- ldrh r0, [r0]
- cmp r0, r1
- beq _0808F384
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r5
- bne _0808F3B2
-_0808F3CC:
- ldr r0, =0x000011ff
-_0808F3CE:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end npc_paltag_by_palslot
-
- thumb_func_start FieldObjectCB_NoMovement1
-FieldObjectCB_NoMovement1: @ 808F3E0
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_NoMovement1
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_NoMovement1
-
- thumb_func_start FieldObjectCB2_NoMovement1
-FieldObjectCB2_NoMovement1: @ 808F404
- movs r0, 0
- bx lr
- thumb_func_end FieldObjectCB2_NoMovement1
-
- thumb_func_start FieldObjectCB_GoRandomDirections
-FieldObjectCB_GoRandomDirections: @ 808F408
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_GoRandomDirections
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoRandomDirections
-
- thumb_func_start FieldObjectCB2_GoRandomDirections
-FieldObjectCB2_GoRandomDirections: @ 808F42C
- push {r4,lr}
- ldr r3, =gUnknown_0850D6F4
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_GoRandomDirections
-
- thumb_func_start sub_808F44C
-sub_808F44C: @ 808F44C
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808F44C
-
- thumb_func_start sub_808F460
-sub_808F460: @ 808F460
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808F460
-
- thumb_func_start sub_808F48C
-sub_808F48C: @ 808F48C
- push {r4-r6,lr}
- adds r6, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0808F4C0
- ldr r5, =gUnknown_0850D6DC
- bl Random
- movs r4, 0x3
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r5
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r6, 0
- bl sub_8097978
- strh r4, [r6, 0x30]
- movs r0, 0x1
- b _0808F4C2
- .pool
-_0808F4C0:
- movs r0, 0
-_0808F4C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808F48C
-
- thumb_func_start sub_808F4C8
-sub_808F4C8: @ 808F4C8
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _0808F4DC
- movs r0, 0
- b _0808F4E2
-_0808F4DC:
- movs r0, 0x4
- strh r0, [r4, 0x30]
- movs r0, 0x1
-_0808F4E2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808F4C8
-
- thumb_func_start sub_808F4E8
-sub_808F4E8: @ 808F4E8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, =gUnknown_0850D710
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- bl Random
- movs r1, 0x3
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r4, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x5
- strh r0, [r6, 0x30]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8092B88
- lsls r0, 24
- cmp r0, 0
- beq _0808F526
- movs r0, 0x1
- strh r0, [r6, 0x30]
-_0808F526:
- movs r0, 0x1
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808F4E8
-
- thumb_func_start sub_808F534
-sub_808F534: @ 808F534
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetGoSpeed0AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x6
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808F534
-
- thumb_func_start sub_808F564
-sub_808F564: @ 808F564
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0808F582
- ldrb r0, [r4]
- movs r1, 0x3
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- movs r0, 0x1
- strh r0, [r5, 0x30]
-_0808F582:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808F564
-
- thumb_func_start FieldObjectIsTrainerAndCloseToPlayer
-@ bool8 FieldObjectIsTrainerAndCloseToPlayer(struct npc_state *fieldObject)
-FieldObjectIsTrainerAndCloseToPlayer: @ 808F58C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r0, 0x80
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0808F5F8
- ldrb r0, [r5, 0x7]
- cmp r0, 0x1
- beq _0808F5A8
- cmp r0, 0x3
- bne _0808F5F8
-_0808F5A8:
- mov r7, sp
- adds r7, 0x2
- mov r0, sp
- adds r1, r7, 0
- bl PlayerGetDestCoords
- ldrh r2, [r5, 0x10]
- ldrh r4, [r5, 0x12]
- ldrb r1, [r5, 0x1D]
- subs r3, r2, r1
- subs r0, r4, r1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r2, r1, r2
- lsls r2, 16
- lsrs r2, 16
- adds r1, r4
- lsls r1, 16
- lsrs r6, r1, 16
- mov r0, sp
- lsls r3, 16
- asrs r3, 16
- movs r1, 0
- ldrsh r4, [r0, r1]
- cmp r3, r4
- bgt _0808F5F8
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r4
- blt _0808F5F8
- lsls r0, r5, 16
- asrs r0, 16
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r0, r1
- bgt _0808F5F8
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, r1
- bge _0808F5FC
-_0808F5F8:
- movs r0, 0
- b _0808F5FE
-_0808F5FC:
- movs r0, 0x1
-_0808F5FE:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end FieldObjectIsTrainerAndCloseToPlayer
-
- thumb_func_start sub_808F608
-sub_808F608: @ 808F608
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsls r3, 16
- cmp r2, r3
- ble _0808F626
- movs r2, 0x4
- lsls r0, r4, 16
- cmp r0, 0
- bge _0808F630
- movs r2, 0x3
- b _0808F630
-_0808F626:
- movs r2, 0x1
- lsls r0, 16
- cmp r0, 0
- bge _0808F630
- movs r2, 0x2
-_0808F630:
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808F608
-
- thumb_func_start sub_808F638
-sub_808F638: @ 808F638
- push {lr}
- movs r0, 0x1
- lsls r1, 16
- cmp r1, 0
- bge _0808F644
- movs r0, 0x2
-_0808F644:
- pop {r1}
- bx r1
- thumb_func_end sub_808F638
-
- thumb_func_start sub_808F648
-sub_808F648: @ 808F648
- push {lr}
- movs r1, 0x4
- lsls r0, 16
- cmp r0, 0
- bge _0808F654
- movs r1, 0x3
-_0808F654:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_808F648
-
- thumb_func_start sub_808F65C
-sub_808F65C: @ 808F65C
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 16
- asrs r7, r3, 16
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808F698
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F648
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0808F6B2
- b _0808F6B0
-_0808F698:
- cmp r0, 0x4
- bne _0808F6B2
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F638
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808F6B2
-_0808F6B0:
- movs r0, 0x2
-_0808F6B2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F65C
-
- thumb_func_start sub_808F6B8
-sub_808F6B8: @ 808F6B8
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 16
- asrs r7, r3, 16
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808F6F4
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F648
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0808F70E
- b _0808F70C
-_0808F6F4:
- cmp r0, 0x3
- bne _0808F70E
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F638
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808F70E
-_0808F70C:
- movs r0, 0x2
-_0808F70E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F6B8
-
- thumb_func_start sub_808F714
-sub_808F714: @ 808F714
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 16
- asrs r7, r3, 16
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808F750
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F648
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0808F76A
- b _0808F768
-_0808F750:
- cmp r0, 0x4
- bne _0808F76A
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F638
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808F76A
-_0808F768:
- movs r0, 0x1
-_0808F76A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F714
-
- thumb_func_start sub_808F770
-sub_808F770: @ 808F770
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 16
- asrs r7, r3, 16
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808F7AC
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F648
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0808F7C6
- b _0808F7C4
-_0808F7AC:
- cmp r0, 0x3
- bne _0808F7C6
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl sub_808F638
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808F7C6
-_0808F7C4:
- movs r0, 0x1
-_0808F7C6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F770
-
- thumb_func_start sub_808F7CC
-sub_808F7CC: @ 808F7CC
- push {r4-r7,lr}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 16
- asrs r6, r1, 16
- lsls r2, 16
- asrs r5, r2, 16
- lsls r3, 16
- asrs r4, r3, 16
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0808F802
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F638
- lsls r0, 24
- lsrs r0, 24
-_0808F802:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F7CC
-
- thumb_func_start sub_808F808
-sub_808F808: @ 808F808
- push {r4-r7,lr}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 16
- asrs r6, r1, 16
- lsls r2, 16
- asrs r5, r2, 16
- lsls r3, 16
- asrs r4, r3, 16
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0808F83E
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F638
- lsls r0, 24
- lsrs r0, 24
-_0808F83E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F808
-
- thumb_func_start sub_808F844
-sub_808F844: @ 808F844
- push {r4-r7,lr}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 16
- asrs r6, r1, 16
- lsls r2, 16
- asrs r5, r2, 16
- lsls r3, 16
- asrs r4, r3, 16
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808F87A
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F648
- lsls r0, 24
- lsrs r0, 24
-_0808F87A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F844
-
- thumb_func_start sub_808F880
-sub_808F880: @ 808F880
- push {r4-r7,lr}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 16
- asrs r6, r1, 16
- lsls r2, 16
- asrs r5, r2, 16
- lsls r3, 16
- asrs r4, r3, 16
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F608
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808F8B6
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_808F648
- lsls r0, 24
- lsrs r0, 24
-_0808F8B6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808F880
-
- thumb_func_start sub_808F8BC
-sub_808F8BC: @ 808F8BC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- bne _0808F8D4
- movs r0, 0
- b _0808F938
-_0808F8D4:
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- mov r2, sp
- mov r0, sp
- ldrh r0, [r0]
- ldrh r1, [r4, 0x10]
- subs r0, r1
- strh r0, [r2]
- ldrh r0, [r5]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r5]
- mov r0, sp
- ldrh r3, [r5]
- ldrh r2, [r0]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _0808F908
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
-_0808F908:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0
- bge _0808F916
- negs r0, r0
- lsls r0, 16
- lsrs r3, r0, 16
-_0808F916:
- ldr r0, =gUnknown_0850D714
- lsls r4, r6, 2
- adds r4, r0
- mov r0, sp
- movs r6, 0
- ldrsh r0, [r0, r6]
- movs r6, 0
- ldrsh r1, [r5, r6]
- lsls r2, 16
- asrs r2, 16
- lsls r3, 16
- asrs r3, 16
- ldr r4, [r4]
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
-_0808F938:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808F8BC
-
- thumb_func_start FieldObjectCB_LookRandomDirections
-FieldObjectCB_LookRandomDirections: @ 808F944
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_LookRandomDirections
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_LookRandomDirections
-
- thumb_func_start FieldObjectCB2_LookRandomDirections
-@ bool8 FieldObjectCB2_LookRandomDirections(struct npc_state *fieldObject, struct obj *object)
-FieldObjectCB2_LookRandomDirections: @ 808F968
- push {r4,lr}
- ldr r3, =gUnknown_0850D740
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_LookRandomDirections
-
- thumb_func_start sub_808F988
-@ bool8 sub_808F988(struct npc_state *fieldObject, struct obj *object)
-sub_808F988: @ 808F988
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808F988
-
- thumb_func_start sub_808F99C
-@ bool8 sub_808F99C(struct npc_state *fieldObject, struct obj *object)
-sub_808F99C: @ 808F99C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808F99C
-
- thumb_func_start sub_808F9C8
-@ bool8 sub_808F9C8(struct npc_state *fieldObject, struct obj *object)
-sub_808F9C8: @ 808F9C8
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0808F9FE
- ldr r4, =gUnknown_0850D6DC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_0808F9FE:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808F9C8
-
- thumb_func_start sub_808FA0C
-@ bool8 sub_808FA0C(struct npc_state *fieldObject, struct obj *object)
-sub_808FA0C: @ 808FA0C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _0808FA2A
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _0808FA32
-_0808FA2A:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _0808FA34
-_0808FA32:
- movs r0, 0
-_0808FA34:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FA0C
-
- thumb_func_start sub_808FA3C
-@ bool8 sub_808FA3C(struct npc_state *fieldObject, struct obj *object)
-sub_808FA3C: @ 808FA3C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D710
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r4, 0
- movs r1, 0
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0808FA6C
- bl Random
- movs r1, 0x3
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_0808FA6C:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808FA3C
-
- thumb_func_start FieldObjectCB_RandomlyGoNorthOrSouth
-FieldObjectCB_RandomlyGoNorthOrSouth: @ 808FA84
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_RandomlyGoNorthOrSouth
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyGoNorthOrSouth
-
- thumb_func_start FieldObjectCB2_RandomlyGoNorthOrSouth
-FieldObjectCB2_RandomlyGoNorthOrSouth: @ 808FAA8
- push {r4,lr}
- ldr r3, =gUnknown_0850D754
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_RandomlyGoNorthOrSouth
-
- thumb_func_start sub_808FAC8
-sub_808FAC8: @ 808FAC8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808FAC8
-
- thumb_func_start sub_808FADC
-sub_808FADC: @ 808FADC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FADC
-
- thumb_func_start sub_808FB08
-@ bool8 sub_808FB08(struct npc_state *fieldObject, struct obj *object)
-sub_808FB08: @ 808FB08
- push {r4-r6,lr}
- adds r6, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0808FB3C
- ldr r5, =gUnknown_0850D6DC
- bl Random
- movs r4, 0x3
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r5
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r6, 0
- bl sub_8097978
- strh r4, [r6, 0x30]
- movs r0, 0x1
- b _0808FB3E
- .pool
-_0808FB3C:
- movs r0, 0
-_0808FB3E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808FB08
-
- thumb_func_start sub_808FB44
-@ bool8 sub_808FB44(struct npc_state *fieldObject, struct obj *object)
-sub_808FB44: @ 808FB44
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _0808FB58
- movs r0, 0
- b _0808FB5E
-_0808FB58:
- movs r0, 0x4
- strh r0, [r4, 0x30]
- movs r0, 0x1
-_0808FB5E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808FB44
-
- thumb_func_start sub_808FB64
-@ bool8 sub_808FB64(struct npc_state *fieldObject, struct obj *object)
-sub_808FB64: @ 808FB64
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, =gUnknown_0850D770
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- bl Random
- movs r7, 0x1
- adds r1, r7, 0
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r4, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x5
- strh r0, [r6, 0x30]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8092B88
- lsls r0, 24
- cmp r0, 0
- beq _0808FBA2
- strh r7, [r6, 0x30]
-_0808FBA2:
- movs r0, 0x1
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808FB64
-
- thumb_func_start sub_808FBB0
-sub_808FBB0: @ 808FBB0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetGoSpeed0AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x6
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FBB0
-
- thumb_func_start sub_808FBE0
-sub_808FBE0: @ 808FBE0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0808FBFE
- ldrb r0, [r4]
- movs r1, 0x3
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- movs r0, 0x1
- strh r0, [r5, 0x30]
-_0808FBFE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FBE0
-
- thumb_func_start FieldObjectCB_RandomlyGoEastOrWest
-FieldObjectCB_RandomlyGoEastOrWest: @ 808FC08
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_RandomlyGoEastOrWest
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyGoEastOrWest
-
- thumb_func_start FieldObjectCB2_RandomlyGoEastOrWest
-FieldObjectCB2_RandomlyGoEastOrWest: @ 808FC2C
- push {r4,lr}
- ldr r3, =gUnknown_0850D774
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_RandomlyGoEastOrWest
-
- thumb_func_start sub_808FC4C
-sub_808FC4C: @ 808FC4C
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808FC4C
-
- thumb_func_start sub_808FC60
-sub_808FC60: @ 808FC60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FC60
-
- thumb_func_start sub_808FC8C
-sub_808FC8C: @ 808FC8C
- push {r4-r6,lr}
- adds r6, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0808FCC0
- ldr r5, =gUnknown_0850D6DC
- bl Random
- movs r4, 0x3
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r5
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r6, 0
- bl sub_8097978
- strh r4, [r6, 0x30]
- movs r0, 0x1
- b _0808FCC2
- .pool
-_0808FCC0:
- movs r0, 0
-_0808FCC2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808FC8C
-
- thumb_func_start sub_808FCC8
-sub_808FCC8: @ 808FCC8
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _0808FCDC
- movs r0, 0
- b _0808FCE2
-_0808FCDC:
- movs r0, 0x4
- strh r0, [r4, 0x30]
- movs r0, 0x1
-_0808FCE2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808FCC8
-
- thumb_func_start sub_808FCE8
-sub_808FCE8: @ 808FCE8
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, =gUnknown_0850D790
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- bl Random
- movs r7, 0x1
- adds r1, r7, 0
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r4, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x5
- strh r0, [r6, 0x30]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8092B88
- lsls r0, 24
- cmp r0, 0
- beq _0808FD26
- strh r7, [r6, 0x30]
-_0808FD26:
- movs r0, 0x1
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808FCE8
-
- thumb_func_start sub_808FD34
-sub_808FD34: @ 808FD34
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetGoSpeed0AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x6
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FD34
-
- thumb_func_start sub_808FD64
-sub_808FD64: @ 808FD64
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0808FD82
- ldrb r0, [r4]
- movs r1, 0x3
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- movs r0, 0x1
- strh r0, [r5, 0x30]
-_0808FD82:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FD64
-
- thumb_func_start FieldObjectCB_FaceFixedDirection
-FieldObjectCB_FaceFixedDirection: @ 808FD8C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_FaceFixedDirection
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_FaceFixedDirection
-
- thumb_func_start FieldObjectCB2_FaceFixedDirection
-@ bool8 FieldObjectCB2_FaceFixedDirection(struct npc_state *fieldObject, struct obj *object)
-FieldObjectCB2_FaceFixedDirection: @ 808FDB0
- push {r4,lr}
- ldr r3, =gUnknown_0850D794
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_FaceFixedDirection
-
- thumb_func_start sub_808FDD0
-@ bool8 sub_808FDD0(struct npc_state *fieldObject, struct obj *object)
-sub_808FDD0: @ 808FDD0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FDD0
-
- thumb_func_start sub_808FDFC
-@ bool8 sub_808FDFC(struct npc_state *fieldObject, struct obj *object)
-sub_808FDFC: @ 808FDFC
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- bne _0808FE0E
- movs r0, 0
- b _0808FE14
-_0808FE0E:
- movs r0, 0x2
- strh r0, [r4, 0x30]
- movs r0, 0x1
-_0808FE14:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808FDFC
-
- thumb_func_start sub_808FE1C
-@ bool8 sub_808FE1C(struct npc_state *fieldObject, struct obj *object)
-sub_808FE1C: @ 808FE1C
- ldrb r2, [r0]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0
- bx lr
- thumb_func_end sub_808FE1C
-
- thumb_func_start FieldObjectCB_BerryTree
-FieldObjectCB_BerryTree: @ 808FE2C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrh r1, [r4, 0x3C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0808FE58
- adds r0, r5, 0
- adds r1, r4, 0
- bl get_berry_tree_graphics
- ldrh r1, [r4, 0x3C]
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r4, 0x3C]
-_0808FE58:
- ldr r2, =FieldObjectCB2_BerryTree
- adds r0, r5, 0
- adds r1, r4, 0
- bl FieldObjectStep
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_BerryTree
-
- thumb_func_start FieldObjectCB2_BerryTree
-FieldObjectCB2_BerryTree: @ 808FE70
- push {r4,lr}
- ldr r3, =gUnknown_0850D7A0
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_BerryTree
-
- thumb_func_start do_berry_tree_growth_sparkle_1
-@ bool8 do_berry_tree_growth_sparkle_1(struct npc_state *fieldObject, struct obj *object)
-do_berry_tree_growth_sparkle_1: @ 808FE90
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r6, r5, 0
- adds r6, 0x3E
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r4, 0x1D]
- bl GetStageByBerryTreeId
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _0808FF00
- ldrh r1, [r5, 0x3C]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0808FEF6
- subs r6, 0x14
- ldrb r0, [r6]
- cmp r0, 0x4
- bne _0808FEF6
- ldr r1, =gUnknown_02038C08
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- str r0, [r1, 0x4]
- adds r0, r5, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r1, 0x8]
- ldrb r0, [r5, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r1, 0xC]
- movs r0, 0x17
- bl FieldEffectStart
- strb r7, [r6]
-_0808FEF6:
- movs r0, 0
- b _0808FF42
- .pool
-_0808FF00:
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r6]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- subs r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, r7
- bne _0808FF3C
- adds r0, r4, 0
- adds r1, r5, 0
- bl get_berry_tree_graphics
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x39
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- b _0808FF42
-_0808FF3C:
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
-_0808FF42:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end do_berry_tree_growth_sparkle_1
-
- thumb_func_start sub_808FF48
-@ bool8 sub_808FF48(struct npc_state *fieldObject, struct obj *object)
-sub_808FF48: @ 808FF48
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- bne _0808FF5A
- movs r0, 0
- b _0808FF60
-_0808FF5A:
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r0, 0x1
-_0808FF60:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808FF48
-
- thumb_func_start do_berry_tree_growth_sparkle_2
-@ bool8 do_berry_tree_growth_sparkle_2(struct npc_state *fieldObject, struct obj *object)
-do_berry_tree_growth_sparkle_2: @ 808FF68
- push {r4,lr}
- ldrb r2, [r0]
- movs r3, 0x2
- orrs r2, r3
- strb r2, [r0]
- movs r3, 0
- movs r2, 0x3
- strh r2, [r1, 0x30]
- strh r3, [r1, 0x32]
- ldrh r3, [r1, 0x3C]
- movs r2, 0x2
- orrs r2, r3
- strh r2, [r1, 0x3C]
- ldr r3, =gUnknown_02038C08
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- str r0, [r3, 0x4]
- adds r0, r1, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x17
- bl FieldEffectStart
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end do_berry_tree_growth_sparkle_2
-
- thumb_func_start sub_808FFB4
-@ bool8 sub_808FFB4(struct npc_state *fieldObject, struct obj *object)
-sub_808FFB4: @ 808FFB4
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldrh r1, [r4, 0x32]
- adds r1, 0x1
- strh r1, [r4, 0x32]
- movs r0, 0x2
- ands r1, r0
- lsls r1, 16
- lsrs r1, 17
- lsls r1, 5
- ldrb r2, [r3, 0x1]
- subs r0, 0x23
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- bgt _0808FFEC
- movs r0, 0
- b _0808FFFE
-_0808FFEC:
- adds r0, r3, 0
- adds r1, r4, 0
- bl get_berry_tree_graphics
- movs r0, 0x4
- strh r0, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_0808FFFE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808FFB4
-
- thumb_func_start sub_8090004
-@ bool8 sub_8090004(struct npc_state *fieldObject, struct obj *object)
-sub_8090004: @ 8090004
- push {r4,lr}
- adds r4, r1, 0
- ldrh r2, [r4, 0x32]
- adds r2, 0x1
- strh r2, [r4, 0x32]
- movs r1, 0x2
- ands r2, r1
- lsls r2, 16
- lsrs r2, 17
- lsls r2, 5
- ldrb r3, [r0, 0x1]
- subs r1, 0x23
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x1]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- bgt _0809003A
- movs r0, 0
- b _08090048
-_0809003A:
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x3C]
- subs r0, 0x3
- ands r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0x1
-_08090048:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090004
-
- thumb_func_start FieldObjectCB_RandomlyLookNorthOrSouth
-FieldObjectCB_RandomlyLookNorthOrSouth: @ 8090050
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_RandomlyLookNorthOrSouth
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookNorthOrSouth
-
- thumb_func_start FieldObjectCB2_RandomlyLookNorthOrSouth
-FieldObjectCB2_RandomlyLookNorthOrSouth: @ 8090074
- push {r4,lr}
- ldr r3, =gUnknown_0850D7B4
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_RandomlyLookNorthOrSouth
-
- thumb_func_start sub_8090094
-sub_8090094: @ 8090094
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090094
-
- thumb_func_start sub_80900A8
-sub_80900A8: @ 80900A8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80900A8
-
- thumb_func_start sub_80900D4
-sub_80900D4: @ 80900D4
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809010A
- ldr r4, =gUnknown_0850D6DC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_0809010A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80900D4
-
- thumb_func_start sub_8090118
-sub_8090118: @ 8090118
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090136
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _0809013E
-_08090136:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090140
-_0809013E:
- movs r0, 0
-_08090140:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090118
-
- thumb_func_start sub_8090148
-sub_8090148: @ 8090148
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D770
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090178
- bl Random
- movs r1, 0x1
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_08090178:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090148
-
- thumb_func_start FieldObjectCB_RandomlyLookEastOrWest
-FieldObjectCB_RandomlyLookEastOrWest: @ 8090190
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_RandomlyLookEastOrWest
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookEastOrWest
-
- thumb_func_start FieldObjectCB2_RandomlyLookEastOrWest
-FieldObjectCB2_RandomlyLookEastOrWest: @ 80901B4
- push {r4,lr}
- ldr r3, =gUnknown_0850D7C8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_RandomlyLookEastOrWest
-
- thumb_func_start sub_80901D4
-sub_80901D4: @ 80901D4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80901D4
-
- thumb_func_start sub_80901E8
-sub_80901E8: @ 80901E8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80901E8
-
- thumb_func_start sub_8090214
-sub_8090214: @ 8090214
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809024A
- ldr r4, =gUnknown_0850D6DC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_0809024A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090214
-
- thumb_func_start sub_8090258
-sub_8090258: @ 8090258
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090276
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _0809027E
-_08090276:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090280
-_0809027E:
- movs r0, 0
-_08090280:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090258
-
- thumb_func_start sub_8090288
-sub_8090288: @ 8090288
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D790
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080902B8
- bl Random
- movs r1, 0x1
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_080902B8:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090288
-
- thumb_func_start FieldObjectCB_RandomlyLookNorthOrWest
-FieldObjectCB_RandomlyLookNorthOrWest: @ 80902D0
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =FieldObjectCB2_RandomlyLookNorthOrWest
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookNorthOrWest
-
- thumb_func_start FieldObjectCB2_RandomlyLookNorthOrWest
-FieldObjectCB2_RandomlyLookNorthOrWest: @ 80902F4
- push {r4,lr}
- ldr r3, =gUnknown_0850D7DC
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldObjectCB2_RandomlyLookNorthOrWest
-
- thumb_func_start sub_8090314
-sub_8090314: @ 8090314
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090314
-
- thumb_func_start sub_8090328
-sub_8090328: @ 8090328
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090328
-
- thumb_func_start sub_8090354
-sub_8090354: @ 8090354
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809038A
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_0809038A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090354
-
- thumb_func_start sub_8090398
-sub_8090398: @ 8090398
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _080903B6
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _080903BE
-_080903B6:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _080903C0
-_080903BE:
- movs r0, 0
-_080903C0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090398
-
- thumb_func_start sub_80903C8
-sub_80903C8: @ 80903C8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D7F0
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080903F8
- bl Random
- movs r1, 0x1
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_080903F8:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80903C8
-
- thumb_func_start FieldObjectCB_RandomlyLookNorthOrEast
-FieldObjectCB_RandomlyLookNorthOrEast: @ 8090410
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090434
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookNorthOrEast
-
- thumb_func_start sub_8090434
-sub_8090434: @ 8090434
- push {r4,lr}
- ldr r3, =gUnknown_0850D7F4
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090434
-
- thumb_func_start sub_8090454
-sub_8090454: @ 8090454
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090454
-
- thumb_func_start sub_8090468
-sub_8090468: @ 8090468
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090468
-
- thumb_func_start sub_8090494
-sub_8090494: @ 8090494
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _080904CA
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_080904CA:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090494
-
- thumb_func_start sub_80904D8
-sub_80904D8: @ 80904D8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _080904F6
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _080904FE
-_080904F6:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090500
-_080904FE:
- movs r0, 0
-_08090500:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80904D8
-
- thumb_func_start sub_8090508
-sub_8090508: @ 8090508
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D808
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090538
- bl Random
- movs r1, 0x1
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_08090538:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090508
-
- thumb_func_start FieldObjectCB_RandomlyLookSouthOrWest
-FieldObjectCB_RandomlyLookSouthOrWest: @ 8090550
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090574
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookSouthOrWest
-
- thumb_func_start sub_8090574
-sub_8090574: @ 8090574
- push {r4,lr}
- ldr r3, =gUnknown_0850D80C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090574
-
- thumb_func_start sub_8090594
-sub_8090594: @ 8090594
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090594
-
- thumb_func_start sub_80905A8
-sub_80905A8: @ 80905A8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80905A8
-
- thumb_func_start sub_80905D4
-sub_80905D4: @ 80905D4
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809060A
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_0809060A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80905D4
-
- thumb_func_start sub_8090618
-sub_8090618: @ 8090618
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090636
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _0809063E
-_08090636:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090640
-_0809063E:
- movs r0, 0
-_08090640:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090618
-
- thumb_func_start sub_8090648
-sub_8090648: @ 8090648
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D820
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090678
- bl Random
- movs r1, 0x1
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_08090678:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090648
-
- thumb_func_start FieldObjectCB_RandomlyLookSouthOrEast
-FieldObjectCB_RandomlyLookSouthOrEast: @ 8090690
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80906B4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookSouthOrEast
-
- thumb_func_start sub_80906B4
-sub_80906B4: @ 80906B4
- push {r4,lr}
- ldr r3, =gUnknown_0850D824
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80906B4
-
- thumb_func_start sub_80906D4
-sub_80906D4: @ 80906D4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80906D4
-
- thumb_func_start sub_80906E8
-sub_80906E8: @ 80906E8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80906E8
-
- thumb_func_start sub_8090714
-sub_8090714: @ 8090714
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809074A
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_0809074A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090714
-
- thumb_func_start sub_8090758
-sub_8090758: @ 8090758
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090776
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _0809077E
-_08090776:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090780
-_0809077E:
- movs r0, 0
-_08090780:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090758
-
- thumb_func_start sub_8090788
-sub_8090788: @ 8090788
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D838
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080907B8
- bl Random
- movs r1, 0x1
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_080907B8:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090788
-
- thumb_func_start FieldObjectCB_RandomlyLookNorthOrSouthOrWest
-FieldObjectCB_RandomlyLookNorthOrSouthOrWest: @ 80907D0
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80907F4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookNorthOrSouthOrWest
-
- thumb_func_start sub_80907F4
-sub_80907F4: @ 80907F4
- push {r4,lr}
- ldr r3, =gUnknown_0850D83C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80907F4
-
- thumb_func_start sub_8090814
-sub_8090814: @ 8090814
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090814
-
- thumb_func_start sub_8090828
-sub_8090828: @ 8090828
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090828
-
- thumb_func_start sub_8090854
-sub_8090854: @ 8090854
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809088A
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_0809088A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090854
-
- thumb_func_start sub_8090898
-sub_8090898: @ 8090898
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _080908B6
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _080908BE
-_080908B6:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _080908C0
-_080908BE:
- movs r0, 0
-_080908C0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090898
-
- thumb_func_start sub_80908C8
-sub_80908C8: @ 80908C8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D850
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080908F8
- bl Random
- movs r1, 0x3
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_080908F8:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80908C8
-
- thumb_func_start FieldObjectCB_RandomlyLookNorthOrSouthOrEast
-FieldObjectCB_RandomlyLookNorthOrSouthOrEast: @ 8090910
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090934
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookNorthOrSouthOrEast
-
- thumb_func_start sub_8090934
-sub_8090934: @ 8090934
- push {r4,lr}
- ldr r3, =gUnknown_0850D854
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090934
-
- thumb_func_start sub_8090954
-sub_8090954: @ 8090954
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090954
-
- thumb_func_start sub_8090968
-sub_8090968: @ 8090968
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090968
-
- thumb_func_start sub_8090994
-sub_8090994: @ 8090994
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _080909CA
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_080909CA:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090994
-
- thumb_func_start sub_80909D8
-sub_80909D8: @ 80909D8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _080909F6
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _080909FE
-_080909F6:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090A00
-_080909FE:
- movs r0, 0
-_08090A00:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80909D8
-
- thumb_func_start sub_8090A08
-sub_8090A08: @ 8090A08
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D868
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090A38
- bl Random
- movs r1, 0x3
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_08090A38:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090A08
-
- thumb_func_start FieldObjectCB_RandomlyLookNorthOrEastOrWest
-FieldObjectCB_RandomlyLookNorthOrEastOrWest: @ 8090A50
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090A74
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookNorthOrEastOrWest
-
- thumb_func_start sub_8090A74
-sub_8090A74: @ 8090A74
- push {r4,lr}
- ldr r3, =gUnknown_0850D86C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090A74
-
- thumb_func_start sub_8090A94
-sub_8090A94: @ 8090A94
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090A94
-
- thumb_func_start sub_8090AA8
-sub_8090AA8: @ 8090AA8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090AA8
-
- thumb_func_start sub_8090AD4
-sub_8090AD4: @ 8090AD4
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _08090B0A
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_08090B0A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090AD4
-
- thumb_func_start sub_8090B18
-sub_8090B18: @ 8090B18
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090B36
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _08090B3E
-_08090B36:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090B40
-_08090B3E:
- movs r0, 0
-_08090B40:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090B18
-
- thumb_func_start sub_8090B48
-sub_8090B48: @ 8090B48
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D880
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090B78
- bl Random
- movs r1, 0x3
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_08090B78:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090B48
-
- thumb_func_start FieldObjectCB_RandomlyLookSouthOrEastOrWest
-FieldObjectCB_RandomlyLookSouthOrEastOrWest: @ 8090B90
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090BB4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_RandomlyLookSouthOrEastOrWest
-
- thumb_func_start sub_8090BB4
-sub_8090BB4: @ 8090BB4
- push {r4,lr}
- ldr r3, =gUnknown_0850D884
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090BB4
-
- thumb_func_start sub_8090BD4
-sub_8090BD4: @ 8090BD4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090BD4
-
- thumb_func_start sub_8090BE8
-sub_8090BE8: @ 8090BE8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090BE8
-
- thumb_func_start sub_8090C14
-sub_8090C14: @ 8090C14
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _08090C4A
- ldr r4, =gUnknown_0850D6EC
- bl Random
- movs r5, 0x3
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r7, 0
- bl sub_8097978
- ldrb r1, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r6]
- strh r5, [r7, 0x30]
-_08090C4A:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090C14
-
- thumb_func_start sub_8090C58
-sub_8090C58: @ 8090C58
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090C76
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _08090C7E
-_08090C76:
- movs r0, 0x4
- strh r0, [r5, 0x30]
- movs r0, 0x1
- b _08090C80
-_08090C7E:
- movs r0, 0
-_08090C80:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090C58
-
- thumb_func_start sub_8090C88
-sub_8090C88: @ 8090C88
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D898
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090CB8
- bl Random
- movs r1, 0x3
- ands r1, r0
- mov r2, sp
- adds r0, r2, r1
- ldrb r1, [r0]
-_08090CB8:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x30]
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090C88
-
- thumb_func_start FieldObjectCB_LookAroundCounterclockwise
-FieldObjectCB_LookAroundCounterclockwise: @ 8090CD0
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090CF4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_LookAroundCounterclockwise
-
- thumb_func_start sub_8090CF4
-sub_8090CF4: @ 8090CF4
- push {r4,lr}
- ldr r3, =gUnknown_0850D89C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090CF4
-
- thumb_func_start sub_8090D14
-sub_8090D14: @ 8090D14
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090D14
-
- thumb_func_start sub_8090D40
-sub_8090D40: @ 8090D40
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _08090D5A
- adds r0, r4, 0
- movs r1, 0x30
- bl sub_8097978
- movs r0, 0x2
- strh r0, [r4, 0x30]
-_08090D5A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090D40
-
- thumb_func_start sub_8090D64
-sub_8090D64: @ 8090D64
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090D82
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _08090D86
-_08090D82:
- movs r0, 0x3
- strh r0, [r5, 0x30]
-_08090D86:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090D64
-
- thumb_func_start sub_8090D90
-@ bool8 sub_8090D90(struct npc_state *fieldObject, struct obj *object)
-sub_8090D90: @ 8090D90
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D8AC
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- adds r0, r4, 0
- movs r1, 0
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090DBC
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
-_08090DBC:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0
- strh r0, [r5, 0x30]
- movs r0, 0x1
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090D90
-
- thumb_func_start FieldObjectCB_LookAroundClockwise
-FieldObjectCB_LookAroundClockwise: @ 8090DD4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090DF8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_LookAroundClockwise
-
- thumb_func_start sub_8090DF8
-sub_8090DF8: @ 8090DF8
- push {r4,lr}
- ldr r3, =gUnknown_0850D8B4
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090DF8
-
- thumb_func_start sub_8090E18
-sub_8090E18: @ 8090E18
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090E18
-
- thumb_func_start sub_8090E44
-sub_8090E44: @ 8090E44
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _08090E5E
- adds r0, r4, 0
- movs r1, 0x30
- bl sub_8097978
- movs r0, 0x2
- strh r0, [r4, 0x30]
-_08090E5E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090E44
-
- thumb_func_start sub_8090E68
-sub_8090E68: @ 8090E68
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- bne _08090E86
- adds r0, r4, 0
- bl FieldObjectIsTrainerAndCloseToPlayer
- lsls r0, 24
- cmp r0, 0
- beq _08090E8A
-_08090E86:
- movs r0, 0x3
- strh r0, [r5, 0x30]
-_08090E8A:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090E68
-
- thumb_func_start sub_8090E94
-sub_8090E94: @ 8090E94
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D8C4
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- adds r0, r4, 0
- movs r1, 0
- bl sub_808F8BC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08090EC0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
-_08090EC0:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0
- strh r0, [r5, 0x30]
- movs r0, 0x1
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090E94
-
- thumb_func_start FieldObjectCB_AlternatelyGoInOppositeDirections
-FieldObjectCB_AlternatelyGoInOppositeDirections: @ 8090ED8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8090EFC
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_AlternatelyGoInOppositeDirections
-
- thumb_func_start sub_8090EFC
-sub_8090EFC: @ 8090EFC
- push {r4,lr}
- ldr r3, =gUnknown_0850D8CC
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090EFC
-
- thumb_func_start sub_8090F1C
-sub_8090F1C: @ 8090F1C
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090F1C
-
- thumb_func_start sub_8090F30
-@ bool8 sub_8090F30(struct npc_state *fieldObject, struct obj *object)
-sub_8090F30: @ 8090F30
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_085055CD
- ldrb r1, [r4, 0x6]
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r4, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0
- beq _08090F52
- adds r0, r1, 0
- bl GetOppositeDirection
- lsls r0, 24
- lsrs r1, r0, 24
-_08090F52:
- adds r0, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8090F30
-
- thumb_func_start sub_8090F68
-@ bool8 sub_8090F68(struct npc_state *fieldObject, struct obj *object)
-sub_8090F68: @ 8090F68
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r7, r1, 0
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0
- beq _08090F98
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x10]
- cmp r1, r0
- bne _08090F98
- movs r0, 0
- strb r0, [r2]
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetOppositeDirection
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetDirection
-_08090F98:
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl sub_8092B88
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetGoSpeed0AnimId
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r5, 0x1
- bne _08090FEE
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetOppositeDirection
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetDirection
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetGoSpeed0AnimId
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl sub_8092B88
- lsls r0, 24
- lsrs r5, r0, 24
-_08090FEE:
- cmp r5, 0
- beq _08091000
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay16AnimId
- lsls r0, 24
- lsrs r6, r0, 24
-_08091000:
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x3
- strh r0, [r7, 0x30]
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090F68
-
- thumb_func_start sub_8091020
-@ bool8 sub_8091020(struct npc_state *fieldObject, struct obj *object)
-sub_8091020: @ 8091020
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809103E
- ldrb r0, [r4]
- movs r1, 0x3
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- movs r0, 0x1
- strh r0, [r5, 0x30]
-_0809103E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091020
-
- thumb_func_start sub_8091048
-@ bool8 sub_8091048(struct npc_state *fieldObject, struct obj *object)
-sub_8091048: @ 8091048
- push {r4,lr}
- adds r4, r1, 0
- bl npc_reset
- movs r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091048
-
- thumb_func_start MoveFieldObjectInNextDirectionInSequence
-@ bool8 MoveFieldObjectInNextDirectionInSequence(struct npc_state *fieldObject, struct obj *object, u8 *directions)
-MoveFieldObjectInNextDirectionInSequence: @ 809105C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- mov r8, r1
- adds r7, r2, 0
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x3
- bne _0809107E
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x10]
- cmp r1, r0
- bne _0809107E
- movs r0, 0
- strb r0, [r2]
-_0809107E:
- adds r5, r4, 0
- adds r5, 0x21
- ldrb r0, [r5]
- adds r0, r7, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl FieldObjectSetDirection
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetGoSpeed0AnimId
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl sub_8092B88
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080910D8
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldrb r0, [r5]
- adds r0, r7, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl FieldObjectSetDirection
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetGoSpeed0AnimId
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl sub_8092B88
- lsls r0, 24
- lsrs r0, 24
-_080910D8:
- cmp r0, 0
- beq _080910EA
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay16AnimId
- lsls r0, 24
- lsrs r6, r0, 24
-_080910EA:
- adds r0, r4, 0
- mov r1, r8
- adds r2, r6, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- mov r1, r8
- strh r0, [r1, 0x30]
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end MoveFieldObjectInNextDirectionInSequence
-
- thumb_func_start sub_8091110
-@ bool8 sub_8091110(struct npc_state *fieldObject, struct obj *object)
-sub_8091110: @ 8091110
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0809112E
- ldrb r0, [r4]
- movs r1, 0x3
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- movs r0, 0x1
- strh r0, [r5, 0x30]
-_0809112E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091110
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence1
-FieldObjectCB_GoInDirectionSequence1: @ 8091138
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_809115C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence1
-
- thumb_func_start sub_809115C
-sub_809115C: @ 809115C
- push {r4,lr}
- ldr r3, =gUnknown_0850D8DC
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809115C
-
- thumb_func_start sub_809117C
-sub_809117C: @ 809117C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D8E8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080911A8
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080911A8
- movs r0, 0x3
- strb r0, [r2]
-_080911A8:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809117C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence2
-FieldObjectCB_GoInDirectionSequence2: @ 80911C4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80911E8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence2
-
- thumb_func_start sub_80911E8
-sub_80911E8: @ 80911E8
- push {r4,lr}
- ldr r3, =gUnknown_0850D8EC
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80911E8
-
- thumb_func_start sub_8091208
-sub_8091208: @ 8091208
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D8F8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091234
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091234
- movs r0, 0x2
- strb r0, [r2]
-_08091234:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091208
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence3
-FieldObjectCB_GoInDirectionSequence3: @ 8091250
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091274
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence3
-
- thumb_func_start sub_8091274
-sub_8091274: @ 8091274
- push {r4,lr}
- ldr r3, =gUnknown_0850D8FC
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091274
-
- thumb_func_start sub_8091294
-sub_8091294: @ 8091294
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D908
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080912C0
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080912C0
- movs r0, 0x2
- strb r0, [r2]
-_080912C0:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091294
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence4
-FieldObjectCB_GoInDirectionSequence4: @ 80912DC
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091300
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence4
-
- thumb_func_start sub_8091300
-sub_8091300: @ 8091300
- push {r4,lr}
- ldr r3, =gUnknown_0850D90C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091300
-
- thumb_func_start sub_8091320
-sub_8091320: @ 8091320
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D918
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _0809134C
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _0809134C
- movs r0, 0x3
- strb r0, [r2]
-_0809134C:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091320
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence5
-FieldObjectCB_GoInDirectionSequence5: @ 8091368
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_809138C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence5
-
- thumb_func_start sub_809138C
-sub_809138C: @ 809138C
- push {r4,lr}
- ldr r3, =gUnknown_0850D91C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809138C
-
- thumb_func_start sub_80913AC
-@ bool8 sub_80913AC(struct npc_state *fieldObject, struct obj *object)
-sub_80913AC: @ 80913AC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D928
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080913D8
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080913D8
- movs r0, 0x3
- strb r0, [r2]
-_080913D8:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80913AC
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence6
-FieldObjectCB_GoInDirectionSequence6: @ 80913F4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091418
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence6
-
- thumb_func_start sub_8091418
-sub_8091418: @ 8091418
- push {r4,lr}
- ldr r3, =gUnknown_0850D92C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091418
-
- thumb_func_start sub_8091438
-sub_8091438: @ 8091438
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D938
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091464
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091464
- movs r0, 0x2
- strb r0, [r2]
-_08091464:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091438
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence7
-FieldObjectCB_GoInDirectionSequence7: @ 8091480
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80914A4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence7
-
- thumb_func_start sub_80914A4
-sub_80914A4: @ 80914A4
- push {r4,lr}
- ldr r3, =gUnknown_0850D93C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80914A4
-
- thumb_func_start sub_80914C4
-sub_80914C4: @ 80914C4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D710
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080914F0
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080914F0
- movs r0, 0x2
- strb r0, [r2]
-_080914F0:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80914C4
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence8
-FieldObjectCB_GoInDirectionSequence8: @ 809150C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091530
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence8
-
- thumb_func_start sub_8091530
-sub_8091530: @ 8091530
- push {r4,lr}
- ldr r3, =gUnknown_0850D948
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091530
-
- thumb_func_start sub_8091550
-sub_8091550: @ 8091550
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D954
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _0809157C
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _0809157C
- movs r0, 0x3
- strb r0, [r2]
-_0809157C:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091550
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence9
-FieldObjectCB_GoInDirectionSequence9: @ 8091598
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80915BC
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence9
-
- thumb_func_start sub_80915BC
-sub_80915BC: @ 80915BC
- push {r4,lr}
- ldr r3, =gUnknown_0850D958
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80915BC
-
- thumb_func_start sub_80915DC
-sub_80915DC: @ 80915DC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D964
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091608
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091608
- movs r0, 0x3
- strb r0, [r2]
-_08091608:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80915DC
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence10
-FieldObjectCB_GoInDirectionSequence10: @ 8091624
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091648
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence10
-
- thumb_func_start sub_8091648
-sub_8091648: @ 8091648
- push {r4,lr}
- ldr r3, =gUnknown_0850D968
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091648
-
- thumb_func_start sub_8091668
-sub_8091668: @ 8091668
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D974
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091694
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091694
- movs r0, 0x2
- strb r0, [r2]
-_08091694:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091668
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence11
-FieldObjectCB_GoInDirectionSequence11: @ 80916B0
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80916D4
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence11
-
- thumb_func_start sub_80916D4
-sub_80916D4: @ 80916D4
- push {r4,lr}
- ldr r3, =gUnknown_0850D978
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80916D4
-
- thumb_func_start sub_80916F4
-sub_80916F4: @ 80916F4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D984
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091720
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091720
- movs r0, 0x2
- strb r0, [r2]
-_08091720:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80916F4
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence12
-FieldObjectCB_GoInDirectionSequence12: @ 809173C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091760
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence12
-
- thumb_func_start sub_8091760
-sub_8091760: @ 8091760
- push {r4,lr}
- ldr r3, =gUnknown_0850D988
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091760
-
- thumb_func_start sub_8091780
-sub_8091780: @ 8091780
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D994
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080917AC
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080917AC
- movs r0, 0x3
- strb r0, [r2]
-_080917AC:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091780
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence13
-FieldObjectCB_GoInDirectionSequence13: @ 80917C8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80917EC
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence13
-
- thumb_func_start sub_80917EC
-sub_80917EC: @ 80917EC
- push {r4,lr}
- ldr r3, =gUnknown_0850D998
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80917EC
-
- thumb_func_start sub_809180C
-sub_809180C: @ 809180C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9A4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091838
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091838
- movs r0, 0x3
- strb r0, [r2]
-_08091838:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809180C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence14
-FieldObjectCB_GoInDirectionSequence14: @ 8091854
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091878
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence14
-
- thumb_func_start sub_8091878
-sub_8091878: @ 8091878
- push {r4,lr}
- ldr r3, =gUnknown_0850D9A8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091878
-
- thumb_func_start sub_8091898
-sub_8091898: @ 8091898
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9B4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080918C4
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080918C4
- movs r0, 0x2
- strb r0, [r2]
-_080918C4:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091898
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence15
-FieldObjectCB_GoInDirectionSequence15: @ 80918E0
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091904
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence15
-
- thumb_func_start sub_8091904
-sub_8091904: @ 8091904
- push {r4,lr}
- ldr r3, =gUnknown_0850D9B8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091904
-
- thumb_func_start sub_8091924
-sub_8091924: @ 8091924
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9C4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _08091950
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091950
- movs r0, 0x2
- strb r0, [r2]
-_08091950:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091924
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence16
-FieldObjectCB_GoInDirectionSequence16: @ 809196C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091990
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence16
-
- thumb_func_start sub_8091990
-sub_8091990: @ 8091990
- push {r4,lr}
- ldr r3, =gUnknown_0850D9C8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091990
-
- thumb_func_start sub_80919B0
-sub_80919B0: @ 80919B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9D4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080919DC
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080919DC
- movs r0, 0x3
- strb r0, [r2]
-_080919DC:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80919B0
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence17
-FieldObjectCB_GoInDirectionSequence17: @ 80919F8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091A1C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence17
-
- thumb_func_start sub_8091A1C
-sub_8091A1C: @ 8091A1C
- push {r4,lr}
- ldr r3, =gUnknown_0850D9D8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091A1C
-
- thumb_func_start sub_8091A3C
-sub_8091A3C: @ 8091A3C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9E4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091A68
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091A68
- movs r0, 0x3
- strb r0, [r2]
-_08091A68:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091A3C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence18
-FieldObjectCB_GoInDirectionSequence18: @ 8091A84
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091AA8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence18
-
- thumb_func_start sub_8091AA8
-sub_8091AA8: @ 8091AA8
- push {r4,lr}
- ldr r3, =gUnknown_0850D9E8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091AA8
-
- thumb_func_start sub_8091AC8
-sub_8091AC8: @ 8091AC8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850D9F4
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091AF4
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091AF4
- movs r0, 0x3
- strb r0, [r2]
-_08091AF4:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091AC8
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence19
-FieldObjectCB_GoInDirectionSequence19: @ 8091B10
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091B34
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence19
-
- thumb_func_start sub_8091B34
-sub_8091B34: @ 8091B34
- push {r4,lr}
- ldr r3, =gUnknown_0850D9F8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091B34
-
- thumb_func_start sub_8091B54
-sub_8091B54: @ 8091B54
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA04
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091B80
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091B80
- movs r0, 0x3
- strb r0, [r2]
-_08091B80:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091B54
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence20
-FieldObjectCB_GoInDirectionSequence20: @ 8091B9C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091BC0
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence20
-
- thumb_func_start sub_8091BC0
-sub_8091BC0: @ 8091BC0
- push {r4,lr}
- ldr r3, =gUnknown_0850DA08
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091BC0
-
- thumb_func_start sub_8091BE0
-sub_8091BE0: @ 8091BE0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA14
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091C0C
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091C0C
- movs r0, 0x3
- strb r0, [r2]
-_08091C0C:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091BE0
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence21
-FieldObjectCB_GoInDirectionSequence21: @ 8091C28
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091C4C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence21
-
- thumb_func_start sub_8091C4C
-sub_8091C4C: @ 8091C4C
- push {r4,lr}
- ldr r3, =gUnknown_0850DA18
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091C4C
-
- thumb_func_start sub_8091C6C
-sub_8091C6C: @ 8091C6C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA24
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091C98
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091C98
- movs r0, 0x3
- strb r0, [r2]
-_08091C98:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091C6C
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence22
-FieldObjectCB_GoInDirectionSequence22: @ 8091CB4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091CD8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence22
-
- thumb_func_start sub_8091CD8
-sub_8091CD8: @ 8091CD8
- push {r4,lr}
- ldr r3, =gUnknown_0850DA28
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091CD8
-
- thumb_func_start sub_8091CF8
-sub_8091CF8: @ 8091CF8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA34
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091D24
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091D24
- movs r0, 0x3
- strb r0, [r2]
-_08091D24:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091CF8
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence23
-FieldObjectCB_GoInDirectionSequence23: @ 8091D40
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091D64
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence23
-
- thumb_func_start sub_8091D64
-sub_8091D64: @ 8091D64
- push {r4,lr}
- ldr r3, =gUnknown_0850DA38
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091D64
-
- thumb_func_start sub_8091D84
-sub_8091D84: @ 8091D84
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA44
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091DB0
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091DB0
- movs r0, 0x3
- strb r0, [r2]
-_08091DB0:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091D84
-
- thumb_func_start FieldObjectCB_GoInDirectionSequence24
-FieldObjectCB_GoInDirectionSequence24: @ 8091DCC
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091DF0
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_GoInDirectionSequence24
-
- thumb_func_start sub_8091DF0
-sub_8091DF0: @ 8091DF0
- push {r4,lr}
- ldr r3, =gUnknown_0850DA48
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091DF0
-
- thumb_func_start sub_8091E10
-sub_8091E10: @ 8091E10
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DA54
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r2, r4, 0
- adds r2, 0x21
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08091E3C
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _08091E3C
- movs r0, 0x3
- strb r0, [r2]
-_08091E3C:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl MoveFieldObjectInNextDirectionInSequence
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091E10
-
- thumb_func_start FieldObjectCB_CopyPlayer1
-FieldObjectCB_CopyPlayer1: @ 8091E58
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8091E7C
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_CopyPlayer1
-
- thumb_func_start sub_8091E7C
-sub_8091E7C: @ 8091E7C
- push {r4,lr}
- ldr r3, =gUnknown_0850DA58
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091E7C
-
- thumb_func_start mss_npc_reset_oampriv3_1_unk2_unk3
-@ bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct npc_state *fieldObject, struct obj *object)
-mss_npc_reset_oampriv3_1_unk2_unk3: @ 8091E9C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- adds r4, 0x21
- ldrb r0, [r4]
- cmp r0, 0
- bne _08091EB4
- bl player_get_direction_lower_nybble
- strb r0, [r4]
-_08091EB4:
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end mss_npc_reset_oampriv3_1_unk2_unk3
-
- thumb_func_start sub_8091EC0
-@ bool8 sub_8091EC0(struct npc_state *fieldObject, struct obj *object)
-sub_8091EC0: @ 8091EC0
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- ldr r2, =gMapObjects
- ldr r3, =gUnknown_02037590
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1C]
- cmp r0, 0xFF
- beq _08091EE0
- ldrb r0, [r3, 0x3]
- cmp r0, 0x2
- bne _08091EEC
-_08091EE0:
- movs r0, 0
- b _08091F14
- .pool
-_08091EEC:
- ldr r5, =gUnknown_0850DA64
- bl player_get_x22
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 22
- adds r4, r5
- bl player_get_direction_upper_nybble
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r4, [r4]
- adds r0, r6, 0
- adds r1, r7, 0
- movs r3, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
-_08091F14:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091EC0
-
- thumb_func_start sub_8091F20
-sub_8091F20: @ 8091F20
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _08091F3E
- ldrb r0, [r4]
- movs r1, 0x3
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- movs r0, 0x1
- strh r0, [r5, 0x30]
-_08091F3E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091F20
-
- thumb_func_start sub_8091F48
-sub_8091F48: @ 8091F48
- movs r0, 0
- bx lr
- thumb_func_end sub_8091F48
-
- thumb_func_start sub_8091F4C
-sub_8091F4C: @ 8091F4C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- bl state_to_direction
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091F4C
-
- thumb_func_start sub_8091F94
-sub_8091F94: @ 8091F94
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r5, r2, 24
- adds r6, r5, 0
- bl FieldObjectIsFarawayIslandMew
- lsls r0, 24
- cmp r0, 0
- beq _08091FFC
- bl sub_81D427C
- adds r5, r0, 0
- cmp r5, 0
- bne _08092012
- adds r5, r6, 0
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r5, 0
- bl state_to_direction
- adds r5, r0, 0
- mov r3, sp
- adds r3, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl FieldObjectMoveDestCoords
- adds r0, r5, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- b _08092084
- .pool
-_08091FFC:
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r5, 0
- bl state_to_direction
- adds r5, r0, 0
-_08092012:
- mov r6, sp
- adds r6, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl FieldObjectMoveDestCoords
- adds r0, r5, 0
- bl GetGoSpeed0AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r6, r0]
- adds r0, r4, 0
- adds r3, r5, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _08092070
- mov r1, r8
- cmp r1, 0
- beq _08092084
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r6, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _08092084
-_08092070:
- adds r0, r5, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_08092084:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8091F94
-
- thumb_func_start sub_80920A4
-sub_80920A4: @ 80920A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl GetGoSpeed1AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0809212A
- mov r1, r8
- cmp r1, 0
- beq _0809213E
- 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 _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _0809213E
-_0809212A:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_0809213E:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80920A4
-
- thumb_func_start sub_809215C
-sub_809215C: @ 809215C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl GetGoSpeed3AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _080921E2
- mov r1, r8
- cmp r1, 0
- beq _080921F6
- 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 _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _080921F6
-_080921E2:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_080921F6:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809215C
-
- thumb_func_start sub_8092214
-sub_8092214: @ 8092214
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl sub_8093438
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0809229A
- mov r1, r8
- cmp r1, 0
- beq _080922AE
- 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 _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _080922AE
-_0809229A:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_080922AE:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8092214
-
- thumb_func_start cph_IM_DIFFERENT
-cph_IM_DIFFERENT: @ 80922CC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- bl state_to_direction
- bl sub_80934BC
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r5, 0x30]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end cph_IM_DIFFERENT
-
- thumb_func_start sub_8092314
-sub_8092314: @ 8092314
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, sp
- adds r3, r5, 0
- bl FieldObjectMoveDestCoords
- adds r0, r6, 0
- bl sub_8093514
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _0809239A
- mov r1, r8
- cmp r1, 0
- beq _080923AE
- 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 _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _080923AE
-_0809239A:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_080923AE:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8092314
-
- thumb_func_start oac_hopping
-oac_hopping: @ 80923CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, =gUnknown_085055CD
- ldrb r0, [r4, 0x6]
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r2, r6, 0
- bl state_to_direction
- adds r6, r0, 0
- ldrh r1, [r4, 0x10]
- add r0, sp, 0x4
- strh r1, [r0]
- ldrh r0, [r4, 0x12]
- mov r5, sp
- adds r5, 0x6
- strh r0, [r5]
- movs r0, 0x2
- str r0, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- movs r3, 0x2
- bl sub_8092F88
- adds r0, r6, 0
- bl GetJumpLedgeAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
- add r0, sp, 0x4
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r4, 0
- adds r3, r6, 0
- bl npc_block_way
- lsls r0, 24
- cmp r0, 0
- bne _08092460
- mov r1, r8
- cmp r1, 0
- beq _08092474
- add r0, sp, 0x4
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r8
- lsls r0, 24
- cmp r0, 0
- bne _08092474
-_08092460:
- adds r0, r6, 0
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r7, 0
- bl FieldObjectSetRegularAnim
-_08092474:
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x2
- strh r0, [r7, 0x30]
- movs r0, 0x1
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end oac_hopping
-
- thumb_func_start FieldObjectCB_CopyPlayer2
-FieldObjectCB_CopyPlayer2: @ 8092494
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80924B8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_CopyPlayer2
-
- thumb_func_start sub_80924B8
-sub_80924B8: @ 80924B8
- push {r4,lr}
- ldr r3, =gUnknown_0850DA90
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80924B8
-
- thumb_func_start mss_08062EA4
-mss_08062EA4: @ 80924D8
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- ldr r2, =gMapObjects
- ldr r3, =gUnknown_02037590
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1C]
- cmp r0, 0xFF
- beq _080924F8
- ldrb r0, [r3, 0x3]
- cmp r0, 0x2
- bne _08092504
-_080924F8:
- movs r0, 0
- b _0809252C
- .pool
-_08092504:
- ldr r5, =gUnknown_0850DA64
- bl player_get_x22
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 22
- adds r4, r5
- bl player_get_direction_upper_nybble
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =sub_8088E64
- ldr r4, [r4]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
-_0809252C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end mss_08062EA4
-
- thumb_func_start FieldObjectCB_TreeDisguise
-@ void FieldObjectCB_TreeDisguise(struct obj *object)
-FieldObjectCB_TreeDisguise: @ 809253C
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r4, r1, r0
- adds r6, r4, 0
- adds r6, 0x21
- ldrb r0, [r6]
- cmp r0, 0
- beq _08092564
- cmp r0, 0x1
- bne _08092584
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08092584
-_08092564:
- ldr r1, =gUnknown_02038C08
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r4, 0
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x1C
- bl FieldEffectStart
- strb r0, [r4, 0x1A]
- movs r0, 0x1
- strb r0, [r6]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
-_08092584:
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldr r2, =sub_80925AC
- adds r1, r5, 0
- bl FieldObjectStep
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_TreeDisguise
-
- thumb_func_start sub_80925AC
-sub_80925AC: @ 80925AC
- push {lr}
- bl npc_reset
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80925AC
-
- thumb_func_start FieldObjectCB_MountainDisguise
-FieldObjectCB_MountainDisguise: @ 80925B8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r4, r1, r0
- adds r6, r4, 0
- adds r6, 0x21
- ldrb r0, [r6]
- cmp r0, 0
- beq _080925E0
- cmp r0, 0x1
- bne _08092600
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08092600
-_080925E0:
- ldr r1, =gUnknown_02038C08
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r4, 0
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x1D
- bl FieldEffectStart
- strb r0, [r4, 0x1A]
- movs r0, 0x1
- strb r0, [r6]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
-_08092600:
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldr r2, =sub_80925AC
- adds r1, r5, 0
- bl FieldObjectStep
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_MountainDisguise
-
- thumb_func_start FieldObjectCB_Hidden1
-@ void FieldObjectCB_Hidden1(struct obj *object)
-FieldObjectCB_Hidden1: @ 8092628
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r3, r1]
- ldr r4, =gMapObjects
- cmp r0, 0
- bne _08092668
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x3]
- adds r2, r3, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r3, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldrh r0, [r3, 0x3C]
- adds r0, 0x1
- strh r0, [r3, 0x3C]
-_08092668:
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r2, =sub_809268C
- adds r1, r3, 0
- bl FieldObjectStep
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_Hidden1
-
- thumb_func_start sub_809268C
-sub_809268C: @ 809268C
- push {r4,lr}
- ldr r3, =gUnknown_0850DA9C
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809268C
-
- thumb_func_start sub_80926AC
-sub_80926AC: @ 80926AC
- push {lr}
- bl npc_reset
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80926AC
-
- thumb_func_start sub_80926B8
-@ bool8 sub_80926B8(struct npc_state *fieldObject, struct obj *object)
-sub_80926B8: @ 80926B8
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _080926CA
- movs r0, 0
- strh r0, [r4, 0x30]
-_080926CA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80926B8
-
- thumb_func_start FieldObjectCB_WalkInPlace1
-FieldObjectCB_WalkInPlace1: @ 80926D4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80926F8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_WalkInPlace1
-
- thumb_func_start sub_80926F8
-sub_80926F8: @ 80926F8
- push {r4,lr}
- ldr r3, =gUnknown_0850DAA0
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80926F8
-
- thumb_func_start sub_8092718
-sub_8092718: @ 8092718
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay16AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092718
-
- thumb_func_start FieldObjectCB_WalkInPlace4
-FieldObjectCB_WalkInPlace4: @ 8092744
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8092768
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_WalkInPlace4
-
- thumb_func_start sub_8092768
-sub_8092768: @ 8092768
- push {r4,lr}
- ldr r3, =gUnknown_0850DAA8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8092768
-
- thumb_func_start sub_8092788
-sub_8092788: @ 8092788
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay32AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092788
-
- thumb_func_start FieldObjectCB_WalkInPlace2
-FieldObjectCB_WalkInPlace2: @ 80927B4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80927D8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_WalkInPlace2
-
- thumb_func_start sub_80927D8
-sub_80927D8: @ 80927D8
- push {r4,lr}
- ldr r3, =gUnknown_0850DAB0
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80927D8
-
- thumb_func_start sub_80927F8
-@ bool8 sub_80927F8(struct npc_state *fieldObject, struct obj *object)
-sub_80927F8: @ 80927F8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay8AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80927F8
-
- thumb_func_start FieldObjectCB_WalkInPlace3
-FieldObjectCB_WalkInPlace3: @ 8092824
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_8092848
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_WalkInPlace3
-
- thumb_func_start sub_8092848
-sub_8092848: @ 8092848
- push {r4,lr}
- ldr r3, =gUnknown_0850DAB8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8092848
-
- thumb_func_start sub_8092868
-sub_8092868: @ 8092868
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay4AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092868
-
- thumb_func_start FieldObjectCB_Hidden2
-FieldObjectCB_Hidden2: @ 8092894
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gMapObjects
- adds r0, r2
- ldr r2, =sub_80928B8
- bl FieldObjectStep
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectCB_Hidden2
-
- thumb_func_start sub_80928B8
-sub_80928B8: @ 80928B8
- push {r4,lr}
- ldr r3, =gUnknown_0850DAC0
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80928B8
-
- thumb_func_start sub_80928D8
-sub_80928D8: @ 80928D8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80928D8
-
- thumb_func_start sub_809290C
-sub_809290C: @ 809290C
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- bne _0809291E
- movs r0, 0
- b _08092924
-_0809291E:
- movs r0, 0x2
- strh r0, [r4, 0x30]
- movs r0, 0x1
-_08092924:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809290C
-
- thumb_func_start sub_809292C
-sub_809292C: @ 809292C
- ldrb r2, [r0]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0
- bx lr
- thumb_func_end sub_809292C
-
- thumb_func_start npc_reset
-@ void npc_reset(struct npc_state *fieldObject, struct obj *object)
-npc_reset: @ 809293C
- ldrb r3, [r0]
- movs r2, 0x3
- negs r2, r2
- ands r2, r3
- movs r3, 0x41
- negs r3, r3
- ands r2, r3
- movs r3, 0x7F
- ands r2, r3
- strb r2, [r0]
- movs r2, 0xFF
- strb r2, [r0, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x30]
- bx lr
- thumb_func_end npc_reset
-
- thumb_func_start FieldObjectDirectionToImageAnimId
-@ u8 FieldObjectDirectionToImageAnimId(u8 direction)
-FieldObjectDirectionToImageAnimId: @ 809295C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DACC
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end FieldObjectDirectionToImageAnimId
-
- thumb_func_start get_go_image_anim_num
-get_go_image_anim_num: @ 809296C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DAD5
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end get_go_image_anim_num
-
- thumb_func_start get_go_fast_image_anim_num
-get_go_fast_image_anim_num: @ 809297C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DADE
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end get_go_fast_image_anim_num
-
- thumb_func_start get_go_faster_image_anim_num
-get_go_faster_image_anim_num: @ 809298C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DAE7
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end get_go_faster_image_anim_num
-
- thumb_func_start get_go_fastest_image_anim_num
-get_go_fastest_image_anim_num: @ 809299C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DAF0
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end get_go_fastest_image_anim_num
-
- thumb_func_start sub_80929AC
-sub_80929AC: @ 80929AC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DAF9
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80929AC
-
- thumb_func_start sub_80929BC
-sub_80929BC: @ 80929BC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB02
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80929BC
-
- thumb_func_start sub_80929CC
-sub_80929CC: @ 80929CC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB0B
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80929CC
-
- thumb_func_start sub_80929DC
-sub_80929DC: @ 80929DC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB14
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80929DC
-
- thumb_func_start sub_80929EC
-sub_80929EC: @ 80929EC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB1D
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80929EC
-
- thumb_func_start sub_80929FC
-sub_80929FC: @ 80929FC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB26
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80929FC
-
- thumb_func_start sub_8092A0C
-sub_8092A0C: @ 8092A0C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB2F
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8092A0C
-
- thumb_func_start sub_8092A1C
-sub_8092A1C: @ 8092A1C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB38
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8092A1C
-
- thumb_func_start sub_8092A2C
-sub_8092A2C: @ 8092A2C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB41
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8092A2C
-
- thumb_func_start get_run_image_anim_num
-get_run_image_anim_num: @ 8092A3C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB4A
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end get_run_image_anim_num
-
- thumb_func_start sub_8092A4C
-sub_8092A4C: @ 8092A4C
- push {lr}
- adds r2, r0, 0
- ldr r1, =gUnknown_085094AC
- b _08092A64
- .pool
-_08092A58:
- ldr r0, [r1]
- cmp r0, r2
- bne _08092A62
- adds r0, r1, 0
- b _08092A6C
-_08092A62:
- adds r1, 0x8
-_08092A64:
- ldr r0, [r1]
- cmp r0, 0
- bne _08092A58
- movs r0, 0
-_08092A6C:
- pop {r1}
- bx r1
- thumb_func_end sub_8092A4C
-
- thumb_func_start npc_apply_anim_looping
-@ void npc_apply_anim_looping(struct npc_state *fieldObject, struct obj *object, u8 anim)
-npc_apply_anim_looping: @ 8092A70
- push {r4,lr}
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r0, 0x1]
- lsls r0, 27
- cmp r0, 0
- blt _08092AB2
- adds r0, r4, 0
- adds r0, 0x2A
- strb r2, [r0]
- ldr r0, [r4, 0x8]
- bl sub_8092A4C
- adds r1, r4, 0
- adds r1, 0x2B
- cmp r0, 0
- beq _08092AAA
- ldrb r2, [r1]
- ldrb r3, [r0, 0x4]
- cmp r2, r3
- bne _08092AA0
- ldrb r0, [r0, 0x7]
- b _08092AA8
-_08092AA0:
- ldrb r3, [r0, 0x5]
- cmp r2, r3
- bne _08092AAA
- ldrb r0, [r0, 0x6]
-_08092AA8:
- strb r0, [r1]
-_08092AAA:
- ldrb r1, [r1]
- adds r0, r4, 0
- bl SeekSpriteAnim
-_08092AB2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end npc_apply_anim_looping
-
- thumb_func_start obj_npc_animation_step
-@ void obj_npc_animation_step(struct npc_state *fieldObject, struct obj *object, u8 anim)
-obj_npc_animation_step: @ 8092AB8
- push {r4,lr}
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r0, 0x1]
- lsls r0, 27
- cmp r0, 0
- blt _08092AF0
- adds r0, r4, 0
- adds r0, 0x2A
- strb r2, [r0]
- ldr r0, [r4, 0x8]
- bl sub_8092A4C
- adds r2, r0, 0
- cmp r2, 0
- beq _08092AF0
- ldrb r1, [r2, 0x5]
- adds r0, r4, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- ldrb r3, [r2, 0x4]
- cmp r0, r3
- bhi _08092AEA
- ldrb r1, [r2, 0x4]
-_08092AEA:
- adds r0, r4, 0
- bl SeekSpriteAnim
-_08092AF0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end obj_npc_animation_step
-
- thumb_func_start sub_8092AF8
-sub_8092AF8: @ 8092AF8
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r2, 16
- cmp r0, r2
- ble _08092B12
- movs r0, 0x3
- b _08092B28
-_08092B12:
- cmp r0, r2
- bge _08092B1A
- movs r0, 0x4
- b _08092B28
-_08092B1A:
- lsls r1, 16
- lsls r0, r3, 16
- cmp r1, r0
- bgt _08092B26
- movs r0, 0x1
- b _08092B28
-_08092B26:
- movs r0, 0x2
-_08092B28:
- pop {r1}
- bx r1
- thumb_func_end sub_8092AF8
-
- thumb_func_start npc_set_running_behaviour_etc
-npc_set_running_behaviour_etc: @ 8092B2C
- push {r4,lr}
- mov r12, r0
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- strb r1, [r0, 0x6]
- adds r0, 0x21
- strb r3, [r0]
- adds r0, 0x1
- strb r3, [r0]
- ldr r4, =gSprites
- mov r0, r12
- ldrb r2, [r0, 0x4]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r2, r4, 0
- adds r2, 0x1C
- adds r0, r2
- ldr r2, =gUnknown_08505438
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- str r1, [r0]
- mov r0, r12
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end npc_set_running_behaviour_etc
-
- thumb_func_start npc_running_behaviour_by_direction
-npc_running_behaviour_by_direction: @ 8092B78
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850DB53
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end npc_running_behaviour_by_direction
-
- thumb_func_start sub_8092B88
-sub_8092B88: @ 8092B88
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r5, r1, 24
- lsrs r5, 24
- 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, r5, 0
- mov r1, sp
- adds r2, r4, 0
- bl MoveCoords
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r4, r0]
- adds r0, r6, 0
- adds r3, r5, 0
- bl npc_block_way
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8092B88
-
- thumb_func_start npc_block_way
-@ u8 npc_block_way(struct npc_state *fieldObject, u16 x, u16 y, u8 direction)
-npc_block_way: @ 8092BC8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsls r2, 16
- lsls r3, 24
- lsrs r7, r3, 24
- mov r8, r7
- lsrs r0, r1, 16
- mov r9, r0
- asrs r5, r1, 16
- lsrs r0, r2, 16
- mov r10, r0
- asrs r4, r2, 16
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl IsCoordOutsideFieldObjectMovementRect
- lsls r0, 24
- cmp r0, 0
- beq _08092BFE
- movs r0, 0x1
- b _08092C7E
-_08092BFE:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridIsImpassableAt
- lsls r0, 24
- cmp r0, 0
- bne _08092C40
- adds r0, r5, 0
- adds r1, r4, 0
- bl GetMapBorderIdAt
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _08092C40
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl IsMetatileDirectionallyImpassable
- lsls r0, 24
- cmp r0, 0
- bne _08092C40
- ldrb r0, [r6, 0x1]
- lsrs r0, 7
- cmp r0, 0
- beq _08092C44
- mov r0, r8
- bl CanCameraMoveInDirection
- cmp r0, 0
- bne _08092C44
-_08092C40:
- movs r0, 0x2
- b _08092C7E
-_08092C44:
- ldrb r0, [r6, 0xB]
- lsls r0, 28
- lsrs r0, 28
- mov r2, r9
- lsls r1, r2, 16
- asrs r5, r1, 16
- mov r2, r10
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r1, r5, 0
- adds r2, r4, 0
- bl IsZCoordMismatchAt
- lsls r0, 24
- cmp r0, 0
- beq _08092C68
- movs r0, 0x3
- b _08092C7E
-_08092C68:
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl CheckForCollisionBetweenFieldObjects
- lsls r0, 24
- cmp r0, 0
- bne _08092C7C
- movs r0, 0
- b _08092C7E
-_08092C7C:
- movs r0, 0x4
-_08092C7E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end npc_block_way
-
- thumb_func_start sub_8092C8C
-sub_8092C8C: @ 8092C8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- lsls r1, 16
- lsls r2, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsrs r0, r1, 16
- mov r9, r0
- asrs r6, r1, 16
- lsrs r0, r2, 16
- mov r10, r0
- asrs r5, r2, 16
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl IsCoordOutsideFieldObjectMovementRect
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r6, 0
- adds r1, r5, 0
- bl MapGridIsImpassableAt
- lsls r0, 24
- cmp r0, 0
- bne _08092D04
- adds r0, r6, 0
- adds r1, r5, 0
- bl GetMapBorderIdAt
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _08092D04
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- mov r3, r8
- bl IsMetatileDirectionallyImpassable
- lsls r0, 24
- cmp r0, 0
- bne _08092D04
- ldrb r0, [r7, 0x1]
- lsrs r0, 7
- cmp r0, 0
- beq _08092D08
- mov r0, r8
- bl CanCameraMoveInDirection
- cmp r0, 0
- bne _08092D08
-_08092D04:
- movs r0, 0x2
- orrs r4, r0
-_08092D08:
- ldrb r0, [r7, 0xB]
- lsls r0, 28
- lsrs r0, 28
- mov r2, r9
- lsls r1, r2, 16
- asrs r6, r1, 16
- mov r2, r10
- lsls r1, r2, 16
- asrs r5, r1, 16
- adds r1, r6, 0
- adds r2, r5, 0
- bl IsZCoordMismatchAt
- lsls r0, 24
- cmp r0, 0
- beq _08092D30
- movs r0, 0x4
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_08092D30:
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl CheckForCollisionBetweenFieldObjects
- lsls r0, 24
- cmp r0, 0
- beq _08092D48
- movs r0, 0x8
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_08092D48:
- adds r0, r4, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8092C8C
-
- thumb_func_start IsCoordOutsideFieldObjectMovementRect
-@ bool8 IsCoordOutsideFieldObjectMovementRect(struct npc_state *fieldObject, u16 x, u16 y)
-IsCoordOutsideFieldObjectMovementRect: @ 8092D58
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- ldrb r1, [r4, 0x19]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _08092D90
- lsls r1, 28
- lsrs r2, r1, 28
- ldrh r0, [r4, 0xC]
- subs r2, r0, r2
- lsrs r1, 28
- adds r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- lsls r2, 16
- lsls r0, r3, 16
- asrs r3, r0, 16
- cmp r2, r0
- bgt _08092DBC
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r3
- blt _08092DBC
-_08092D90:
- ldrb r1, [r4, 0x19]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _08092DC0
- lsls r1, 24
- lsrs r2, r1, 28
- ldrh r0, [r4, 0xE]
- subs r2, r0, r2
- lsrs r1, 28
- adds r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- lsls r2, 16
- lsls r0, r5, 16
- asrs r3, r0, 16
- cmp r2, r0
- bgt _08092DBC
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r3
- bge _08092DC0
-_08092DBC:
- movs r0, 0x1
- b _08092DC2
-_08092DC0:
- movs r0, 0
-_08092DC2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsCoordOutsideFieldObjectMovementRect
-
- thumb_func_start IsMetatileDirectionallyImpassable
-@ bool8 IsMetatileDirectionallyImpassable(struct npc_state *fieldObject, u16 x, u16 y, u8 direction)
-IsMetatileDirectionallyImpassable: @ 8092DC8
- push {r4-r7,lr}
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 24
- ldr r1, =gUnknown_0850DB5C
- lsrs r3, 22
- subs r5, r3, 0x4
- adds r1, r5, r1
- ldrb r0, [r0, 0x1E]
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08092E0A
- ldr r4, =gUnknown_0850DB6C
- adds r4, r5, r4
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _08092E18
-_08092E0A:
- movs r0, 0x1
- b _08092E1A
- .pool
-_08092E18:
- movs r0, 0
-_08092E1A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end IsMetatileDirectionallyImpassable
-
- thumb_func_start CheckForCollisionBetweenFieldObjects
-@ bool8 CheckForCollisionBetweenFieldObjects(struct npc_state *fieldObject, u16 x, u16 y)
-CheckForCollisionBetweenFieldObjects: @ 8092E20
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- movs r4, 0
- lsls r2, 16
- asrs r5, r2, 16
-_08092E2E:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r2, r0, r1
- ldrb r0, [r2]
- lsls r0, 31
- cmp r0, 0
- beq _08092E88
- cmp r2, r6
- beq _08092E88
- movs r0, 0x10
- ldrsh r1, [r2, r0]
- lsls r0, r7, 16
- asrs r3, r0, 16
- cmp r1, r3
- bne _08092E58
- movs r1, 0x12
- ldrsh r0, [r2, r1]
- cmp r0, r5
- beq _08092E68
-_08092E58:
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- cmp r0, r3
- bne _08092E88
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r5
- bne _08092E88
-_08092E68:
- ldrb r0, [r6, 0xB]
- lsls r0, 28
- lsrs r0, 28
- ldrb r1, [r2, 0xB]
- lsls r1, 28
- lsrs r1, 28
- bl AreZCoordsCompatible
- lsls r0, 24
- cmp r0, 0
- beq _08092E88
- movs r0, 0x1
- b _08092E94
- .pool
-_08092E88:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08092E2E
- movs r0, 0
-_08092E94:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckForCollisionBetweenFieldObjects
-
- thumb_func_start sub_8092E9C
-sub_8092E9C: @ 8092E9C
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08092EE8
- ldr r3, =gSprites
- ldr r2, =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x3C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08092EE8
- movs r0, 0x1
- b _08092EEA
- .pool
-_08092EE8:
- movs r0, 0
-_08092EEA:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8092E9C
-
- thumb_func_start sub_8092EF0
-sub_8092EF0: @ 8092EF0
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08092F2E
- ldr r3, =gSprites
- 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
- adds r1, r3
- ldrh r2, [r1, 0x3C]
- movs r0, 0x4
- orrs r0, r2
- strh r0, [r1, 0x3C]
-_08092F2E:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8092EF0
-
- thumb_func_start MoveCoords
-@ void MoveCoords(u8 direction, u16 *x, u16 *y)
-MoveCoords: @ 8092F3C
- push {r4,lr}
- lsls r0, 24
- ldr r3, =gUnknown_0850DB7C
- lsrs r0, 22
- adds r0, r3
- ldrh r3, [r0]
- ldrh r4, [r1]
- adds r3, r4
- strh r3, [r1]
- ldrh r0, [r0, 0x2]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MoveCoords
-
- thumb_func_start sub_8092F60
-sub_8092F60: @ 8092F60
- push {r4,lr}
- lsls r0, 24
- ldr r3, =gUnknown_0850DB7C
- lsrs r0, 22
- adds r0, r3
- ldrh r3, [r0]
- lsls r3, 4
- ldrh r4, [r1]
- adds r3, r4
- strh r3, [r1]
- ldrh r0, [r0, 0x2]
- lsls r0, 4
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8092F60
-
- thumb_func_start sub_8092F88
-sub_8092F88: @ 8092F88
- push {r4-r7,lr}
- adds r4, r1, 0
- ldr r1, [sp, 0x14]
- lsls r0, 24
- lsls r3, 16
- lsrs r3, 16
- adds r7, r3, 0
- lsls r1, 16
- lsrs r6, r1, 16
- mov r12, r6
- ldr r1, =gUnknown_0850DB7C
- lsrs r0, 22
- adds r5, r0, r1
- movs r0, 0
- ldrsh r1, [r5, r0]
- cmp r1, 0
- ble _08092FB4
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r3, [r4]
- adds r0, r3
- strh r0, [r4]
-_08092FB4:
- cmp r1, 0
- bge _08092FC2
- ldrh r1, [r4]
- lsls r0, r7, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r4]
-_08092FC2:
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- cmp r1, 0
- ble _08092FD4
- lsls r0, r6, 16
- asrs r0, 16
- ldrh r3, [r2]
- adds r0, r3
- strh r0, [r2]
-_08092FD4:
- cmp r1, 0
- bge _08092FE4
- ldrh r1, [r2]
- mov r3, r12
- lsls r0, r3, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r2]
-_08092FE4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8092F88
-
- thumb_func_start sub_8092FF0
-sub_8092FF0: @ 8092FF0
- push {r4,r5,lr}
- ldr r5, =gSaveBlock1Ptr
- ldr r4, [r5]
- ldrh r4, [r4]
- lsls r0, 16
- asrs r0, 16
- subs r0, r4
- lsls r0, 4
- strh r0, [r2]
- ldr r0, [r5]
- ldrh r0, [r0, 0x2]
- lsls r1, 16
- asrs r1, 16
- subs r1, r0
- lsls r1, 4
- strh r1, [r3]
- ldr r1, =gUnknown_03005DEC
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r1, =gUnknown_03005DE8
- ldrh r0, [r3]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8092FF0
-
- thumb_func_start sub_8093038
-sub_8093038: @ 8093038
- push {r4-r7,lr}
- adds r7, r2, 0
- mov r12, r3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r0, =gUnknown_03005DEC
- ldrh r0, [r0]
- negs r0, r0
- ldr r1, =gUnknown_03005DD0
- ldr r2, [r1, 0x10]
- subs r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_03005DE8
- ldrh r0, [r0]
- negs r0, r0
- ldr r1, [r1, 0x14]
- subs r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r2, 0
- ble _08093072
- lsls r0, r3, 16
- movs r3, 0x80
- lsls r3, 13
- adds r0, r3
- lsrs r3, r0, 16
-_08093072:
- cmp r2, 0
- bge _0809307E
- lsls r0, r3, 16
- ldr r2, =0xfff00000
- adds r0, r2
- lsrs r3, r0, 16
-_0809307E:
- cmp r1, 0
- ble _0809308C
- lsls r0, r4, 16
- movs r2, 0x80
- lsls r2, 13
- adds r0, r2
- lsrs r4, r0, 16
-_0809308C:
- cmp r1, 0
- bge _08093098
- lsls r0, r4, 16
- ldr r1, =0xfff00000
- adds r0, r1
- lsrs r4, r0, 16
-_08093098:
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- ldrh r1, [r0]
- lsls r0, r5, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 4
- lsls r1, r3, 16
- asrs r1, 16
- adds r1, r0
- strh r1, [r7]
- ldr r0, [r2]
- ldrh r1, [r0, 0x2]
- lsls r0, r6, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 4
- lsls r1, r4, 16
- asrs r1, 16
- adds r1, r0
- mov r2, r12
- strh r1, [r2]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8093038
-
- thumb_func_start sub_80930E0
-sub_80930E0: @ 80930E0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- mov r8, r1
- adds r4, r2, 0
- adds r5, r3, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- movs r1, 0
- ldrsh r0, [r6, r1]
- mov r2, r8
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r2, r6, 0
- mov r3, r8
- bl sub_8093038
- lsls r4, 16
- asrs r4, 16
- ldrh r0, [r6]
- adds r4, r0
- strh r4, [r6]
- lsls r5, 16
- asrs r5, 16
- mov r1, r8
- ldrh r1, [r1]
- adds r5, r1
- mov r2, r8
- strh r5, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80930E0
-
- thumb_func_start GetFieldObjectMovingCameraOffset
-@ void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y)
-GetFieldObjectMovingCameraOffset: @ 809312C
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r2]
- strh r0, [r1]
- ldr r3, =gUnknown_03005DD0
- ldr r0, [r3, 0x10]
- cmp r0, 0
- ble _08093142
- movs r0, 0x1
- strh r0, [r2]
-_08093142:
- ldr r0, [r3, 0x10]
- cmp r0, 0
- bge _0809314E
- ldrh r0, [r2]
- subs r0, 0x1
- strh r0, [r2]
-_0809314E:
- ldr r2, [r3, 0x14]
- cmp r2, 0
- ble _0809315A
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0809315A:
- cmp r2, 0
- bge _08093164
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_08093164:
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetFieldObjectMovingCameraOffset
-
- thumb_func_start FieldObjectMoveDestCoords
-@ void FieldObjectMoveDestCoords(struct npc_state *fieldObject, u8 direction)
-FieldObjectMoveDestCoords: @ 809316C
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldrh r4, [r0, 0x10]
- strh r4, [r2]
- ldrh r0, [r0, 0x12]
- strh r0, [r3]
- adds r0, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- bl MoveCoords
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectMoveDestCoords
-
- thumb_func_start FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
-@ bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct npc_state *fieldObject)
-FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive: @ 809318C
- push {lr}
- ldrb r1, [r0]
- movs r0, 0x42
- ands r0, r1
- cmp r0, 0
- bne _0809319C
- movs r0, 0
- b _0809319E
-_0809319C:
- movs r0, 0x1
-_0809319E:
- pop {r1}
- bx r1
- thumb_func_end FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
-
- thumb_func_start FieldObjectIsSpecialAnimActive
-@ bool8 FieldObjectIsSpecialAnimActive(struct npc_state *fieldObject)
-FieldObjectIsSpecialAnimActive: @ 80931A4
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- bge _080931BA
- ldrb r0, [r1, 0x1C]
- cmp r0, 0xFF
- beq _080931BA
- movs r0, 0x1
- b _080931BC
-_080931BA:
- movs r0, 0
-_080931BC:
- pop {r1}
- bx r1
- thumb_func_end FieldObjectIsSpecialAnimActive
-
- thumb_func_start FieldObjectSetSpecialAnim
-@ bool8 FieldObjectSetSpecialAnim(struct npc_state *fieldObject, u8 animId)
-FieldObjectSetSpecialAnim: @ 80931C0
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08093200
- adds r0, r4, 0
- bl npc_sync_anim_pause_bits
- strb r5, [r4, 0x1C]
- ldrb r0, [r4]
- movs r1, 0x40
- orrs r0, r1
- movs r1, 0x7F
- ands r0, r1
- strb r0, [r4]
- ldr r2, =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r6, [r0, 0x32]
- movs r0, 0
- b _08093202
- .pool
-_08093200:
- movs r0, 0x1
-_08093202:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end FieldObjectSetSpecialAnim
-
- thumb_func_start FieldObjectForceSetSpecialAnim
-@ void FieldObjectForceSetSpecialAnim(struct npc_state *fieldObject, u8 animId)
-FieldObjectForceSetSpecialAnim: @ 8093208
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- bl FieldObjectClearAnimIfSpecialAnimActive
- adds r0, r5, 0
- adds r1, r4, 0
- bl FieldObjectSetSpecialAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectForceSetSpecialAnim
-
- thumb_func_start FieldObjectClearAnimIfSpecialAnimActive
-@ void FieldObjectClearAnimIfSpecialAnimActive(struct npc_state *fieldObject)
-FieldObjectClearAnimIfSpecialAnimActive: @ 8093224
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- bge _08093236
- adds r0, r1, 0
- bl FieldObjectClearAnim
-_08093236:
- pop {r0}
- bx r0
- thumb_func_end FieldObjectClearAnimIfSpecialAnimActive
-
- thumb_func_start FieldObjectClearAnim
-@ void FieldObjectClearAnim(struct npc_state *fieldObject)
-FieldObjectClearAnim: @ 809323C
- movs r1, 0xFF
- strb r1, [r0, 0x1C]
- ldrb r2, [r0]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- movs r2, 0x7F
- ands r1, r2
- strb r1, [r0]
- ldr r3, =gSprites
- ldrb r2, [r0, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- movs r2, 0
- strh r2, [r1, 0x30]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x32]
- bx lr
- .pool
- thumb_func_end FieldObjectClearAnim
-
- thumb_func_start FieldObjectCheckIfSpecialAnimFinishedOrInactive
-@ u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct npc_state *fieldObject)
-FieldObjectCheckIfSpecialAnimFinishedOrInactive: @ 8093270
- push {lr}
- ldrb r1, [r0]
- lsls r0, r1, 25
- cmp r0, 0
- blt _0809327E
- movs r0, 0x10
- b _08093280
-_0809327E:
- lsrs r0, r1, 7
-_08093280:
- pop {r1}
- bx r1
- thumb_func_end FieldObjectCheckIfSpecialAnimFinishedOrInactive
-
- thumb_func_start FieldObjectClearAnimIfSpecialAnimFinished
-@ u8 FieldObjectClearAnimIfSpecialAnimFinished(struct npc_state *fieldObject)
-FieldObjectClearAnimIfSpecialAnimFinished: @ 8093284
- push {r4,r5,lr}
- adds r5, r0, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0809329E
- cmp r4, 0x10
- beq _0809329E
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimActive
-_0809329E:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldObjectClearAnimIfSpecialAnimFinished
-
- thumb_func_start FieldObjectGetSpecialAnim
-@ u8 FieldObjectGetSpecialAnim(struct npc_state *fieldObject)
-FieldObjectGetSpecialAnim: @ 80932A8
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _080932B8
- movs r0, 0xFF
- b _080932BA
-_080932B8:
- ldrb r0, [r1, 0x1C]
-_080932BA:
- pop {r1}
- bx r1
- thumb_func_end FieldObjectGetSpecialAnim
-
- thumb_func_start FieldObjectStep
-@ void FieldObjectStep(struct npc_state *fieldObject, struct obj *object, bool8 ( *callback)(struct npc_state *fieldObject, struct obj *object))
-FieldObjectStep: @ 80932C0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl DoGroundEffects_OnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80964E8
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080932EA
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectExecSpecialAnim
- b _08093300
-_080932EA:
- ldrb r0, [r4, 0x1]
- lsls r0, 31
- cmp r0, 0
- bne _08093300
-_080932F2:
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r6
- lsls r0, 24
- cmp r0, 0
- bne _080932F2
-_08093300:
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoGroundEffects_OnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoGroundEffects_OnFinishStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl npc_obj_transfer_image_anim_pause_flag
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096518
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectUpdateSubpriority
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectStep
-
- thumb_func_start GetFaceDirectionAnimId
-@ u8 GetFaceDirectionAnimId(u8 direction)
-GetFaceDirectionAnimId: @ 8093330
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBA0
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093348
- movs r4, 0
-_08093348:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFaceDirectionAnimId
-
- thumb_func_start GetSimpleGoAnimId
-@ u8 GetSimpleGoAnimId(u8 direction)
-GetSimpleGoAnimId: @ 809335C
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBA5
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093374
- movs r4, 0
-_08093374:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetSimpleGoAnimId
-
- thumb_func_start GetGoSpeed0AnimId
-@ u8 GetGoSpeed0AnimId(u8 direction)
-GetGoSpeed0AnimId: @ 8093388
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBAA
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080933A0
- movs r4, 0
-_080933A0:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetGoSpeed0AnimId
-
- thumb_func_start GetGoSpeed1AnimId
-@ u8 GetGoSpeed1AnimId(u8 direction)
-GetGoSpeed1AnimId: @ 80933B4
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBAF
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080933CC
- movs r4, 0
-_080933CC:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetGoSpeed1AnimId
-
- thumb_func_start GetGoSpeed2AnimId
-@ u8 GetGoSpeed2AnimId(u8 direction)
-GetGoSpeed2AnimId: @ 80933E0
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBB4
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080933F8
- movs r4, 0
-_080933F8:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetGoSpeed2AnimId
-
- thumb_func_start GetGoSpeed3AnimId
-@ u8 GetGoSpeed3AnimId(u8 direction)
-GetGoSpeed3AnimId: @ 809340C
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBB9
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093424
- movs r4, 0
-_08093424:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetGoSpeed3AnimId
-
- thumb_func_start sub_8093438
-@ u8 sub_8093438(u8 direction)
-sub_8093438: @ 8093438
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBBE
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093450
- movs r4, 0
-_08093450:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8093438
-
- thumb_func_start GetRunAnimId
-@ u8 GetRunAnimId(u8 direction)
-GetRunAnimId: @ 8093464
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBC3
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _0809347C
- movs r4, 0
-_0809347C:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetRunAnimId
-
- thumb_func_start GetJumpLedgeAnimId
-@ u8 GetJumpLedgeAnimId(u8 direction)
-GetJumpLedgeAnimId: @ 8093490
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBC8
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080934A8
- movs r4, 0
-_080934A8:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetJumpLedgeAnimId
-
- thumb_func_start sub_80934BC
-@ u8 sub_80934BC(u8 direction)
-sub_80934BC: @ 80934BC
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBCD
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080934D4
- movs r4, 0
-_080934D4:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80934BC
-
- thumb_func_start sub_80934E8
-@ u8 sub_80934E8(u8 direction)
-sub_80934E8: @ 80934E8
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBD2
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093500
- movs r4, 0
-_08093500:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80934E8
-
- thumb_func_start sub_8093514
-@ u8 sub_8093514(u8 direction)
-sub_8093514: @ 8093514
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBD7
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _0809352C
- movs r4, 0
-_0809352C:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8093514
-
- thumb_func_start sub_8093540
-@ u8 sub_8093540(u8 direction)
-sub_8093540: @ 8093540
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBDC
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093558
- movs r4, 0
-_08093558:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8093540
-
- thumb_func_start GetStepInPlaceDelay32AnimId
-@ u8 GetStepInPlaceDelay32AnimId(u8 direction)
-GetStepInPlaceDelay32AnimId: @ 809356C
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBE1
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093584
- movs r4, 0
-_08093584:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetStepInPlaceDelay32AnimId
-
- thumb_func_start GetStepInPlaceDelay16AnimId
-@ u8 GetStepInPlaceDelay16AnimId(u8 direction)
-GetStepInPlaceDelay16AnimId: @ 8093598
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBE6
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080935B0
- movs r4, 0
-_080935B0:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetStepInPlaceDelay16AnimId
-
- thumb_func_start GetStepInPlaceDelay8AnimId
-@ u8 GetStepInPlaceDelay8AnimId(u8 direction)
-GetStepInPlaceDelay8AnimId: @ 80935C4
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBEB
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080935DC
- movs r4, 0
-_080935DC:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetStepInPlaceDelay8AnimId
-
- thumb_func_start GetStepInPlaceDelay4AnimId
-@ u8 GetStepInPlaceDelay4AnimId(u8 direction)
-GetStepInPlaceDelay4AnimId: @ 80935F0
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBF0
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093608
- movs r4, 0
-_08093608:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetStepInPlaceDelay4AnimId
-
- thumb_func_start FieldObjectFaceOppositeDirection
-@ bool8 FieldObjectFaceOppositeDirection(struct npc_state *fieldObject, u8 direction)
-FieldObjectFaceOppositeDirection: @ 809361C
- push {r4,lr}
- adds r4, r0, 0
- lsls r0, r1, 24
- lsrs r0, 24
- 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
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end FieldObjectFaceOppositeDirection
-
- thumb_func_start sub_8093648
-sub_8093648: @ 8093648
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBF5
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093660
- movs r4, 0
-_08093660:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8093648
-
- thumb_func_start sub_8093674
-sub_8093674: @ 8093674
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBFA
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _0809368C
- movs r4, 0
-_0809368C:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8093674
-
- thumb_func_start sub_80936A0
-sub_80936A0: @ 80936A0
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DBFF
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080936B8
- movs r4, 0
-_080936B8:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80936A0
-
- thumb_func_start sub_80936CC
-sub_80936CC: @ 80936CC
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC04
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080936E4
- movs r4, 0
-_080936E4:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80936CC
-
- thumb_func_start sub_80936F8
-sub_80936F8: @ 80936F8
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC09
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093710
- movs r4, 0
-_08093710:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80936F8
-
- thumb_func_start sub_8093724
-sub_8093724: @ 8093724
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC0E
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _0809373C
- movs r4, 0
-_0809373C:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8093724
-
- thumb_func_start sub_8093750
-sub_8093750: @ 8093750
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC13
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093768
- movs r4, 0
-_08093768:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8093750
-
- thumb_func_start sub_809377C
-sub_809377C: @ 809377C
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC18
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _08093794
- movs r4, 0
-_08093794:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809377C
-
- thumb_func_start sub_80937A8
-sub_80937A8: @ 80937A8
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC1D
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080937C0
- movs r4, 0
-_080937C0:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80937A8
-
- thumb_func_start d2s_08064034
-d2s_08064034: @ 80937D4
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC22
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- cmp r4, 0x4
- bls _080937EC
- movs r4, 0
-_080937EC:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end d2s_08064034
-
- thumb_func_start GetOppositeDirection
-@ u8 GetOppositeDirection(u8 direction)
-GetOppositeDirection: @ 8093800
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_0850DC27
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- subs r1, r4, 0x1
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x7
- bhi _08093828
- mov r2, sp
- adds r0, r2, r1
- ldrb r0, [r0]
- b _0809382A
- .pool
-_08093828:
- adds r0, r4, 0
-_0809382A:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetOppositeDirection
-
- thumb_func_start zffu_offset_calc
-zffu_offset_calc: @ 8093834
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_0850DC2F
- lsrs r0, 22
- subs r0, 0x5
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end zffu_offset_calc
-
- thumb_func_start state_to_direction
-state_to_direction: @ 809384C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r1, 0
- beq _0809386C
- cmp r2, 0
- beq _0809386C
- cmp r1, 0x4
- bhi _0809386C
- cmp r2, 0x4
- bls _08093870
-_0809386C:
- movs r0, 0
- b _08093882
-_08093870:
- adds r1, r2, 0
- bl zffu_offset_calc
- ldr r2, =gUnknown_0850DC3F
- lsls r1, r4, 2
- subs r1, 0x5
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
-_08093882:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end state_to_direction
-
- thumb_func_start FieldObjectExecSpecialAnim
-@ void FieldObjectExecSpecialAnim(struct npc_state *fieldObject, struct obj *object)
-FieldObjectExecSpecialAnim: @ 809388C
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gUnknown_0850DC50
- ldrb r0, [r4, 0x1C]
- lsls r0, 2
- adds r0, r2
- movs r3, 0x32
- ldrsh r2, [r1, r3]
- ldr r0, [r0]
- lsls r2, 2
- adds r2, r0
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- beq _080938B8
- ldrb r0, [r4]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4]
-_080938B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectExecSpecialAnim
-
- thumb_func_start FieldObjectExecRegularAnim
-@ bool8 FieldObjectExecRegularAnim(struct npc_state *fieldObject, struct obj *object)
-FieldObjectExecRegularAnim: @ 80938C4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_0850DC50
- ldrb r0, [r4, 0x1C]
- lsls r0, 2
- adds r0, r1
- movs r2, 0x32
- ldrsh r1, [r5, r2]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldr r2, [r1]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _080938F4
- movs r0, 0
- b _080938FE
- .pool
-_080938F4:
- movs r0, 0xFF
- strb r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080938FE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldObjectExecRegularAnim
-
- thumb_func_start FieldObjectSetRegularAnim
-@ void FieldObjectSetRegularAnim(struct npc_state *fieldObject, struct obj *object, u8 animState)
-FieldObjectSetRegularAnim: @ 8093904
- movs r3, 0
- strb r2, [r0, 0x1C]
- strh r3, [r1, 0x32]
- bx lr
- thumb_func_end FieldObjectSetRegularAnim
-
- thumb_func_start an_look_any
-@ void an_look_any(struct npc_state *fieldObject, struct obj *object, u8 direction)
-an_look_any: @ 809390C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r1, r2, 24
- lsrs r1, 24
- bl FieldObjectSetDirection
- adds r0, r4, 0
- bl npc_coords_shift_still
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl get_go_image_anim_num
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl obj_npc_animation_step
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r5, 0x32]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end an_look_any
-
- thumb_func_start sub_8093950
-sub_8093950: @ 8093950
- push {lr}
- movs r2, 0x1
- bl an_look_any
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8093950
-
- thumb_func_start sub_8093960
-sub_8093960: @ 8093960
- push {lr}
- movs r2, 0x2
- bl an_look_any
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8093960
-
- thumb_func_start sub_8093970
-sub_8093970: @ 8093970
- push {lr}
- movs r2, 0x3
- bl an_look_any
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8093970
-
- thumb_func_start sub_8093980
-sub_8093980: @ 8093980
- push {lr}
- movs r2, 0x4
- bl an_look_any
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8093980
-
- thumb_func_start npc_apply_direction
-@ void npc_apply_direction(struct npc_state *fieldObject, struct obj *object, u8 direction, u8 speed)
-npc_apply_direction: @ 8093990
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- mov r8, r1
- adds r4, r2, 0
- adds r6, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- ldrh r1, [r7, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r7, 0x12]
- mov r5, sp
- adds r5, 0x2
- strh r0, [r5]
- adds r0, r7, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl MoveCoords
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- adds r0, r7, 0
- bl npc_coords_shift
- mov r0, r8
- adds r1, r4, 0
- adds r2, r6, 0
- bl oamt_npc_ministep_reset
- mov r4, r8
- adds r4, 0x2C
- ldrb r1, [r4]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldr r0, =gUnknown_020375B8
- ldr r0, [r0]
- cmp r0, 0
- beq _08093A0E
- adds r0, r7, 0
- bl sub_8097F78
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _08093A0E
- ldrb r0, [r4]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4]
-_08093A0E:
- ldrb r0, [r7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r7]
- movs r0, 0x1
- mov r1, r8
- strh r0, [r1, 0x32]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end npc_apply_direction
-
- thumb_func_start do_go_anim
-@ void do_go_anim(struct npc_state *fieldObject, struct obj *object, u8 direction, u8 speed)
-do_go_anim: @ 8093A2C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r5, r0, 0
- mov r8, r1
- adds r4, r3, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r4, 24
- lsrs r4, 24
- mov r1, sp
- ldr r0, =gUnknown_0850DEE8
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6}
- stm r1!, {r3,r6}
- adds r0, r5, 0
- mov r1, r8
- adds r3, r4, 0
- bl npc_apply_direction
- lsls r4, 2
- mov r7, sp
- adds r1, r7, r4
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- ldr r1, [r1]
- bl _call_via_r1
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- mov r1, r8
- bl npc_apply_anim_looping
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end do_go_anim
-
- thumb_func_start do_run_anim
-@ void do_run_anim(struct npc_state *fieldObject, struct obj *object, u8 direction)
-do_run_anim: @ 8093A88
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0x1
- bl npc_apply_direction
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl get_run_image_anim_num
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl npc_apply_anim_looping
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end do_run_anim
-
- thumb_func_start npc_obj_ministep_stop_on_arrival
-@ bool8 npc_obj_ministep_stop_on_arrival(struct npc_state *fieldObject, struct obj *object)
-npc_obj_ministep_stop_on_arrival: @ 8093AB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl obj_npc_ministep
- lsls r0, 24
- cmp r0, 0
- bne _08093ACE
- movs r0, 0
- b _08093AEA
-_08093ACE:
- adds r0, r4, 0
- bl npc_coords_shift_still
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
-_08093AEA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end npc_obj_ministep_stop_on_arrival
-
- thumb_func_start sub_8093AF0
-@ void sub_8093AF0(struct npc_state *fieldObject, struct obj *object, u8 direction)
-sub_8093AF0: @ 8093AF0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- lsls r5, r2, 24
- lsrs r5, 24
- 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, r6, 0
- adds r1, r5, 0
- bl FieldObjectSetDirection
- adds r0, r5, 0
- mov r1, sp
- adds r2, r4, 0
- bl MoveCoords
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r4, r0]
- adds r0, r6, 0
- bl npc_coords_shift
- mov r0, r8
- adds r1, r5, 0
- bl sub_80976DC
- mov r2, r8
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
- movs r0, 0x1
- mov r1, r8
- strh r0, [r1, 0x32]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8093AF0
-
- thumb_func_start sub_8093B60
-@ void sub_8093B60(struct npc_state *fieldObject, struct obj *object, u8 direction)
-sub_8093B60: @ 8093B60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- bl sub_8093AF0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl get_go_image_anim_num
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl npc_apply_anim_looping
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8093B60
-
- thumb_func_start an_walk_any_2
-@ bool8 an_walk_any_2(struct npc_state *fieldObject, struct obj *object)
-an_walk_any_2: @ 8093B8C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80976EC
- lsls r0, 24
- cmp r0, 0
- bne _08093BA2
- movs r0, 0
- b _08093BBE
-_08093BA2:
- adds r0, r4, 0
- bl npc_coords_shift_still
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
-_08093BBE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end an_walk_any_2
-
- thumb_func_start sub_8093BC4
-sub_8093BC4: @ 8093BC4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x7
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093BE4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093BC4
-
- thumb_func_start sub_8093BE4
-sub_8093BE4: @ 8093BE4
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093BF6
- movs r0, 0
- b _08093BFC
-_08093BF6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093BFC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093BE4
-
- thumb_func_start sub_8093C04
-sub_8093C04: @ 8093C04
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093C24
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093C04
-
- thumb_func_start sub_8093C24
-sub_8093C24: @ 8093C24
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093C36
- movs r0, 0
- b _08093C3C
-_08093C36:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093C3C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093C24
-
- thumb_func_start sub_8093C44
-sub_8093C44: @ 8093C44
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x5
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093C64
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093C44
-
- thumb_func_start sub_8093C64
-sub_8093C64: @ 8093C64
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093C76
- movs r0, 0
- b _08093C7C
-_08093C76:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093C7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093C64
-
- thumb_func_start sub_8093C84
-sub_8093C84: @ 8093C84
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x6
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093CA4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093C84
-
- thumb_func_start sub_8093CA4
-sub_8093CA4: @ 8093CA4
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093CB6
- movs r0, 0
- b _08093CBC
-_08093CB6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093CBC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093CA4
-
- thumb_func_start sub_8093CC4
-@ bool8 sub_8093CC4(struct npc_state *fieldObject, struct obj *object)
-sub_8093CC4: @ 8093CC4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093CE4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093CC4
-
- thumb_func_start sub_8093CE4
-@ bool8 sub_8093CE4(struct npc_state *fieldObject, struct obj *object)
-sub_8093CE4: @ 8093CE4
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093CF6
- movs r0, 0
- b _08093CFC
-_08093CF6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093CFC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093CE4
-
- thumb_func_start sub_8093D04
-sub_8093D04: @ 8093D04
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093D24
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093D04
-
- thumb_func_start sub_8093D24
-sub_8093D24: @ 8093D24
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093D36
- movs r0, 0
- b _08093D3C
-_08093D36:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093D3C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093D24
-
- thumb_func_start sub_8093D44
-sub_8093D44: @ 8093D44
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093D64
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093D44
-
- thumb_func_start sub_8093D64
-sub_8093D64: @ 8093D64
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093D76
- movs r0, 0
- b _08093D7C
-_08093D76:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093D7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093D64
-
- thumb_func_start sub_8093D84
-sub_8093D84: @ 8093D84
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8093B60
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093DA4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093D84
-
- thumb_func_start sub_8093DA4
-sub_8093DA4: @ 8093DA4
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08093DB6
- movs r0, 0
- b _08093DBC
-_08093DB6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093DBC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093DA4
-
- thumb_func_start sub_8093DC4
-sub_8093DC4: @ 8093DC4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x7
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093DE4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093DC4
-
- thumb_func_start sub_8093DE4
-@ bool8 sub_8093DE4(struct npc_state *fieldObject, struct obj *object)
-sub_8093DE4: @ 8093DE4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093DF6
- movs r0, 0
- b _08093DFC
-_08093DF6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093DFC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093DE4
-
- thumb_func_start sub_8093E04
-sub_8093E04: @ 8093E04
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093E24
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093E04
-
- thumb_func_start sub_8093E24
-sub_8093E24: @ 8093E24
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093E36
- movs r0, 0
- b _08093E3C
-_08093E36:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093E3C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093E24
-
- thumb_func_start sub_8093E44
-sub_8093E44: @ 8093E44
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x5
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093E64
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093E44
-
- thumb_func_start sub_8093E64
-sub_8093E64: @ 8093E64
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093E76
- movs r0, 0
- b _08093E7C
-_08093E76:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093E7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093E64
-
- thumb_func_start sub_8093E84
-sub_8093E84: @ 8093E84
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x6
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093EA4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093E84
-
- thumb_func_start sub_8093EA4
-sub_8093EA4: @ 8093EA4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093EB6
- movs r0, 0
- b _08093EBC
-_08093EB6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093EBC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093EA4
-
- thumb_func_start sub_8093EC4
-sub_8093EC4: @ 8093EC4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093EE4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093EC4
-
- thumb_func_start sub_8093EE4
-sub_8093EE4: @ 8093EE4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093EF6
- movs r0, 0
- b _08093EFC
-_08093EF6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093EFC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093EE4
-
- thumb_func_start sub_8093F04
-sub_8093F04: @ 8093F04
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093F24
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093F04
-
- thumb_func_start sub_8093F24
-sub_8093F24: @ 8093F24
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093F36
- movs r0, 0
- b _08093F3C
-_08093F36:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093F3C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093F24
-
- thumb_func_start sub_8093F44
-sub_8093F44: @ 8093F44
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093F64
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093F44
-
- thumb_func_start sub_8093F64
-sub_8093F64: @ 8093F64
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093F76
- movs r0, 0
- b _08093F7C
-_08093F76:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093F7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093F64
-
- thumb_func_start sub_8093F84
-sub_8093F84: @ 8093F84
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093FA4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8093F84
-
- thumb_func_start sub_8093FA4
-sub_8093FA4: @ 8093FA4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08093FB6
- movs r0, 0
- b _08093FBC
-_08093FB6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08093FBC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093FA4
-
- thumb_func_start sub_8093FC4
-sub_8093FC4: @ 8093FC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r0, 0
- mov r10, r1
- adds r4, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x30]
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, =gUnknown_0850DFBC
- add r0, sp, 0x4
- movs r2, 0x6
- bl memcpy
- add r5, sp, 0xC
- movs r0, 0
- strh r0, [r5]
- mov r6, sp
- adds r6, 0xE
- strh r0, [r6]
- adds r0, r7, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- mov r1, r8
- lsls r0, r1, 1
- add r0, sp
- adds r0, 0x4
- movs r1, 0
- ldrsh r3, [r0, r1]
- str r3, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8092F88
- ldrh r1, [r5]
- ldrh r0, [r7, 0x10]
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r6]
- ldrh r0, [r7, 0x12]
- adds r2, r0
- lsls r2, 16
- asrs r2, 16
- adds r0, r7, 0
- bl npc_coords_shift
- mov r0, r10
- adds r1, r4, 0
- mov r2, r8
- mov r3, r9
- bl sub_809783C
- movs r0, 0x1
- mov r1, r10
- strh r0, [r1, 0x32]
- movs r0, 0x2C
- add r10, r0
- mov r0, r10
- ldrb r1, [r0]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- mov r1, r10
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r7]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8093FC4
-
- thumb_func_start maybe_shadow_1
-maybe_shadow_1: @ 8094080
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r4, 0
- bl sub_8093FC4
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl get_go_image_anim_num
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl npc_apply_anim_looping
- adds r0, r4, 0
- bl DoShadowFieldEffect
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end maybe_shadow_1
-
- thumb_func_start sub_80940C4
-@ int sub_80940C4(int a1, int a2, int a3)
-sub_80940C4: @ 80940C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- ldr r1, =gUnknown_0850DFC2
- add r0, sp, 0x4
- movs r2, 0x6
- bl memcpy
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x1
- bne _08094154
- movs r1, 0x36
- ldrsh r0, [r7, r1]
- lsls r0, 1
- add r0, sp
- adds r0, 0x4
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _08094154
- add r4, sp, 0xC
- movs r0, 0
- strh r0, [r4]
- mov r5, sp
- adds r5, 0xE
- strh r0, [r5]
- ldrb r0, [r6, 0x18]
- lsrs r0, 4
- movs r2, 0x36
- ldrsh r1, [r7, r2]
- lsls r1, 1
- add r1, sp
- adds r1, 0x4
- movs r2, 0
- ldrsh r3, [r1, r2]
- str r3, [sp]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8092F88
- ldrh r1, [r4]
- ldrh r0, [r6, 0x10]
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r5]
- ldrh r0, [r6, 0x12]
- adds r2, r0
- lsls r2, 16
- asrs r2, 16
- adds r0, r6, 0
- bl npc_coords_shift
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r6]
- b _08094178
- .pool
-_08094154:
- mov r1, r8
- cmp r1, 0xFF
- bne _08094178
- adds r0, r6, 0
- bl npc_coords_shift_still
- ldrb r0, [r6]
- movs r1, 0x8
- orrs r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r6]
- adds r2, r7, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
-_08094178:
- mov r0, r8
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80940C4
-
- thumb_func_start sub_8094188
-sub_8094188: @ 8094188
- push {lr}
- ldr r2, =sub_809785C
- bl sub_80940C4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8094188
-
- thumb_func_start sub_809419C
-sub_809419C: @ 809419C
- push {lr}
- ldr r2, =sub_80978E4
- bl sub_80940C4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809419C
-
- thumb_func_start sub_80941B0
-sub_80941B0: @ 80941B0
- push {lr}
- bl sub_8094188
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080941C2
- movs r0, 0
- b _080941C4
-_080941C2:
- movs r0, 0x1
-_080941C4:
- pop {r1}
- bx r1
- thumb_func_end sub_80941B0
-
- thumb_func_start sub_80941C8
-sub_80941C8: @ 80941C8
- push {lr}
- bl sub_809419C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080941DA
- movs r0, 0
- b _080941DC
-_080941DA:
- movs r0, 0x1
-_080941DC:
- pop {r1}
- bx r1
- thumb_func_end sub_80941C8
-
- thumb_func_start sub_80941E0
-sub_80941E0: @ 80941E0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8094188
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080941FA
- cmp r0, 0xFF
- bne _08094226
- movs r0, 0x1
- b _08094228
-_080941FA:
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetOppositeDirection
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetDirection
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl get_go_image_anim_num
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl obj_npc_animation_step
-_08094226:
- movs r0, 0
-_08094228:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80941E0
-
- thumb_func_start sub_8094230
-sub_8094230: @ 8094230
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809425C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094230
-
- thumb_func_start sub_809425C
-sub_809425C: @ 809425C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08094270
- movs r0, 0
- b _08094280
-_08094270:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08094280:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809425C
-
- thumb_func_start sub_8094288
-sub_8094288: @ 8094288
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80942B4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094288
-
- thumb_func_start sub_80942B4
-sub_80942B4: @ 80942B4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _080942C8
- movs r0, 0
- b _080942D8
-_080942C8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080942D8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80942B4
-
- thumb_func_start sub_80942E0
-sub_80942E0: @ 80942E0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809430C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80942E0
-
- thumb_func_start sub_809430C
-sub_809430C: @ 809430C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08094320
- movs r0, 0
- b _08094330
-_08094320:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08094330:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809430C
-
- thumb_func_start sub_8094338
-sub_8094338: @ 8094338
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094364
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094338
-
- thumb_func_start sub_8094364
-sub_8094364: @ 8094364
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08094378
- movs r0, 0
- b _08094388
-_08094378:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08094388:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094364
-
- thumb_func_start sub_8094390
-sub_8094390: @ 8094390
- movs r2, 0x1
- strh r2, [r0, 0x32]
- strh r1, [r0, 0x34]
- bx lr
- thumb_func_end sub_8094390
-
- thumb_func_start sub_8094398
-sub_8094398: @ 8094398
- push {lr}
- ldrh r0, [r1, 0x34]
- subs r0, 0x1
- strh r0, [r1, 0x34]
- lsls r0, 16
- cmp r0, 0
- beq _080943AA
- movs r0, 0
- b _080943B0
-_080943AA:
- movs r0, 0x2
- strh r0, [r1, 0x32]
- movs r0, 0x1
-_080943B0:
- pop {r1}
- bx r1
- thumb_func_end sub_8094398
-
- thumb_func_start sub_80943B4
-sub_80943B4: @ 80943B4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8094390
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8094398
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80943B4
-
- thumb_func_start sub_80943D4
-sub_80943D4: @ 80943D4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8094390
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8094398
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80943D4
-
- thumb_func_start sub_80943F4
-sub_80943F4: @ 80943F4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8094390
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8094398
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80943F4
-
- thumb_func_start sub_8094414
-sub_8094414: @ 8094414
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_8094390
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8094398
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094414
-
- thumb_func_start sub_8094434
-sub_8094434: @ 8094434
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_8094390
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8094398
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094434
-
- thumb_func_start sub_8094454
-sub_8094454: @ 8094454
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094474
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094454
-
- thumb_func_start sub_8094474
-sub_8094474: @ 8094474
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094486
- movs r0, 0
- b _0809448C
-_08094486:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_0809448C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094474
-
- thumb_func_start sub_8094494
-sub_8094494: @ 8094494
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80944B4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094494
-
- thumb_func_start sub_80944B4
-sub_80944B4: @ 80944B4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080944C6
- movs r0, 0
- b _080944CC
-_080944C6:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080944CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80944B4
-
- thumb_func_start sub_80944D4
-sub_80944D4: @ 80944D4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80944F4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80944D4
-
- thumb_func_start sub_80944F4
-sub_80944F4: @ 80944F4
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094506
- movs r0, 0
- b _0809450C
-_08094506:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_0809450C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80944F4
-
- thumb_func_start sub_8094514
-sub_8094514: @ 8094514
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094534
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094514
-
- thumb_func_start sub_8094534
-sub_8094534: @ 8094534
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094546
- movs r0, 0
- b _0809454C
-_08094546:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_0809454C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094534
-
- thumb_func_start sub_8094554
-sub_8094554: @ 8094554
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r6, r1, 0
- adds r1, r2, 0
- adds r4, r3, 0
- ldr r5, [sp, 0x14]
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- bl FieldObjectSetDirection
- mov r0, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl npc_apply_anim_looping
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r6, 0x32]
- strh r5, [r6, 0x34]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094554
-
- thumb_func_start sub_809459C
-@ signed int sub_809459C(int a1, obj *a2)
-sub_809459C: @ 809459C
- push {lr}
- ldrh r0, [r1, 0x34]
- subs r0, 0x1
- strh r0, [r1, 0x34]
- lsls r0, 16
- cmp r0, 0
- beq _080945AE
- movs r0, 0
- b _080945C0
-_080945AE:
- movs r0, 0x2
- strh r0, [r1, 0x32]
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
-_080945C0:
- pop {r1}
- bx r1
- thumb_func_end sub_809459C
-
- thumb_func_start sub_80945C4
-@ int sub_80945C4(int a1, obj *a2)
-sub_80945C4: @ 80945C4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrh r1, [r4, 0x34]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080945EE
- adds r3, r4, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- lsls r1, r2, 26
- lsrs r1, 26
- adds r1, 0x1
- movs r0, 0x3F
- ands r1, r0
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080945EE:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80945C4
-
- thumb_func_start sub_8094600
-sub_8094600: @ 8094600
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80945C4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094600
-
- thumb_func_start sub_8094638
-sub_8094638: @ 8094638
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80945C4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094638
-
- thumb_func_start sub_8094670
-sub_8094670: @ 8094670
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80945C4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094670
-
- thumb_func_start sub_80946A8
-sub_80946A8: @ 80946A8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80945C4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80946A8
-
- thumb_func_start sub_80946E0
-sub_80946E0: @ 80946E0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80946E0
-
- thumb_func_start sub_8094718
-sub_8094718: @ 8094718
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094718
-
- thumb_func_start sub_8094750
-sub_8094750: @ 8094750
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094750
-
- thumb_func_start sub_8094788
-sub_8094788: @ 8094788
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094788
-
- thumb_func_start sub_80947C0
-sub_80947C0: @ 80947C0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80947C0
-
- thumb_func_start sub_80947F8
-sub_80947F8: @ 80947F8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80947F8
-
- thumb_func_start sub_8094830
-sub_8094830: @ 8094830
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094830
-
- thumb_func_start sub_8094868
-sub_8094868: @ 8094868
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094868
-
- thumb_func_start sub_80948A0
-sub_80948A0: @ 80948A0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80948A0
-
- thumb_func_start sub_80948D8
-sub_80948D8: @ 80948D8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80948D8
-
- thumb_func_start sub_8094910
-sub_8094910: @ 8094910
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094910
-
- thumb_func_start sub_8094948
-sub_8094948: @ 8094948
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094948
-
- thumb_func_start sub_8094980
-sub_8094980: @ 8094980
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80949A0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094980
-
- thumb_func_start sub_80949A0
-sub_80949A0: @ 80949A0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080949B2
- movs r0, 0
- b _080949B8
-_080949B2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080949B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80949A0
-
- thumb_func_start sub_80949C0
-sub_80949C0: @ 80949C0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80949E0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80949C0
-
- thumb_func_start sub_80949E0
-sub_80949E0: @ 80949E0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080949F2
- movs r0, 0
- b _080949F8
-_080949F2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080949F8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80949E0
-
- thumb_func_start sub_8094A00
-sub_8094A00: @ 8094A00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094A20
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094A00
-
- thumb_func_start sub_8094A20
-sub_8094A20: @ 8094A20
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094A32
- movs r0, 0
- b _08094A38
-_08094A32:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094A38:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094A20
-
- thumb_func_start sub_8094A40
-sub_8094A40: @ 8094A40
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094A60
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094A40
-
- thumb_func_start sub_8094A60
-sub_8094A60: @ 8094A60
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094A72
- movs r0, 0
- b _08094A78
-_08094A72:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094A78:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094A60
-
- thumb_func_start sub_8094A80
-sub_8094A80: @ 8094A80
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094AA0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094A80
-
- thumb_func_start sub_8094AA0
-sub_8094AA0: @ 8094AA0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094AB2
- movs r0, 0
- b _08094AB8
-_08094AB2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094AB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094AA0
-
- thumb_func_start sub_8094AC0
-sub_8094AC0: @ 8094AC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094AE0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094AC0
-
- thumb_func_start sub_8094AE0
-sub_8094AE0: @ 8094AE0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094AF2
- movs r0, 0
- b _08094AF8
-_08094AF2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094AF8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094AE0
-
- thumb_func_start sub_8094B00
-sub_8094B00: @ 8094B00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094B20
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094B00
-
- thumb_func_start sub_8094B20
-sub_8094B20: @ 8094B20
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094B32
- movs r0, 0
- b _08094B38
-_08094B32:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094B38:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094B20
-
- thumb_func_start sub_8094B40
-sub_8094B40: @ 8094B40
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094B60
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094B40
-
- thumb_func_start sub_8094B60
-sub_8094B60: @ 8094B60
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094B72
- movs r0, 0
- b _08094B78
-_08094B72:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094B78:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094B60
-
- thumb_func_start sub_8094B80
-sub_8094B80: @ 8094B80
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094BA0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094B80
-
- thumb_func_start sub_8094BA0
-sub_8094BA0: @ 8094BA0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094BB2
- movs r0, 0
- b _08094BB8
-_08094BB2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094BB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094BA0
-
- thumb_func_start sub_8094BC0
-sub_8094BC0: @ 8094BC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094BE0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094BC0
-
- thumb_func_start sub_8094BE0
-sub_8094BE0: @ 8094BE0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094BF2
- movs r0, 0
- b _08094BF8
-_08094BF2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094BF8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094BE0
-
- thumb_func_start sub_8094C00
-sub_8094C00: @ 8094C00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094C20
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094C00
-
- thumb_func_start sub_8094C20
-sub_8094C20: @ 8094C20
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094C32
- movs r0, 0
- b _08094C38
-_08094C32:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094C38:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094C20
-
- thumb_func_start sub_8094C40
-sub_8094C40: @ 8094C40
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094C60
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094C40
-
- thumb_func_start sub_8094C60
-sub_8094C60: @ 8094C60
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094C72
- movs r0, 0
- b _08094C78
-_08094C72:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094C78:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094C60
-
- thumb_func_start do_run_south_anim
-@ bool8 do_run_south_anim(struct npc_state *fieldObject, struct obj *object)
-do_run_south_anim: @ 8094C80
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094CA0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_south_anim
-
- thumb_func_start sub_8094CA0
-@ bool8 sub_8094CA0(struct npc_state *fieldObject, struct obj *object)
-sub_8094CA0: @ 8094CA0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094CB2
- movs r0, 0
- b _08094CB8
-_08094CB2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094CB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094CA0
-
- thumb_func_start do_run_north_anim
-do_run_north_anim: @ 8094CC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094CE0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_north_anim
-
- thumb_func_start sub_8094CE0
-sub_8094CE0: @ 8094CE0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094CF2
- movs r0, 0
- b _08094CF8
-_08094CF2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094CF8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094CE0
-
- thumb_func_start do_run_west_anim
-do_run_west_anim: @ 8094D00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094D20
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_west_anim
-
- thumb_func_start sub_8094D20
-sub_8094D20: @ 8094D20
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094D32
- movs r0, 0
- b _08094D38
-_08094D32:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094D38:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094D20
-
- thumb_func_start do_run_east_anim
-do_run_east_anim: @ 8094D40
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094D60
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_east_anim
-
- thumb_func_start sub_8094D60
-sub_8094D60: @ 8094D60
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08094D72
- movs r0, 0
- b _08094D78
-_08094D72:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094D78:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094D60
-
- thumb_func_start npc_set_direction_and_anim__an_proceed
-npc_set_direction_and_anim__an_proceed: @ 8094D80
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- adds r1, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- movs r2, 0
- bl obj_anim_image_set_and_seek
- adds r0, r6, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end npc_set_direction_and_anim__an_proceed
-
- thumb_func_start sub_8094DAC
-sub_8094DAC: @ 8094DAC
- push {lr}
- ldrb r2, [r0, 0x18]
- lsrs r2, 4
- adds r3, r1, 0
- adds r3, 0x2A
- ldrb r3, [r3]
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8094DAC
-
- thumb_func_start sub_8094DC4
-sub_8094DC4: @ 8094DC4
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80979BC
- lsls r0, 24
- cmp r0, 0
- bne _08094DD8
- movs r0, 0
- b _08094DDE
-_08094DD8:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08094DDE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094DC4
-
- thumb_func_start sub_8094DE4
-sub_8094DE4: @ 8094DE4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8093FC4
- adds r0, r4, 0
- bl sub_80929AC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8094DE4
-
- thumb_func_start sub_8094E18
-sub_8094E18: @ 8094E18
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8094DE4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094E38
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094E18
-
- thumb_func_start sub_8094E38
-sub_8094E38: @ 8094E38
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941C8
- lsls r0, 24
- cmp r0, 0
- bne _08094E4C
- movs r0, 0
- b _08094E5A
-_08094E4C:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_08094E5A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094E38
-
- thumb_func_start sub_8094E60
-sub_8094E60: @ 8094E60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- bl sub_8094DE4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094E80
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094E60
-
- thumb_func_start sub_8094E80
-sub_8094E80: @ 8094E80
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941C8
- lsls r0, 24
- cmp r0, 0
- bne _08094E94
- movs r0, 0
- b _08094EA2
-_08094E94:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_08094EA2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094E80
-
- thumb_func_start sub_8094EA8
-sub_8094EA8: @ 8094EA8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- bl sub_8094DE4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094EC8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094EA8
-
- thumb_func_start sub_8094EC8
-sub_8094EC8: @ 8094EC8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941C8
- lsls r0, 24
- cmp r0, 0
- bne _08094EDC
- movs r0, 0
- b _08094EEA
-_08094EDC:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_08094EEA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094EC8
-
- thumb_func_start sub_8094EF0
-sub_8094EF0: @ 8094EF0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8094DE4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094F10
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094EF0
-
- thumb_func_start sub_8094F10
-sub_8094F10: @ 8094F10
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941C8
- lsls r0, 24
- cmp r0, 0
- bne _08094F24
- movs r0, 0
- b _08094F32
-_08094F24:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_08094F32:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094F10
-
- thumb_func_start sub_8094F38
-sub_8094F38: @ 8094F38
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08094F82
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- ldr r4, =gMapObjects
- mov r2, sp
- ldrb r2, [r2]
- lsls r3, r2, 3
- adds r3, r2
- lsls r3, 2
- adds r3, r4
- movs r4, 0x10
- ldrsh r2, [r3, r4]
- movs r4, 0x12
- ldrsh r3, [r3, r4]
- bl sub_8092AF8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl an_look_any
-_08094F82:
- movs r0, 0x1
- strh r0, [r6, 0x32]
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8094F38
-
- thumb_func_start sub_8094F94
-sub_8094F94: @ 8094F94
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08094FE6
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- ldr r4, =gMapObjects
- mov r2, sp
- ldrb r2, [r2]
- lsls r3, r2, 3
- adds r3, r2
- lsls r3, 2
- adds r3, r4
- movs r4, 0x10
- ldrsh r2, [r3, r4]
- movs r4, 0x12
- ldrsh r3, [r3, r4]
- bl sub_8092AF8
- lsls r0, 24
- lsrs r0, 24
- bl GetOppositeDirection
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl an_look_any
-_08094FE6:
- movs r0, 0x1
- strh r0, [r6, 0x32]
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8094F94
-
- thumb_func_start sub_8094FF8
-sub_8094FF8: @ 8094FF8
- ldrb r2, [r0, 0x1]
- movs r3, 0x2
- orrs r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8094FF8
-
- thumb_func_start sub_8095008
-sub_8095008: @ 8095008
- ldrb r3, [r0, 0x1]
- movs r2, 0x3
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8095008
-
- thumb_func_start sub_8095018
-sub_8095018: @ 8095018
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095044
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095018
-
- thumb_func_start sub_8095044
-sub_8095044: @ 8095044
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095058
- movs r0, 0
- b _08095068
-_08095058:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095068:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095044
-
- thumb_func_start sub_8095070
-sub_8095070: @ 8095070
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809509C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095070
-
- thumb_func_start sub_809509C
-sub_809509C: @ 809509C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _080950B0
- movs r0, 0
- b _080950C0
-_080950B0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080950C0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809509C
-
- thumb_func_start sub_80950C8
-sub_80950C8: @ 80950C8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80950F4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80950C8
-
- thumb_func_start sub_80950F4
-sub_80950F4: @ 80950F4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095108
- movs r0, 0
- b _08095118
-_08095108:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095118:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80950F4
-
- thumb_func_start sub_8095120
-sub_8095120: @ 8095120
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809514C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095120
-
- thumb_func_start sub_809514C
-sub_809514C: @ 809514C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095160
- movs r0, 0
- b _08095170
-_08095160:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095170:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809514C
-
- thumb_func_start sub_8095178
-sub_8095178: @ 8095178
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80951A4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095178
-
- thumb_func_start sub_80951A4
-sub_80951A4: @ 80951A4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _080951B8
- movs r0, 0
- b _080951C8
-_080951B8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080951C8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80951A4
-
- thumb_func_start sub_80951D0
-sub_80951D0: @ 80951D0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80951FC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80951D0
-
- thumb_func_start sub_80951FC
-sub_80951FC: @ 80951FC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095210
- movs r0, 0
- b _08095220
-_08095210:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095220:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80951FC
-
- thumb_func_start sub_8095228
-sub_8095228: @ 8095228
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095254
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095228
-
- thumb_func_start sub_8095254
-sub_8095254: @ 8095254
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095268
- movs r0, 0
- b _08095278
-_08095268:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095278:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095254
-
- thumb_func_start sub_8095280
-sub_8095280: @ 8095280
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80952AC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095280
-
- thumb_func_start sub_80952AC
-sub_80952AC: @ 80952AC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _080952C0
- movs r0, 0
- b _080952D0
-_080952C0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080952D0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80952AC
-
- thumb_func_start sub_80952D8
-sub_80952D8: @ 80952D8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095304
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80952D8
-
- thumb_func_start sub_8095304
-sub_8095304: @ 8095304
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941E0
- lsls r0, 24
- cmp r0, 0
- bne _08095318
- movs r0, 0
- b _08095328
-_08095318:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095328:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095304
-
- thumb_func_start sub_8095330
-sub_8095330: @ 8095330
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809535C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095330
-
- thumb_func_start sub_809535C
-sub_809535C: @ 809535C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941E0
- lsls r0, 24
- cmp r0, 0
- bne _08095370
- movs r0, 0
- b _08095380
-_08095370:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095380:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809535C
-
- thumb_func_start sub_8095388
-sub_8095388: @ 8095388
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80953B4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095388
-
- thumb_func_start sub_80953B4
-sub_80953B4: @ 80953B4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941E0
- lsls r0, 24
- cmp r0, 0
- bne _080953C8
- movs r0, 0
- b _080953D8
-_080953C8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080953D8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80953B4
-
- thumb_func_start sub_80953E0
-sub_80953E0: @ 80953E0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809540C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80953E0
-
- thumb_func_start sub_809540C
-sub_809540C: @ 809540C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941E0
- lsls r0, 24
- cmp r0, 0
- bne _08095420
- movs r0, 0
- b _08095430
-_08095420:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095430:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809540C
-
- thumb_func_start sub_8095438
-sub_8095438: @ 8095438
- push {lr}
- ldr r3, =gUnknown_085055CD
- ldrb r2, [r0, 0x6]
- adds r2, r3
- ldrb r2, [r2]
- bl an_look_any
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8095438
-
- thumb_func_start sub_8095450
-sub_8095450: @ 8095450
- push {lr}
- movs r2, 0x1
- movs r3, 0x14
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8095450
-
- thumb_func_start sub_8095460
-sub_8095460: @ 8095460
- ldrb r3, [r0, 0x3]
- movs r2, 0x3
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8095460
-
- thumb_func_start sub_8095470
-sub_8095470: @ 8095470
- ldrb r2, [r0, 0x3]
- movs r3, 0x2
- orrs r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8095470
-
- thumb_func_start sub_8095480
-sub_8095480: @ 8095480
- ldrb r2, [r0, 0x1]
- movs r3, 0x10
- orrs r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8095480
-
- thumb_func_start sub_8095490
-@ int sub_8095490(npc_state *npcState, int a2)
-sub_8095490: @ 8095490
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldrb r1, [r0, 0xC]
- lsls r1, 25
- lsrs r1, 31
- lsls r1, 4
- ldrb r2, [r4, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1
- strh r0, [r5, 0x32]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095490
-
- thumb_func_start sub_80954BC
-sub_80954BC: @ 80954BC
- ldrb r2, [r0, 0x1]
- movs r3, 0x20
- orrs r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_80954BC
-
- thumb_func_start sub_80954CC
-sub_80954CC: @ 80954CC
- ldrb r3, [r0, 0x1]
- movs r2, 0x21
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_80954CC
-
- thumb_func_start do_exclamation_mark_bubble_1
-do_exclamation_mark_bubble_1: @ 80954DC
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, =gUnknown_02038C08
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0
- bl FieldEffectStart
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end do_exclamation_mark_bubble_1
-
- thumb_func_start do_exclamation_mark_bubble_2
-do_exclamation_mark_bubble_2: @ 8095500
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, =gUnknown_02038C08
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x21
- bl FieldEffectStart
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end do_exclamation_mark_bubble_2
-
- thumb_func_start do_heart_bubble
-do_heart_bubble: @ 8095524
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, =gUnknown_02038C08
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x2E
- bl FieldEffectStart
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end do_heart_bubble
-
- thumb_func_start sub_8095548
-sub_8095548: @ 8095548
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x6]
- cmp r0, 0x3F
- bne _0809555E
- adds r0, r4, 0
- bl sub_80B4578
- movs r0, 0
- b _08095586
-_0809555E:
- subs r0, 0x39
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08095580
- adds r0, r4, 0
- bl sub_8155D78
- movs r0, 0x1
- strh r0, [r5, 0x32]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809558C
- lsls r0, 24
- lsrs r0, 24
- b _08095586
-_08095580:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095586:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095548
-
- thumb_func_start sub_809558C
-sub_809558C: @ 809558C
- push {r4,lr}
- adds r4, r1, 0
- bl sub_8155DA0
- lsls r0, 24
- cmp r0, 0
- bne _0809559E
- movs r0, 0
- b _080955A4
-_0809559E:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080955A4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809558C
-
- thumb_func_start sub_80955AC
-sub_80955AC: @ 80955AC
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl obj_anim_image_set_and_seek
- movs r0, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80955AC
-
- thumb_func_start sub_80955C8
-sub_80955C8: @ 80955C8
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80979BC
- lsls r0, 24
- cmp r0, 0
- beq _080955E4
- adds r0, r4, 0
- movs r1, 0x20
- bl sub_8097978
- movs r0, 0x2
- strh r0, [r4, 0x32]
-_080955E4:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80955C8
-
- thumb_func_start sub_80955EC
-sub_80955EC: @ 80955EC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 26
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 5
- subs r0, 0x22
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- beq _0809561E
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x3
- strh r0, [r5, 0x32]
-_0809561E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80955EC
-
- thumb_func_start sub_8095628
-sub_8095628: @ 8095628
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl obj_anim_image_set_and_seek
- movs r0, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095628
-
- thumb_func_start sub_8095644
-sub_8095644: @ 8095644
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80979BC
- lsls r0, 24
- cmp r0, 0
- beq _08095660
- adds r0, r4, 0
- movs r1, 0x20
- bl sub_8097978
- movs r0, 0x2
- strh r0, [r4, 0x32]
-_08095660:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095644
-
- thumb_func_start sub_8095668
-sub_8095668: @ 8095668
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 26
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 5
- subs r0, 0x22
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_809797C
- lsls r0, 24
- cmp r0, 0
- beq _0809569A
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x3
- strh r0, [r5, 0x32]
-_0809569A:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095668
-
- thumb_func_start sub_80956A4
-sub_80956A4: @ 80956A4
- ldrb r2, [r0, 0x3]
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_80956A4
-
- thumb_func_start sub_80956B4
-sub_80956B4: @ 80956B4
- ldrb r3, [r0, 0x3]
- movs r2, 0x5
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_80956B4
-
- thumb_func_start sub_80956C4
-sub_80956C4: @ 80956C4
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r4, 0x42
- ldrb r1, [r4]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80956C4
-
- thumb_func_start sub_80956F4
-sub_80956F4: @ 80956F4
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x1]
- lsrs r1, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- movs r3, 0
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80956F4
-
- thumb_func_start sub_8095724
-sub_8095724: @ 8095724
- ldrb r1, [r0, 0x3]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x3]
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8095724
-
- thumb_func_start sub_8095730
-sub_8095730: @ 8095730
- ldrb r2, [r0, 0x3]
- movs r1, 0x9
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x3]
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8095730
-
- thumb_func_start sub_8095740
-sub_8095740: @ 8095740
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8093B60
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnimIfDifferent
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8095774
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095740
-
- thumb_func_start sub_8095774
-sub_8095774: @ 8095774
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08095786
- movs r0, 0
- b _08095798
-_08095786:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08095798:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095774
-
- thumb_func_start sub_80957A0
-sub_80957A0: @ 80957A0
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8093B60
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnimIfDifferent
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80957D4
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80957A0
-
- thumb_func_start sub_80957D4
-sub_80957D4: @ 80957D4
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _080957E6
- movs r0, 0
- b _080957F8
-_080957E6:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080957F8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80957D4
-
- thumb_func_start sub_8095800
-sub_8095800: @ 8095800
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl do_go_anim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x2
- bl ChangeSpriteAffineAnimIfDifferent
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8095834
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095800
-
- thumb_func_start sub_8095834
-sub_8095834: @ 8095834
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08095846
- movs r0, 0
- b _08095858
-_08095846:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08095858:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095834
-
- thumb_func_start sub_8095860
-sub_8095860: @ 8095860
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl do_go_anim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x3
- bl ChangeSpriteAffineAnimIfDifferent
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8095894
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095860
-
- thumb_func_start sub_8095894
-sub_8095894: @ 8095894
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080958A6
- movs r0, 0
- b _080958B8
-_080958A6:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080958B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095894
-
- thumb_func_start sub_80958C0
-sub_80958C0: @ 80958C0
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl FieldObjectSetDirection
- adds r0, r5, 0
- bl npc_coords_shift_still
- adds r0, r4, 0
- bl sub_80929FC
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl obj_npc_animation_step
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80958C0
-
- thumb_func_start sub_8095900
-sub_8095900: @ 8095900
- push {lr}
- movs r2, 0x1
- bl sub_80958C0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8095900
-
- thumb_func_start sub_8095910
-sub_8095910: @ 8095910
- push {lr}
- movs r2, 0x2
- bl sub_80958C0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8095910
-
- thumb_func_start sub_8095920
-sub_8095920: @ 8095920
- push {lr}
- movs r2, 0x3
- bl sub_80958C0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8095920
-
- thumb_func_start sub_8095930
-sub_8095930: @ 8095930
- push {lr}
- movs r2, 0x4
- bl sub_80958C0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8095930
-
- thumb_func_start sub_8095940
-sub_8095940: @ 8095940
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_80929BC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095940
-
- thumb_func_start sub_8095964
-sub_8095964: @ 8095964
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_80929BC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095964
-
- thumb_func_start sub_8095988
-sub_8095988: @ 8095988
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_80929BC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095988
-
- thumb_func_start sub_80959AC
-sub_80959AC: @ 80959AC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_80929BC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80959AC
-
- thumb_func_start sub_80959D0
-sub_80959D0: @ 80959D0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_80929DC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80959D0
-
- thumb_func_start sub_80959F4
-sub_80959F4: @ 80959F4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_80929DC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80959F4
-
- thumb_func_start sub_8095A18
-sub_8095A18: @ 8095A18
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_80929DC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095A18
-
- thumb_func_start sub_8095A3C
-sub_8095A3C: @ 8095A3C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_80929DC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095A3C
-
- thumb_func_start sub_8095A60
-sub_8095A60: @ 8095A60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_80929EC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095A60
-
- thumb_func_start sub_8095A84
-sub_8095A84: @ 8095A84
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_80929EC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095A84
-
- thumb_func_start sub_8095AA8
-sub_8095AA8: @ 8095AA8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_80929EC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095AA8
-
- thumb_func_start sub_8095ACC
-sub_8095ACC: @ 8095ACC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_80929EC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095ACC
-
- thumb_func_start sub_8095AF0
-sub_8095AF0: @ 8095AF0
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_8097750
- adds r4, 0x2C
- ldrb r1, [r4]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8095AF0
-
- thumb_func_start sub_8095B0C
-sub_8095B0C: @ 8095B0C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_8097758
- lsls r0, 24
- cmp r0, 0
- bne _08095B22
- movs r0, 0
- b _08095B3E
-_08095B22:
- adds r0, r4, 0
- bl npc_coords_shift_still
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
-_08095B3E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B0C
-
- thumb_func_start sub_8095B44
-sub_8095B44: @ 8095B44
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_8095AF0
- movs r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8095B64
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B44
-
- thumb_func_start sub_8095B64
-sub_8095B64: @ 8095B64
- push {r4,lr}
- adds r4, r1, 0
- bl sub_8095B0C
- lsls r0, 24
- cmp r0, 0
- bne _08095B76
- movs r0, 0
- b _08095B7C
-_08095B76:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08095B7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B64
-
- thumb_func_start sub_8095B84
-sub_8095B84: @ 8095B84
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x14]
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r6, 0
- adds r2, r4, 0
- bl sub_8093FC4
- adds r0, r4, 0
- bl sub_80929BC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnimIfDifferent
- adds r0, r6, 0
- bl DoShadowFieldEffect
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8095B84
-
- thumb_func_start sub_8095BC8
-sub_8095BC8: @ 8095BC8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095BF4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095BC8
-
- thumb_func_start sub_8095BF4
-sub_8095BF4: @ 8095BF4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095C08
- movs r0, 0
- b _08095C18
-_08095C08:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095C18:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095BF4
-
- thumb_func_start sub_8095C20
-sub_8095C20: @ 8095C20
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095C4C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095C20
-
- thumb_func_start sub_8095C4C
-sub_8095C4C: @ 8095C4C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095C60
- movs r0, 0
- b _08095C70
-_08095C60:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095C70:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095C4C
-
- thumb_func_start sub_8095C78
-sub_8095C78: @ 8095C78
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095CA4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095C78
-
- thumb_func_start sub_8095CA4
-sub_8095CA4: @ 8095CA4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095CB8
- movs r0, 0
- b _08095CC8
-_08095CB8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095CC8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095CA4
-
- thumb_func_start sub_8095CD0
-sub_8095CD0: @ 8095CD0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095CFC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095CD0
-
- thumb_func_start sub_8095CFC
-sub_8095CFC: @ 8095CFC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095D10
- movs r0, 0
- b _08095D20
-_08095D10:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095D20:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095CFC
-
- thumb_func_start sub_8095D28
-sub_8095D28: @ 8095D28
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095D54
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095D28
-
- thumb_func_start sub_8095D54
-sub_8095D54: @ 8095D54
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095D68
- movs r0, 0
- b _08095D78
-_08095D68:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095D78:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095D54
-
- thumb_func_start sub_8095D80
-sub_8095D80: @ 8095D80
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095DAC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095D80
-
- thumb_func_start sub_8095DAC
-sub_8095DAC: @ 8095DAC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095DC0
- movs r0, 0
- b _08095DD0
-_08095DC0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095DD0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095DAC
-
- thumb_func_start sub_8095DD8
-sub_8095DD8: @ 8095DD8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095E04
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095DD8
-
- thumb_func_start sub_8095E04
-sub_8095E04: @ 8095E04
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095E18
- movs r0, 0
- b _08095E28
-_08095E18:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095E28:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E04
-
- thumb_func_start sub_8095E30
-sub_8095E30: @ 8095E30
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095E5C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E30
-
- thumb_func_start sub_8095E5C
-sub_8095E5C: @ 8095E5C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095E70
- movs r0, 0
- b _08095E80
-_08095E70:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095E80:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E5C
-
- thumb_func_start sub_8095E88
-sub_8095E88: @ 8095E88
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095EB4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E88
-
- thumb_func_start sub_8095EB4
-sub_8095EB4: @ 8095EB4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095EC8
- movs r0, 0
- b _08095ED8
-_08095EC8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095ED8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095EB4
-
- thumb_func_start sub_8095EE0
-sub_8095EE0: @ 8095EE0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095F0C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095EE0
-
- thumb_func_start sub_8095F0C
-sub_8095F0C: @ 8095F0C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095F20
- movs r0, 0
- b _08095F30
-_08095F20:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095F30:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F0C
-
- thumb_func_start sub_8095F38
-sub_8095F38: @ 8095F38
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095F64
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F38
-
- thumb_func_start sub_8095F64
-sub_8095F64: @ 8095F64
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095F78
- movs r0, 0
- b _08095F88
-_08095F78:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095F88:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F64
-
- thumb_func_start sub_8095F90
-sub_8095F90: @ 8095F90
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x2
- bl sub_8095B84
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095FBC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F90
-
- thumb_func_start sub_8095FBC
-sub_8095FBC: @ 8095FBC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80941B0
- lsls r0, 24
- cmp r0, 0
- bne _08095FD0
- movs r0, 0
- b _08095FE0
-_08095FD0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08095FE0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095FBC
-
- thumb_func_start sub_8095FE8
-sub_8095FE8: @ 8095FE8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_80929FC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095FE8
-
- thumb_func_start sub_8096020
-sub_8096020: @ 8096020
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_80929FC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096020
-
- thumb_func_start sub_8096058
-sub_8096058: @ 8096058
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_80929FC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096058
-
- thumb_func_start sub_8096090
-sub_8096090: @ 8096090
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_80929FC
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_8094554
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809459C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096090
-
- thumb_func_start sub_80960C8
-sub_80960C8: @ 80960C8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl npc_apply_direction
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_80929BC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80960C8
-
- thumb_func_start sub_8096100
-sub_8096100: @ 8096100
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096120
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096100
-
- thumb_func_start sub_8096120
-sub_8096120: @ 8096120
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08096132
- movs r0, 0
- b _08096138
-_08096132:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096138:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096120
-
- thumb_func_start sub_8096140
-sub_8096140: @ 8096140
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096160
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096140
-
- thumb_func_start sub_8096160
-sub_8096160: @ 8096160
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08096172
- movs r0, 0
- b _08096178
-_08096172:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096178:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096160
-
- thumb_func_start sub_8096180
-sub_8096180: @ 8096180
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80961A0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096180
-
- thumb_func_start sub_80961A0
-sub_80961A0: @ 80961A0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080961B2
- movs r0, 0
- b _080961B8
-_080961B2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080961B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80961A0
-
- thumb_func_start sub_80961C0
-sub_80961C0: @ 80961C0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_80960C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80961E0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80961C0
-
- thumb_func_start sub_80961E0
-sub_80961E0: @ 80961E0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080961F2
- movs r0, 0
- b _080961F8
-_080961F2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080961F8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80961E0
-
- thumb_func_start sub_8096200
-sub_8096200: @ 8096200
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl npc_apply_direction
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_80929FC
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl npc_apply_anim_looping
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8096200
-
- thumb_func_start sub_8096230
-sub_8096230: @ 8096230
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8096200
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096250
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096230
-
- thumb_func_start sub_8096250
-sub_8096250: @ 8096250
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08096262
- movs r0, 0
- b _08096268
-_08096262:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096268:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096250
-
- thumb_func_start sub_8096270
-sub_8096270: @ 8096270
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_8096200
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096290
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096270
-
- thumb_func_start sub_8096290
-sub_8096290: @ 8096290
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080962A2
- movs r0, 0
- b _080962A8
-_080962A2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080962A8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096290
-
- thumb_func_start sub_80962B0
-sub_80962B0: @ 80962B0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8096200
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80962D0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80962B0
-
- thumb_func_start sub_80962D0
-sub_80962D0: @ 80962D0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080962E2
- movs r0, 0
- b _080962E8
-_080962E2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080962E8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80962D0
-
- thumb_func_start sub_80962F0
-sub_80962F0: @ 80962F0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_8096200
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096310
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80962F0
-
- thumb_func_start sub_8096310
-sub_8096310: @ 8096310
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08096322
- movs r0, 0
- b _08096328
-_08096322:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096328:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096310
-
- thumb_func_start sub_8096330
-sub_8096330: @ 8096330
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl npc_apply_direction
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_80929DC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8096330
-
- thumb_func_start sub_8096368
-sub_8096368: @ 8096368
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8096330
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096388
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096368
-
- thumb_func_start sub_8096388
-sub_8096388: @ 8096388
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0809639A
- movs r0, 0
- b _080963A0
-_0809639A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080963A0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096388
-
- thumb_func_start sub_80963A8
-sub_80963A8: @ 80963A8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_8096330
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80963C8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80963A8
-
- thumb_func_start sub_80963C8
-sub_80963C8: @ 80963C8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080963DA
- movs r0, 0
- b _080963E0
-_080963DA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080963E0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80963C8
-
- thumb_func_start sub_80963E8
-sub_80963E8: @ 80963E8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8096330
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096408
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80963E8
-
- thumb_func_start sub_8096408
-sub_8096408: @ 8096408
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0809641A
- movs r0, 0
- b _08096420
-_0809641A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096420:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096408
-
- thumb_func_start sub_8096428
-sub_8096428: @ 8096428
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_8096330
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8096448
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096428
-
- thumb_func_start sub_8096448
-sub_8096448: @ 8096448
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0809645A
- movs r0, 0
- b _08096460
-_0809645A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08096460:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096448
-
- thumb_func_start sub_8096468
-sub_8096468: @ 8096468
- push {r4,lr}
- adds r4, r1, 0
- bl sub_8097FA4
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096468
-
- thumb_func_start sub_809647C
-sub_809647C: @ 809647C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1B]
- bl sub_8098044
- movs r0, 0
- strh r0, [r4, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809647C
-
- thumb_func_start sub_8096494
-sub_8096494: @ 8096494
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080964A6
- movs r0, 0
- b _080964B0
-_080964A6:
- ldrb r0, [r2, 0x1B]
- bl sub_8098044
- movs r0, 0x1
- strh r0, [r4, 0x32]
-_080964B0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8096494
-
- thumb_func_start sub_80964B8
-sub_80964B8: @ 80964B8
- movs r0, 0x1
- bx lr
- thumb_func_end sub_80964B8
-
- thumb_func_start sub_80964BC
-@ bool8 sub_80964BC(struct npc_state *fieldObject, struct obj *object)
-sub_80964BC: @ 80964BC
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x1
- bx lr
- thumb_func_end sub_80964BC
-
- thumb_func_start npc_obj_transfer_image_anim_pause_flag
-@ void npc_obj_transfer_image_anim_pause_flag(struct npc_state *fieldObject, struct obj *object)
-npc_obj_transfer_image_anim_pause_flag: @ 80964CC
- push {lr}
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- cmp r0, 0
- bge _080964E2
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
-_080964E2:
- pop {r0}
- bx r0
- thumb_func_end npc_obj_transfer_image_anim_pause_flag
-
- thumb_func_start sub_80964E8
-@ void sub_80964E8(struct npc_state *fieldObject, struct obj *object)
-sub_80964E8: @ 80964E8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r3, [r4, 0x1]
- lsls r0, r3, 28
- cmp r0, 0
- bge _08096510
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- movs r1, 0x9
- negs r1, r1
- ands r0, r1
- strb r0, [r4, 0x1]
-_08096510:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80964E8
-
- thumb_func_start sub_8096518
-@ void sub_8096518(struct npc_state *fieldObject, struct obj *object)
-sub_8096518: @ 8096518
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8096530
- adds r0, r4, 0
- adds r1, r5, 0
- bl npc_update_obj_anim_flag
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8096518
-
- thumb_func_start sub_8096530
-sub_8096530: @ 8096530
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r1, [r5, 0x1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r6, r0, 0
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08096594
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r2, =gSpriteCoordOffsetX
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r2, =gSpriteCoordOffsetY
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- b _080965BC
- .pool
-_08096594:
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
-_080965BC:
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r6, 0x8]
- adds r0, r3
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r6, 0xA]
- adds r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _080965E4
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080965EC
-_080965E4:
- ldrb r0, [r5, 0x1]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r5, 0x1]
-_080965EC:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _08096600
- lsls r0, r4, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _08096608
-_08096600:
- ldrb r0, [r5, 0x1]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r5, 0x1]
-_08096608:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8096530
-
- thumb_func_start npc_update_obj_anim_flag
-@ void npc_update_obj_anim_flag(struct npc_state *fieldObject, struct obj *object)
-npc_update_obj_anim_flag: @ 8096610
- push {lr}
- adds r2, r1, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x5
- negs r3, r3
- ands r3, r1
- strb r3, [r2]
- ldrb r1, [r0, 0x1]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08096632
- movs r1, 0x4
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_08096632:
- pop {r0}
- bx r0
- thumb_func_end npc_update_obj_anim_flag
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index 1698c054e..9f47c0a55 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -43,7 +43,7 @@ player_step: @ 808A9C0
lsrs r7, r1, 16
lsls r2, 16
lsrs r6, r2, 16
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -153,7 +153,7 @@ npc_clear_strange_bits: @ 808AA9C
adds r2, 0x2
ands r1, r2
strb r1, [r0, 0x1]
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2]
movs r0, 0x7F
ands r0, r1
@@ -172,7 +172,7 @@ MovePlayerAvatarUsingKeypadInput: @ 808AAC0
lsrs r4, r1, 16
lsls r2, 16
lsrs r2, 16
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x6
ands r0, r1
@@ -197,7 +197,7 @@ _0808AAF0:
@ void PlayerAllowForcedMovementIfMovingSameDirection()
PlayerAllowForcedMovementIfMovingSameDirection: @ 808AAF8
push {lr}
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r0, [r2, 0x2]
cmp r0, 0x2
bne _0808AB0A
@@ -234,7 +234,7 @@ TryDoMetatileBehaviorForcedMovment: @ 808AB14
@ u8 GetForcedMovementByMetatileBehavior()
GetForcedMovementByMetatileBehavior: @ 808AB38
push {r4-r6,lr}
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r1, [r3]
movs r0, 0x20
ands r0, r1
@@ -280,7 +280,7 @@ _0808AB8C:
thumb_func_start ForcedMovement_None
ForcedMovement_None: @ 808AB94
push {r4,lr}
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r1, [r4]
movs r0, 0x40
ands r0, r1
@@ -325,7 +325,7 @@ DoForcedMovement: @ 808ABE0
mov r9, r1
lsls r0, 24
lsrs r5, r0, 24
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
adds r0, r5, 0
bl CheckForPlayerAvatarCollision
lsls r0, 24
@@ -381,7 +381,7 @@ _0808AC48:
DoForcedMovementInCurrentDirection: @ 808AC58
push {lr}
adds r1, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r2, [r0, 0x5]
lsls r0, r2, 3
adds r0, r2
@@ -523,7 +523,7 @@ ForcedMovement_Slide: @ 808AD60
push {r4,lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r3, [r2, 0x5]
lsls r2, r3, 3
adds r2, r3
@@ -618,7 +618,7 @@ ForcedMovement_0xBC: @ 808AE04
thumb_func_start ForcedMovement_MuddySlope
ForcedMovement_MuddySlope: @ 808AE10
push {r4,lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -691,7 +691,7 @@ CheckMovementInputNotOnBike: @ 808AE98
lsrs r4, r0, 24
cmp r4, 0
bne _0808AEB0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
strb r4, [r0, 0x2]
movs r0, 0
b _0808AED2
@@ -702,7 +702,7 @@ _0808AEB0:
lsrs r0, 24
cmp r4, r0
beq _0808AECC
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r0, [r1, 0x2]
cmp r0, 0x2
beq _0808AECC
@@ -710,7 +710,7 @@ _0808AEB0:
b _0808AED0
.pool
_0808AECC:
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x2
_0808AED0:
strb r0, [r1, 0x2]
@@ -784,7 +784,7 @@ _0808AF3C:
bl PlayerNotOnBikeCollide
b _0808AFB6
_0808AF4E:
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r1, [r4]
movs r0, 0x8
ands r0, r1
@@ -843,7 +843,7 @@ CheckForPlayerAvatarCollision: @ 808AFBC
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -894,7 +894,7 @@ sub_808B028: @ 808B028
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -1102,7 +1102,7 @@ sub_808B1BC: @ 808B1BC
lsrs r4, r1, 16
lsls r2, 24
lsrs r6, r2, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x8
ands r0, r1
@@ -1223,7 +1223,7 @@ sub_808B238: @ 808B238
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8088F58
+ bl MetatileBehavior_IsNonAnimDoor
lsls r0, 24
cmp r0, 0
bne _0808B2D8
@@ -1285,7 +1285,7 @@ IsPlayerCollidingWithFarawayIslandMew: @ 808B324
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r2, [r1, 0x5]
lsls r1, r2, 3
adds r1, r2
@@ -1369,7 +1369,7 @@ SetPlayerAvatarTransitionFlags: @ 808B3CC
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x1]
orrs r0, r1
strb r0, [r2, 0x1]
@@ -1383,7 +1383,7 @@ SetPlayerAvatarTransitionFlags: @ 808B3CC
@ void DoPlayerAvatarTransition()
DoPlayerAvatarTransition: @ 808B3E8
push {r4,r5,lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r4, [r0, 0x1]
cmp r4, 0
beq _0808B428
@@ -1396,7 +1396,7 @@ _0808B3F4:
ldr r0, =gUnknown_084974B8
lsls r2, r5, 2
adds r2, r0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1412,7 +1412,7 @@ _0808B416:
lsrs r4, 1
cmp r5, 0x7
bls _0808B3F4
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x1]
_0808B428:
@@ -1522,14 +1522,14 @@ PlayerAvatarTransition_Surfing: @ 808B4D8
bl FieldObjectTurn
movs r0, 0x8
bl SetPlayerAvatarStateMask
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r2, 0x10
ldrsh r0, [r4, r2]
str r0, [r1]
movs r2, 0x12
ldrsh r0, [r4, r2]
str r0, [r1, 0x4]
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
str r0, [r1, 0x8]
movs r0, 0x8
@@ -1574,7 +1574,7 @@ PlayerAvatarTransition_Underwater: @ 808B534
thumb_func_start PlayerAvatarTransition_ReturnToField
@ void PlayerAvatarTransition_ReturnToField(struct npc_state *fieldObject)
PlayerAvatarTransition_ReturnToField: @ 808B568
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2]
movs r0, 0x20
orrs r0, r1
@@ -1586,7 +1586,7 @@ PlayerAvatarTransition_ReturnToField: @ 808B568
thumb_func_start sub_808B578
sub_808B578: @ 808B578
push {r4,lr}
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
movs r0, 0
strb r0, [r4, 0x3]
bl PlayerIsAnimActive
@@ -1622,7 +1622,7 @@ _0808B5B6:
player_is_anim_in_certain_ranges: @ 808B5BC
push {lr}
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1673,7 +1673,7 @@ sub_808B618: @ 808B618
lsls r0, 24
cmp r0, 0
beq _0808B634
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x2]
cmp r0, 0x1
beq _0808B634
@@ -1691,7 +1691,7 @@ _0808B636:
@ bool8 PlayerIsAnimActive()
PlayerIsAnimActive: @ 808B63C
push {lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1710,7 +1710,7 @@ PlayerIsAnimActive: @ 808B63C
@ bool8 PlayerCheckIfAnimFinishedOrInactive()
PlayerCheckIfAnimFinishedOrInactive: @ 808B660
push {lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1728,7 +1728,7 @@ PlayerCheckIfAnimFinishedOrInactive: @ 808B660
thumb_func_start player_set_x22
player_set_x22: @ 808B684
ldr r3, =gMapObjects
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r2, [r1, 0x5]
lsls r1, r2, 3
adds r1, r2
@@ -1743,7 +1743,7 @@ player_set_x22: @ 808B684
thumb_func_start player_get_x22
player_get_x22: @ 808B6A0
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1761,7 +1761,7 @@ sub_808B6BC: @ 808B6BC
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r2, [r0, 0x5]
lsls r0, r2, 3
adds r0, r2
@@ -1788,7 +1788,7 @@ player_npc_set_state_and_x22_etc: @ 808B6E4
bne _0808B712
adds r0, r4, 0
bl player_set_x22
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2002,7 +2002,7 @@ PlayerJumpLedge: @ 808B840
thumb_func_start sub_808B864
sub_808B864: @ 808B864
push {r4,lr}
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r0, [r4, 0x3]
cmp r0, 0x2
beq _0808B872
@@ -2220,7 +2220,7 @@ PlayCollisionSoundIfNotFacingWarp: @ 808B9EC
lsls r0, 24
lsrs r4, r0, 24
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2255,7 +2255,7 @@ PlayCollisionSoundIfNotFacingWarp: @ 808B9EC
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl is_tile_x69_2_warp_door
+ bl MetatileBehavior_IsWarpDoor
lsls r0, 24
cmp r0, 0
bne _0808BA54
@@ -2276,7 +2276,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
adds r4, r0, 0
adds r5, r1, 0
ldr r3, =gMapObjects
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2308,7 +2308,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
PlayerGetDestCoords: @ 808BAAC
push {r4,r5,lr}
ldr r5, =gMapObjects
- ldr r4, =gUnknown_02037590
+ ldr r4, =gPlayerAvatar
ldrb r3, [r4, 0x5]
lsls r2, r3, 3
adds r2, r3
@@ -2334,7 +2334,7 @@ plaer_get_pos_including_state_based_drift: @ 808BADC
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2466,7 +2466,7 @@ _0808BC30:
@ u8 player_get_direction_lower_nybble()
player_get_direction_lower_nybble: @ 808BC38
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2483,7 +2483,7 @@ player_get_direction_lower_nybble: @ 808BC38
@ u8 player_get_direction_upper_nybble()
player_get_direction_upper_nybble: @ 808BC58
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2499,7 +2499,7 @@ player_get_direction_upper_nybble: @ 808BC58
@ u8 PlayerGetZCoord()
PlayerGetZCoord: @ 808BC74
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2516,7 +2516,7 @@ sub_808BC90: @ 808BC90
push {lr}
adds r3, r0, 0
adds r2, r1, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2537,7 +2537,7 @@ sub_808BC90: @ 808BC90
thumb_func_start TestPlayerAvatarFlags
@ u32 TestPlayerAvatarFlags(u32 mask)
TestPlayerAvatarFlags: @ 808BCC0
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1]
ands r1, r0
adds r0, r1, 0
@@ -2547,7 +2547,7 @@ TestPlayerAvatarFlags: @ 808BCC0
thumb_func_start sub_808BCD0
sub_808BCD0: @ 808BCD0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0]
bx lr
.pool
@@ -2556,7 +2556,7 @@ sub_808BCD0: @ 808BCD0
thumb_func_start GetPlayerAvatarObjectId
@ u8 GetPlayerAvatarObjectId()
GetPlayerAvatarObjectId: @ 808BCDC
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
bx lr
.pool
@@ -2573,7 +2573,7 @@ sub_808BCE8: @ 808BCE8
thumb_func_start sub_808BCF4
sub_808BCF4: @ 808BCF4
push {r4,lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -2659,7 +2659,7 @@ GetPlayerAvatarGraphicsIdByStateId: @ 808BD8C
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x7]
bl GetPlayerAvatarGraphicsIdByStateIdAndGender
lsls r0, 24
@@ -2804,7 +2804,7 @@ _0808BE70:
IsPlayerFacingSurfableFishableWater: @ 808BE74
push {r4,r5,lr}
sub sp, 0x4
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -2871,7 +2871,7 @@ _0808BEF6:
@ void ClearPlayerAvatarInfo()
ClearPlayerAvatarInfo: @ 808BF00
push {lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
movs r1, 0
movs r2, 0x24
bl memset
@@ -2885,7 +2885,7 @@ ClearPlayerAvatarInfo: @ 808BF00
SetPlayerAvatarStateMask: @ 808BF14
lsls r0, 24
lsrs r0, 24
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r2, [r3]
movs r1, 0xE0
ands r1, r2
@@ -2937,7 +2937,7 @@ _0808BF64:
@ u8 GetPlayerAvatarGraphicsIdByCurrentState()
GetPlayerAvatarGraphicsIdByCurrentState: @ 808BF6C
push {r4-r6,lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r5, [r0]
movs r2, 0
ldr r3, =gUnknown_0849750C
@@ -2980,7 +2980,7 @@ SetPlayerAvatarExtraStateTransition: @ 808BFB0
lsrs r0, 24
lsls r4, 24
lsrs r4, 24
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r1, [r5, 0x7]
bl GetPlayerAvatarStateTransitionByGraphicsId
lsls r0, 24
@@ -3072,7 +3072,7 @@ InitPlayerAvatar: @ 808BFE0
mov r1, r9
bl FieldObjectTurn
bl ClearPlayerAvatarInfo
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
strb r6, [r0, 0x2]
strb r6, [r0, 0x3]
strb r5, [r0, 0x5]
@@ -3098,7 +3098,7 @@ sub_808C0A8: @ 808C0A8
lsls r0, 24
lsrs r4, r0, 24
ldr r6, =gMapObjects
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x5]
lsls r1, r0, 3
adds r1, r0
@@ -3147,7 +3147,7 @@ _0808C100:
thumb_func_start sub_808C114
sub_808C114: @ 808C114
push {r4,r5,lr}
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -3181,7 +3181,7 @@ sub_808C15C: @ 808C15C
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r0, [r6, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -3222,7 +3222,7 @@ sub_808C1B4: @ 808C1B4
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r0, [r6, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -3271,7 +3271,7 @@ sub_808C228: @ 808C228
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r0, [r6, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -3424,7 +3424,7 @@ _0808C360:
ldrsh r3, [r4, r0]
lsls r3, 2
adds r3, r6
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r1, r0, 3
adds r1, r0
@@ -3453,7 +3453,7 @@ sub_808C3A4: @ 808C3A4
push {r4,lr}
adds r4, r0, 0
bl ScriptContext2_Enable
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
ldrh r0, [r4, 0x8]
@@ -3517,7 +3517,7 @@ _0808C3F0:
lsrs r1, 24
adds r0, r4, 0
bl FieldObjectSetSpecialAnim
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
movs r1, 0x10
ldrsh r0, [r4, r1]
str r0, [r2]
@@ -3571,7 +3571,7 @@ sub_808C484: @ 808C484
bl FieldObjectClearAnimIfSpecialAnimFinished
adds r0, r5, 0
bl FieldObjectClearAnimIfSpecialAnimFinished
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
bl ScriptContext2_Disable
@@ -3620,7 +3620,7 @@ _0808C50A:
ldrsh r2, [r4, r0]
lsls r2, 2
adds r2, r5
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r1, r0, 3
adds r1, r0
@@ -3644,7 +3644,7 @@ sub_808C544: @ 808C544
push {r4-r6,lr}
adds r6, r0, 0
adds r4, r1, 0
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
movs r0, 0x1
strb r0, [r5, 0x6]
adds r0, r4, 0
@@ -3721,7 +3721,7 @@ _0808C5E2:
ldrsh r2, [r4, r0]
lsls r2, 2
adds r2, r5
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r1, r0, 3
adds r1, r0
@@ -3749,7 +3749,7 @@ sub_808C61C: @ 808C61C
ldrb r1, [r1, 0x18]
lsrs r1, 4
strh r1, [r0, 0xA]
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
bl ScriptContext2_Enable
@@ -3873,7 +3873,7 @@ sub_808C6FC: @ 808C6FC
adds r0, r5, 0
bl FieldObjectSetSpecialAnim
bl ScriptContext2_Disable
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
ldr r0, =sub_808C5D0
@@ -3898,7 +3898,7 @@ sub_808C750: @ 808C750
bl ScriptContext2_Enable
bl sav1_reset_battle_music_maybe
bl sub_8085898
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2]
movs r0, 0xF7
ands r0, r1
@@ -3931,7 +3931,7 @@ taskFF_0805D1D4: @ 808C7A8
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -3978,7 +3978,7 @@ sub_808C814: @ 808C814
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r6, =gUnknown_02037590
+ ldr r6, =gPlayerAvatar
ldrb r1, [r6, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4083,7 +4083,7 @@ fish0: @ 808C8F8
push {r4,lr}
adds r4, r0, 0
bl ScriptContext2_Enable
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
ldrh r0, [r4, 0x8]
@@ -4128,7 +4128,7 @@ fish1: @ 808C918
adds r1, r0
strh r1, [r5, 0x22]
ldr r3, =gMapObjects
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -4366,7 +4366,7 @@ _0808CB30:
_0808CB32:
cmp r6, 0x1
bne _0808CB5C
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -4396,7 +4396,7 @@ fish6: @ 808CB6C
sub sp, 0xC
adds r5, r0, 0
bl sub_808CF78
- ldr r2, =gUnknown_085EE8F7
+ ldr r2, =gText_OhABite
movs r0, 0x11
str r0, [sp]
movs r4, 0
@@ -4526,7 +4526,7 @@ fish9: @ 808CC64
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EE903
+ ldr r2, =gText_PokemonOnHook
movs r5, 0
str r5, [sp]
movs r0, 0x2
@@ -4574,7 +4574,7 @@ _0808CCBC:
lsrs r6, r0, 16
cmp r6, 0
bne _0808CD50
- ldr r7, =gUnknown_02037590
+ ldr r7, =gPlayerAvatar
ldrb r0, [r7, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -4633,7 +4633,7 @@ _0808CD50:
cmp r0, 0
beq _0808CD80
_0808CD58:
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
bl ScriptContext2_Disable
@@ -4664,7 +4664,7 @@ fishB: @ 808CD94
sub sp, 0x10
adds r5, r0, 0
bl sub_808CF78
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -4683,7 +4683,7 @@ fishB: @ 808CD94
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EE91E
+ ldr r2, =gText_NotEvenANibble
movs r0, 0
str r0, [sp]
movs r0, 0x2
@@ -4712,7 +4712,7 @@ fishC: @ 808CE04
sub sp, 0x10
adds r5, r0, 0
bl sub_808CF78
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -4731,7 +4731,7 @@ fishC: @ 808CE04
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EE933
+ ldr r2, =gText_ItGotAway
movs r0, 0
str r0, [sp]
movs r0, 0x2
@@ -4777,7 +4777,7 @@ fishE: @ 808CE8C
adds r6, r0, 0
bl sub_808CF78
ldr r7, =gSprites
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x4]
lsls r1, r0, 4
adds r1, r0
@@ -4855,7 +4855,7 @@ fishF: @ 808CF2C
lsrs r1, r0, 16
cmp r1, 0
bne _0808CF68
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
strb r1, [r0, 0x6]
bl ScriptContext2_Disable
bl sub_809757C
@@ -4879,7 +4879,7 @@ _0808CF68:
thumb_func_start sub_808CF78
sub_808CF78: @ 808CF78
push {r4-r7,lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -4978,7 +4978,7 @@ _0808D02A:
movs r0, 0x8
strh r0, [r4, 0x26]
_0808D03A:
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r1, [r3]
movs r0, 0x8
ands r0, r1
@@ -5032,7 +5032,7 @@ sub_808D094: @ 808D094
lsls r0, 24
lsrs r0, 24
adds r2, r0, 0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -5212,7 +5212,7 @@ sub_808D1FC: @ 808D1FC
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
diff --git a/asm/field_poison.s b/asm/field_poison.s
index 8948b2762..5b1e24719 100644
--- a/asm/field_poison.s
+++ b/asm/field_poison.s
@@ -216,7 +216,7 @@ _080F96F0:
_080F96FC:
ldrb r0, [r4, 0x2]
bl sub_80F95C0
- ldr r0, =gUnknown_085ECF5D
+ ldr r0, =gText_PkmnFainted3
bl box_related_two__2
ldrh r0, [r4]
adds r0, 0x1
diff --git a/asm/field_region_map.s b/asm/field_region_map.s
index fc0a38de6..512dfb151 100644
--- a/asm/field_region_map.s
+++ b/asm/field_region_map.s
@@ -157,7 +157,7 @@ _08170300:
movs r2, 0x27
movs r3, 0xD
bl SetWindowBorderStyle
- ldr r5, =gUnknown_085EE8F1
+ ldr r5, =gText_Hoenn
movs r0, 0x1
adds r1, r5, 0
movs r2, 0x38
diff --git a/asm/field_screen.s b/asm/field_screen.s
index e30408654..0de68b86b 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -8248,7 +8248,7 @@ sub_80AF334: @ 80AF334
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8088EFC
+ bl MetatileBehavior_IsDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -8258,7 +8258,7 @@ sub_80AF334: @ 80AF334
.pool
_080AF36C:
adds r0, r4, 0
- bl sub_8088F58
+ bl MetatileBehavior_IsNonAnimDoor
lsls r0, 24
lsrs r0, 24
ldr r1, =task_map_chg_seq_0807E2CC
@@ -8725,7 +8725,7 @@ sub_80AF734: @ 80AF734
bl play_some_sound
movs r0, 0x9
bl PlaySE
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =mapldr_default
str r1, [r0]
ldr r0, =sub_80AFA0C
@@ -8743,7 +8743,7 @@ sp13E_warp_to_last_warp: @ 80AF76C
bl music_something
bl sub_80AF0B4
bl play_some_sound
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =mapldr_default
str r1, [r0]
ldr r0, =sub_80AFA0C
@@ -8763,7 +8763,7 @@ sub_80AF79C: @ 80AF79C
movs r1, 0x8
bl fade_screen
bl play_some_sound
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_80AF3B0
str r1, [r0]
ldr r0, =sub_80AFA0C
@@ -8778,7 +8778,7 @@ sub_80AF79C: @ 80AF79C
sub_80AF7D0: @ 80AF7D0
push {lr}
bl ScriptContext2_Enable
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =mapldr_default
str r1, [r0]
ldr r0, =sub_80AFA88
@@ -8793,7 +8793,7 @@ sub_80AF7D0: @ 80AF7D0
sp13F_fall_to_last_warp: @ 80AF7F4
push {lr}
bl sp13E_warp_to_last_warp
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80B6B68
str r0, [r1]
pop {r0}
@@ -8847,7 +8847,7 @@ sub_80AF848: @ 80AF848
ldr r0, =sub_80AFA0C
movs r1, 0xA
bl CreateTask
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF3E8
str r0, [r1]
pop {r0}
@@ -8869,7 +8869,7 @@ sub_80AF87C: @ 80AF87C
ldr r0, =sub_80AFA0C
movs r1, 0xA
bl CreateTask
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF40C
str r0, [r1]
pop {r0}
@@ -8885,7 +8885,7 @@ sub_80AF8B8: @ 80AF8B8
ldr r0, =sub_80AFA0C
movs r1, 0xA
bl CreateTask
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80FB768
str r0, [r1]
pop {r0}
@@ -9328,7 +9328,7 @@ sub_80AFC60: @ 80AFC60
bl play_some_sound
movs r0, 0x9
bl PlaySE
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_80AF3C8
str r1, [r0]
ldr r0, =task0A_fade_n_map_maybe
@@ -10078,7 +10078,7 @@ sub_80B0244: @ 80B0244
ldr r0, =sub_80AFA0C
movs r1, 0xA
bl CreateTask
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF3E8
str r0, [r1]
pop {r0}
@@ -10090,7 +10090,7 @@ sub_80B0244: @ 80B0244
sub_80B0268: @ 80B0268
push {lr}
bl ScriptContext2_Enable
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =mapldr_default
str r1, [r0]
ldr r0, =sub_80B01BC
diff --git a/asm/field_tasks.s b/asm/field_tasks.s
index 0abd11da4..6f8174fd8 100644
--- a/asm/field_tasks.s
+++ b/asm/field_tasks.s
@@ -221,7 +221,7 @@ sub_809DA30: @ 809DA30
lsls r1, 24
lsrs r4, r1, 24
adds r0, r4, 0
- bl sub_8089764
+ bl MetatileBehavior_IsPacifilogVerticalLog1
lsls r0, 24
cmp r0, 0
beq _0809DA48
@@ -229,7 +229,7 @@ sub_809DA30: @ 809DA30
b _0809DA80
_0809DA48:
adds r0, r4, 0
- bl sub_8089778
+ bl MetatileBehavior_IsPacifilogVerticalLog2
lsls r0, 24
cmp r0, 0
beq _0809DA5A
@@ -238,7 +238,7 @@ _0809DA48:
b _0809DA80
_0809DA5A:
adds r0, r4, 0
- bl sub_808978C
+ bl MetatileBehavior_IsPacifilogHorizontalLog1
lsls r0, 24
cmp r0, 0
beq _0809DA6C
@@ -247,7 +247,7 @@ _0809DA5A:
b _0809DA80
_0809DA6C:
adds r0, r4, 0
- bl sub_80897A0
+ bl MetatileBehavior_IsPacifilogHorizontalLog2
lsls r0, 24
cmp r0, 0
bne _0809DA7C
@@ -414,7 +414,7 @@ sub_809DB7C: @ 809DB7C
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8089764
+ bl MetatileBehavior_IsPacifilogVerticalLog1
lsls r0, 24
cmp r0, 0
beq _0809DBC0
@@ -427,7 +427,7 @@ _0809DBBC:
b _0809DC08
_0809DBC0:
adds r0, r4, 0
- bl sub_8089778
+ bl MetatileBehavior_IsPacifilogVerticalLog2
lsls r0, 24
cmp r0, 0
beq _0809DBD8
@@ -439,7 +439,7 @@ _0809DBC0:
b _0809DBBC
_0809DBD8:
adds r0, r4, 0
- bl sub_808978C
+ bl MetatileBehavior_IsPacifilogHorizontalLog1
lsls r0, 24
cmp r0, 0
beq _0809DBF0
@@ -451,7 +451,7 @@ _0809DBD8:
b _0809DBBC
_0809DBF0:
adds r0, r4, 0
- bl sub_80897A0
+ bl MetatileBehavior_IsPacifilogHorizontalLog2
lsls r0, 24
cmp r0, 0
beq _0809DC06
@@ -496,7 +496,7 @@ sub_809DC18: @ 809DC18
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8089764
+ bl MetatileBehavior_IsPacifilogVerticalLog1
lsls r0, 24
cmp r0, 0
beq _0809DC5C
@@ -509,7 +509,7 @@ _0809DC58:
b _0809DCA4
_0809DC5C:
adds r0, r4, 0
- bl sub_8089778
+ bl MetatileBehavior_IsPacifilogVerticalLog2
lsls r0, 24
cmp r0, 0
beq _0809DC74
@@ -521,7 +521,7 @@ _0809DC5C:
b _0809DC58
_0809DC74:
adds r0, r4, 0
- bl sub_808978C
+ bl MetatileBehavior_IsPacifilogHorizontalLog1
lsls r0, 24
cmp r0, 0
beq _0809DC8C
@@ -533,7 +533,7 @@ _0809DC74:
b _0809DC58
_0809DC8C:
adds r0, r4, 0
- bl sub_80897A0
+ bl MetatileBehavior_IsPacifilogHorizontalLog2
lsls r0, 24
cmp r0, 0
beq _0809DCA2
@@ -1326,7 +1326,7 @@ _0809E29A:
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
- bl sub_8089604
+ bl MetatileBehavior_IsThinIce
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1341,7 +1341,7 @@ _0809E29A:
.pool
_0809E2E0:
adds r0, r4, 0
- bl sub_8089618
+ bl MetatileBehavior_IsCrackedIce
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1630,7 +1630,7 @@ _0809E53E:
lsls r0, r6, 24
lsrs r6, r0, 24
adds r0, r6, 0
- bl sub_8089918
+ bl MetatileBehavior_IsCrackedFloorHole
lsls r0, 24
cmp r0, 0
beq _0809E556
@@ -1658,7 +1658,7 @@ _0809E572:
ldrh r0, [r4]
strh r0, [r5, 0x6]
adds r0, r6, 0
- bl sub_808992C
+ bl MetatileBehavior_IsCrackedFloor
lsls r0, 24
cmp r0, 0
beq _0809E5D2
@@ -1858,7 +1858,7 @@ _0809E6F8:
cmp r6, 0xD
ble _0809E6F8
_0809E708:
- ldr r2, =gUnknown_02037334
+ ldr r2, =gCamera
ldrb r1, [r2]
movs r0, 0x1
ands r0, r1
diff --git a/asm/fieldmap.s b/asm/fieldmap.s
index d2416248f..dbb8a3fa3 100644
--- a/asm/fieldmap.s
+++ b/asm/fieldmap.s
@@ -1508,12 +1508,12 @@ CameraMove: @ 808887C
push {r5-r7}
mov r10, r0
mov r9, r1
- ldr r1, =gUnknown_02037334
+ ldr r1, =gCamera
ldrb r0, [r1]
movs r1, 0x2
negs r1, r1
ands r1, r0
- ldr r2, =gUnknown_02037334
+ ldr r2, =gCamera
strb r1, [r2]
mov r0, r10
mov r1, r9
@@ -1556,23 +1556,23 @@ _080888C4:
ldrb r0, [r4, 0x8]
ldrb r1, [r4, 0x9]
bl mliX_load_map
- ldr r1, =gUnknown_02037334
+ ldr r1, =gCamera
ldrb r0, [r1]
movs r1, 0x1
orrs r0, r1
- ldr r2, =gUnknown_02037334
+ ldr r2, =gCamera
strb r0, [r2]
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
movs r2, 0
ldrsh r0, [r1, r2]
subs r5, r0
- ldr r0, =gUnknown_02037334
+ ldr r0, =gCamera
str r5, [r0, 0x4]
movs r2, 0x2
ldrsh r0, [r1, r2]
subs r6, r0
- ldr r0, =gUnknown_02037334
+ ldr r0, =gCamera
str r6, [r0, 0x8]
ldrh r0, [r1]
add r0, r10
@@ -1583,7 +1583,7 @@ _080888C4:
mov r0, r8
bl sub_80885C4
_08088932:
- ldr r0, =gUnknown_02037334
+ ldr r0, =gCamera
ldrb r0, [r0]
lsls r0, 31
lsrs r0, 31
diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
index f783547e1..3ad2a398b 100644
--- a/asm/fldeff_80F9BCC.s
+++ b/asm/fldeff_80F9BCC.s
@@ -480,13 +480,13 @@ sub_80F9F5C: @ 80F9F5C
thumb_func_start sub_80F9F78
sub_80F9F78: @ 80F9F78
push {lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0]
movs r0, 0x6
ands r0, r1
cmp r0, 0
beq _080F9FC0
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
ldr r0, [r1, 0x4]
cmp r0, 0x2
beq _080F9FAE
@@ -517,7 +517,7 @@ _080F9FB6:
movs r0, 0x18
b _080F9FFC
_080F9FC0:
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
ldr r0, [r1, 0x4]
cmp r0, 0x2
beq _080F9FEA
@@ -584,7 +584,7 @@ sub_80FA004: @ 80FA004
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_808923C
+ bl MetatileBehavior_IsSecretBaseCave
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -599,7 +599,7 @@ sub_80FA004: @ 80FA004
.pool
_080FA070:
adds r0, r4, 0
- bl sub_808925C
+ bl MetatileBehavior_IsSecretBaseTree
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -614,7 +614,7 @@ _080FA070:
.pool
_080FA0A0:
adds r0, r4, 0
- bl is_tile_x98
+ bl MetatileBehavior_IsSecretBaseShrub
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -643,7 +643,7 @@ _080FA0C4:
sub_80FA0DC: @ 80FA0DC
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -692,7 +692,7 @@ sub_80FA13C: @ 80FA13C
bl sub_80F9F78
ldr r0, =gUnknown_0858E600
ldr r3, =gSprites
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x4]
lsls r2, r1, 4
adds r2, r1
@@ -701,7 +701,7 @@ sub_80FA13C: @ 80FA13C
ldrh r1, [r2, 0x2]
lsls r1, 23
lsrs r1, 23
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r3, [r4, 0x14]
adds r1, r3
lsls r1, 16
@@ -778,7 +778,7 @@ sub_80FA1D8: @ 80FA1D8
sub_80FA1E8: @ 80FA1E8
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -836,20 +836,20 @@ sub_80FA248: @ 80FA248
ands r2, r0
cmp r2, 0x96
bne _080FA26A
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r0, 0
str r0, [r1, 0x1C]
_080FA26A:
cmp r2, 0x9C
bne _080FA274
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
movs r0, 0x2
str r0, [r1, 0x1C]
_080FA274:
bl sub_80F9F78
ldr r0, =gUnknown_0858E618
ldr r3, =gSprites
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x4]
lsls r2, r1, 4
adds r2, r1
@@ -858,7 +858,7 @@ _080FA274:
ldrh r1, [r2, 0x2]
lsls r1, 23
lsrs r1, 23
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r3, [r4, 0x14]
adds r1, r3
lsls r1, 16
@@ -891,7 +891,7 @@ sub_80FA2D8: @ 80FA2D8
adds r4, r0, 0
movs r0, 0x9B
bl PlaySE
- ldr r0, =gUnknown_02038C08
+ ldr r0, =gFieldEffectSpawnParams
ldr r1, [r0, 0x1C]
adds r2, r4, 0
adds r2, 0x2A
@@ -917,7 +917,7 @@ sub_80FA304: @ 80FA304
asrs r0, 16
cmp r0, 0x27
ble _080FA32E
- ldr r0, =gUnknown_02038C08
+ ldr r0, =gFieldEffectSpawnParams
ldr r0, [r0, 0x1C]
cmp r0, 0
beq _080FA322
@@ -951,7 +951,7 @@ sub_80FA33C: @ 80FA33C
sub_80FA34C: @ 80FA34C
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -1000,7 +1000,7 @@ sub_80FA3AC: @ 80FA3AC
bl sub_80F9F78
ldr r0, =gUnknown_0858E630
ldr r3, =gSprites
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x4]
lsls r2, r1, 4
adds r2, r1
@@ -1009,7 +1009,7 @@ sub_80FA3AC: @ 80FA3AC
ldrh r1, [r2, 0x2]
lsls r1, 23
lsrs r1, 23
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r3, [r4, 0x14]
adds r1, r3
lsls r1, 16
@@ -1723,7 +1723,7 @@ sub_80FA9D0: @ 80FA9D0
push {r4,lr}
sub sp, 0x4
ldr r3, =gMapObjects
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1807,7 +1807,7 @@ sub_80FAA7C: @ 80FAA7C
mov r0, sp
adds r1, r4, 0
bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
mov r0, sp
movs r2, 0
ldrsh r0, [r0, r2]
@@ -1835,7 +1835,7 @@ _080FAABC:
_080FAAC6:
ldr r0, =gUnknown_0858E68C
ldr r3, =gSprites
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x4]
lsls r2, r1, 4
adds r2, r1
@@ -1857,7 +1857,7 @@ _080FAAC6:
_080FAAFC:
ldr r0, =gUnknown_0858E68C
ldr r3, =gSprites
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x4]
lsls r2, r1, 4
adds r2, r1
@@ -1876,7 +1876,7 @@ _080FAAFC:
_080FAB2C:
ldr r0, =gUnknown_0858E68C
ldr r3, =gSprites
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x4]
lsls r2, r1, 4
adds r2, r1
@@ -1898,7 +1898,7 @@ _080FAB4C:
_080FAB64:
ldr r0, =gUnknown_0858E68C
ldr r3, =gSprites
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r1, [r1, 0x4]
lsls r2, r1, 4
adds r2, r1
@@ -1930,7 +1930,7 @@ door_restore_tilemap: @ 80FABA4
adds r5, r0, 0
movs r0, 0x83
bl PlaySE
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r0, [r4, 0x14]
ldr r1, [r4, 0x18]
subs r1, 0x1
@@ -1953,7 +1953,7 @@ _080FABDC:
lsls r2, 2
bl MapGridSetMetatileIdAt
_080FABEA:
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r0, [r4, 0x14]
ldr r1, [r4, 0x18]
ldr r2, =0x0000020a
@@ -1988,7 +1988,7 @@ sub_80FAC24: @ 80FAC24
strh r0, [r5, 0x2E]
b _080FAC54
_080FAC38:
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r0, [r4, 0x14]
ldr r1, [r4, 0x18]
ldr r2, =0x00000e8c
@@ -2061,7 +2061,7 @@ _080FACC2:
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085EA88B
+ ldr r1, =gText_Gold
bl StringCopy
ldr r1, =gScriptResult
movs r0, 0
@@ -2085,7 +2085,7 @@ _080FAD14:
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085EA890
+ ldr r1, =gText_Silver
bl StringCopy
ldr r1, =gScriptResult
movs r0, 0
@@ -2307,7 +2307,7 @@ sub_80FAEF0: @ 80FAEF0
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2357,7 +2357,7 @@ sub_80FAF64: @ 80FAF64
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
index dc962ef61..7f67185a9 100755
--- a/asm/fldeff_cut.s
+++ b/asm/fldeff_cut.s
@@ -130,7 +130,7 @@ _080D37F6:
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8088E64
+ bl MetatileBehavior_IsPokeGrass
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -175,7 +175,7 @@ _080D3890:
movs r0, 0x1
strb r0, [r1]
adds r0, r4, 0
- bl sub_80899F8
+ bl MetatileBehavior_IsCuttableGrass
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1
@@ -309,7 +309,7 @@ _080D395A:
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8088E64
+ bl MetatileBehavior_IsPokeGrass
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -339,7 +339,7 @@ _080D39F4:
b _080D395A
_080D39F8:
adds r0, r4, 0
- bl sub_80899F8
+ bl MetatileBehavior_IsCuttableGrass
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1
@@ -385,7 +385,7 @@ hm2_ruin_valley: @ 80D3A50
movs r0, 0x1
bl FieldEffectStart
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -421,7 +421,7 @@ sub_80D3A6C: @ 80D3A6C
sub_80D3A9C: @ 80D3A9C
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -542,7 +542,7 @@ _080D3B64:
movs r6, 0
ldr r5, =gSprites
_080D3BA0:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -1344,7 +1344,7 @@ sub_80D423C: @ 80D423C
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl MetatileBehavior_IsLongGrass2
+ bl MetatileBehavior_IsLongGrass_Duplicate
lsls r0, 24
cmp r0, 0
beq _080D42AE
diff --git a/asm/fldeff_emotion.s b/asm/fldeff_emotion.s
index f8b66da0d..37096a438 100644
--- a/asm/fldeff_emotion.s
+++ b/asm/fldeff_emotion.s
@@ -115,7 +115,7 @@ sub_80B46D8: @ 80B46D8
orrs r3, r4
mov r4, r12
strb r3, [r4]
- ldr r4, =gUnknown_02038C08
+ ldr r4, =gFieldEffectSpawnParams
ldr r3, [r4]
strh r3, [r0, 0x2E]
ldr r3, [r4, 0x4]
@@ -296,7 +296,7 @@ sub_80B4808: @ 80B4808
b _080B489E
.pool
_080B4870:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
diff --git a/asm/fldeff_groundshake.s b/asm/fldeff_groundshake.s
index 8fcdc0396..cb0d2e2d8 100755
--- a/asm/fldeff_groundshake.s
+++ b/asm/fldeff_groundshake.s
@@ -235,7 +235,7 @@ sub_81BE808: @ 81BE808
ldrh r1, [r0, 0x26]
adds r1, 0x4
strh r1, [r0, 0x26]
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r1, r0, 3
adds r1, r0
diff --git a/asm/fldeff_softboiled.s b/asm/fldeff_softboiled.s
index 2de098970..48d968d20 100755
--- a/asm/fldeff_softboiled.s
+++ b/asm/fldeff_softboiled.s
@@ -221,7 +221,7 @@ sub_81616C0: @ 81616C0
ldr r1, =gStringVar1
bl GetMonNickname
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9C17
+ ldr r1, =gText_PkmnHPRestoredByVar2
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -318,7 +318,7 @@ sub_81617B8: @ 81617B8
lsrs r4, 24
movs r0, 0x5
bl PlaySE
- ldr r0, =gUnknown_085E9712
+ ldr r0, =gText_CantBeUsedOnPkmn
movs r1, 0
bl sub_81B1B5C
movs r0, 0x2
diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s
index 3dc64467e..98764625e 100644
--- a/asm/fldeff_strength.s
+++ b/asm/fldeff_strength.s
@@ -40,7 +40,7 @@ _08145DF2:
sub_8145E0C: @ 8145E0C
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -66,7 +66,7 @@ sub_8145E2C: @ 8145E2C
lsrs r0, r2, 16
strh r0, [r1, 0x18]
strh r2, [r1, 0x1A]
- ldr r0, =gUnknown_02038C08
+ ldr r0, =gFieldEffectSpawnParams
ldr r1, [r0]
movs r0, 0x64
muls r0, r1
diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s
index a297dd41d..5c83b455d 100644
--- a/asm/fldeff_sweetscent.s
+++ b/asm/fldeff_sweetscent.s
@@ -24,7 +24,7 @@ hm2_sweet_scent: @ 8159F10
movs r0, 0x33
bl FieldEffectStart
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -217,4 +217,4 @@ _0815A0BE:
thumb_func_end sub_815A090
.align 2, 0 @ Don't pad with nop.
- \ No newline at end of file
+
diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s
index f3dc3ec9b..e4f4bce42 100644
--- a/asm/fldeff_teleport.s
+++ b/asm/fldeff_teleport.s
@@ -39,7 +39,7 @@ hm_teleport_run_dp02scr: @ 817C8FC
movs r0, 0x3F
bl FieldEffectStart
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
diff --git a/asm/intro.s b/asm/intro.s
index efd52e7fd..cd8f7c2d8 100644
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -376,11 +376,11 @@ task_intro_1: @ 816CF18
movs r0, 0x12
movs r1, 0x28
bl SetGpuReg
- ldr r0, =gUnknown_085E13B4
+ ldr r0, =gIntro1BGLeavesGfx
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
- ldr r0, =gUnknown_085E07C4
+ ldr r0, =gIntro1BG0_Tilemap
ldr r1, =0x06008000
bl LZ77UnCompVram
ldr r1, =0x06008800
@@ -393,7 +393,7 @@ task_intro_1: @ 816CF18
ldr r5, =0x81000400
str r5, [r4, 0x8]
ldr r0, [r4, 0x8]
- ldr r0, =gUnknown_085E0B78
+ ldr r0, =gIntro1BG1_Tilemap
ldr r1, =0x06009000
bl LZ77UnCompVram
ldr r1, =0x06009800
@@ -403,7 +403,7 @@ task_intro_1: @ 816CF18
str r1, [r4, 0x4]
str r5, [r4, 0x8]
ldr r0, [r4, 0x8]
- ldr r0, =gUnknown_085E0EAC
+ ldr r0, =gIntro1BG2_Tilemap
ldr r1, =0x0600a000
bl LZ77UnCompVram
ldr r1, =0x0600a800
@@ -413,7 +413,7 @@ task_intro_1: @ 816CF18
str r1, [r4, 0x4]
str r5, [r4, 0x8]
ldr r0, [r4, 0x8]
- ldr r0, =gUnknown_085E119C
+ ldr r0, =gIntro1BG3_Tilemap
ldr r1, =0x0600b000
bl LZ77UnCompVram
ldr r1, =0x0600b800
@@ -423,7 +423,7 @@ task_intro_1: @ 816CF18
str r1, [r4, 0x4]
str r5, [r4, 0x8]
ldr r0, [r4, 0x8]
- ldr r0, =gUnknown_085E05C4
+ ldr r0, =gIntro1BGPals
movs r5, 0x80
lsls r5, 2
movs r1, 0
@@ -1779,14 +1779,14 @@ task_intro_10: @ 816DBAC
lsls r5, 24
lsrs r5, 24
bl intro_reset_and_hide_bgs
- ldr r0, =gUnknown_085E3854
+ ldr r0, =gIntro3Pokeball_Gfx
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
- ldr r0, =gUnknown_085E3724
+ ldr r0, =gIntro3Pokeball_Tilemap
ldr r1, =0x06004000
bl LZ77UnCompVram
- ldr r0, =gUnknown_085E3524
+ ldr r0, =gIntro3PokeballPal
movs r2, 0x80
lsls r2, 2
movs r1, 0
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 914fdf2b3..c1f94b4e9 100755
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -437,7 +437,7 @@ _081AAF0C:
b _081AB012
.pool
_081AAF1C:
- ldr r1, =gPocketNames
+ ldr r1, =gPocketNamesStringsTable
ldr r4, =gUnknown_0203CE58
ldrb r0, [r4, 0x5]
lsls r0, 2
@@ -972,7 +972,7 @@ _081AB3C0:
movs r2, 0x2
movs r3, 0x1
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085E921A
+ ldr r1, =gText_ClearTo11Var1Clear5Var2
b _081AB438
.pool
_081AB408:
@@ -995,7 +995,7 @@ _081AB420:
adds r0, r5, 0
bl CopyItemName
_081AB436:
- ldr r1, =gUnknown_085E9210
+ ldr r1, =gText_UnkF908Var1Clear7Var2
_081AB438:
adds r0, r6, 0
bl StringExpandPlaceholders
@@ -1297,7 +1297,7 @@ bag_menu_print_description_box_text: @ 81AB6B0
.pool
_081AB6E0:
ldr r0, =gStringVar1
- ldr r2, =gUnknown_085E9180
+ ldr r2, =gReturnToXStringsTable
ldr r1, =gUnknown_0203CE58
ldrb r1, [r1, 0x4]
lsls r1, 2
@@ -2423,7 +2423,7 @@ _081AC026:
adds r5, r0, 0
cmp r1, 0x1
bne _081AC07C
- ldr r2, =gPocketNames
+ ldr r2, =gPocketNamesStringsTable
ldrb r0, [r4, 0x5]
lsls r0, 2
adds r0, r2
@@ -2439,7 +2439,7 @@ _081AC026:
b _081AC09A
.pool
_081AC07C:
- ldr r2, =gPocketNames
+ ldr r2, =gPocketNamesStringsTable
add r0, sp, 0x8
ldrb r0, [r0]
lsls r0, 2
@@ -4808,7 +4808,7 @@ display_sell_item_ask_str: @ 81AD5DC
ldr r1, =gStringVar2
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E960F
+ ldr r1, =gText_CantBuyKeyItem
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r3, =bag_menu_inits_lists_menu
@@ -4834,7 +4834,7 @@ _081AD64C:
ldr r1, =gStringVar2
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E962F
+ ldr r1, =gText_HowManyToSell
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r3, =sub_81AD730
@@ -4874,7 +4874,7 @@ sub_81AD680: @ 81AD680
movs r3, 0x6
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9654
+ ldr r1, =gText_ICanPayVar1
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r3, =sub_81AD6E4
@@ -5079,7 +5079,7 @@ sub_81AD84C: @ 81AD84C
movs r3, 0x6
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9677
+ ldr r1, =gText_TurnedOverVar1ForVar2
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r3, =sub_81AD8C8
@@ -5744,7 +5744,7 @@ unknown_ItemMenu_Show: @ 81ADE38
thumb_func_start bag_menu_leave_maybe_3
bag_menu_leave_maybe_3: @ 81ADE6C
push {lr}
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_819FA50
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -5779,7 +5779,7 @@ unknown_ItemMenu_Give2: @ 81ADE8C
thumb_func_start bag_menu_leave_maybe_2
bag_menu_leave_maybe_2: @ 81ADEBC
push {lr}
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_818DEF4
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -5810,7 +5810,7 @@ unknown_ItemMenu_Confirm2: @ 81ADEDC
thumb_func_start bag_menu_leave_maybe
bag_menu_leave_maybe: @ 81ADF00
push {lr}
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_818E564
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -6237,7 +6237,7 @@ bag_menu_AddMoney_window: @ 81AE268
adds r0, r4, 0
movs r1, 0x1
movs r2, 0xE
- bl set_window_border_style_and_print_money_box
+ bl PrintMoneyAmountInMoneyBoxWithBorder
movs r0, 0x13
movs r1, 0xB
bl AddMoneyLabelObject
diff --git a/asm/item_use.s b/asm/item_use.s
index a2488b6df..42b2d8bc0 100644
--- a/asm/item_use.s
+++ b/asm/item_use.s
@@ -77,7 +77,7 @@ SetUpItemUseOnFieldCallback: @ 80FD0DC
ldrsh r0, [r0, r1]
cmp r0, 0x1
beq _080FD110
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =MapPostLoadHook_UseItem
str r0, [r1]
adds r0, r2, 0
@@ -464,7 +464,7 @@ _080FD3EC:
_080FD40C:
lsls r0, r6, 24
lsrs r0, 24
- bl sub_8089510
+ bl MetatileBehavior_8089510
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1477,7 +1477,7 @@ _080FDB98:
b _080FDBDA
.pool
_080FDBC8:
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_80AF6D4
str r1, [r0]
movs r0, 0x1
@@ -1630,7 +1630,7 @@ sub_80FDD10: @ 80FDD10
ldr r1, =gUnknown_0203A0F4
ldr r0, =sub_80FDD74
str r0, [r1]
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =MapPostLoadHook_UseItem
str r0, [r1]
ldr r0, =gUnknown_0203CE54
@@ -2510,7 +2510,7 @@ ItemUseInBattle_StatIncrease: @ 80FE4B8
lsls r0, 24
cmp r0, 0
bne _080FE518
- ldr r2, =gUnknown_085E96F6
+ ldr r2, =gText_WontHaveEffect
ldr r3, =bag_menu_inits_lists_menu
adds r0, r4, 0
movs r1, 0x1
@@ -2518,7 +2518,7 @@ ItemUseInBattle_StatIncrease: @ 80FE4B8
b _080FE53C
.pool
_080FE518:
- ldr r1, =gUnknown_085E96F6
+ ldr r1, =gText_WontHaveEffect
ldr r2, =sub_81C6714
adds r0, r4, 0
bl DisplayItemMessageInBattlePyramid
diff --git a/asm/learn_move.s b/asm/learn_move.s
index c2ef76350..159b16f7e 100755
--- a/asm/learn_move.s
+++ b/asm/learn_move.s
@@ -49,7 +49,7 @@ sub_8160664: @ 8160664
bne _08160688
ldr r0, =sub_81606A0
bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
adds r0, r4, 0
@@ -377,7 +377,7 @@ _081609A8:
ldr r1, =0xffff0000
cmp r0, r1
beq _08160A04
- ldr r0, =gUnknown_085EF8E4
+ ldr r0, =gText_PkmnLearnedMove4
bl sub_816084C
ldr r1, =gSpecialVar_0x8004
movs r0, 0x1
@@ -471,7 +471,7 @@ _08160AAA:
b _08160E88
.pool
_08160AB8:
- ldr r0, =gUnknown_085EF8F3
+ ldr r0, =gText_PkmnTryingToLearnMove
bl sub_816084C
ldr r0, =gUnknown_0203BC34
ldr r1, [r0]
@@ -498,7 +498,7 @@ _08160AEC:
asrs r1, r0, 24
cmp r1, 0
bne _08160B10
- ldr r0, =gUnknown_085EFA10
+ ldr r0, =gText_WhichMoveToForget2
bl sub_816084C
ldr r0, =gUnknown_0203BC34
ldr r1, [r0]
@@ -528,7 +528,7 @@ _08160B2C:
adds r1, r0
adds r0, r4, 0
bl StringCopy
- ldr r0, =gUnknown_085EF960
+ ldr r0, =gText_StopTryingToTeachMove
bl sub_816084C
ldr r0, =gUnknown_0203BC34
ldr r1, [r0]
@@ -819,7 +819,7 @@ _08160D6C:
adds r1, r6
adds r0, r4, 0
bl StringCopy
- ldr r0, =gUnknown_085EF979
+ ldr r0, =gText_12AndPoof
bl sub_816084C
ldr r1, [r7]
movs r0, 0x1E
@@ -834,7 +834,7 @@ _08160E0C:
lsls r0, 16
cmp r0, 0
bne _08160E8A
- ldr r0, =gUnknown_085EF9A6
+ ldr r0, =gText_PkmnForgotMoveAndLearnedNew
bl sub_816084C
ldr r0, =gUnknown_0203BC34
ldr r1, [r0]
@@ -946,7 +946,7 @@ _08160EF0:
cmp r5, 0
bne _08160F38
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EF8C2
+ ldr r1, =gText_TeachWhichMoveToPkmn
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0x3
@@ -1042,7 +1042,7 @@ _08160FE4:
movs r0, 0xC
strb r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EF9E6
+ ldr r1, =gText_GiveUpTeachingNewMove
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -1063,7 +1063,7 @@ _08161010:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EF8DA
+ ldr r1, =gText_TeachX
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -1100,7 +1100,7 @@ sub_8161074: @ 8161074
cmp r5, 0
bne _081610A6
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EF8C2
+ ldr r1, =gText_TeachWhichMoveToPkmn
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0x3
diff --git a/asm/librfu.s b/asm/librfu.s
index d8ca7538c..129e0f34a 100644
--- a/asm/librfu.s
+++ b/asm/librfu.s
@@ -2762,7 +2762,7 @@ sub_82E424C: @ 82E424C
b _082E4266
.align 2, 0
_082E4254: .4byte gUnknown_089A324C
-_082E4258: .4byte gUnknown_030000F0
+_082E4258: .4byte gDma3Requests + 0xE0
thumb_func_end sub_82E424C
thumb_func_start sub_82E425C
@@ -2810,7 +2810,7 @@ _082E4274:
movs r0, 0
b _082E42BE
.align 2, 0
-_082E42B0: .4byte gUnknown_030000FA
+_082E42B0: .4byte gDma3Requests + 0xEA
_082E42B4: .4byte gUnknown_03007890
_082E42B8: .4byte gUnknown_03007894
_082E42BC:
diff --git a/asm/lilycove_lady.s b/asm/lilycove_lady.s
deleted file mode 100644
index fca8cb29b..000000000
--- a/asm/lilycove_lady.s
+++ /dev/null
@@ -1,1931 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetLilycoveLadyId
-GetLilycoveLadyId: @ 818D9AC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetLilycoveLadyId
-
- thumb_func_start sub_818D9C0
-sub_818D9C0: @ 818D9C0
- push {r4,r5,lr}
- ldr r5, =0x00004010
- ldr r4, =gUnknown_0860B07E
- bl GetLilycoveLadyId
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r5, 0
- bl VarSet
- bl GetLilycoveLadyId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0818DA20
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00003b58
- adds r1, r0
- ldr r0, =0x00004011
- ldr r2, =gUnknown_0860B074
- ldrb r1, [r1, 0xD]
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- bl VarSet
- ldr r1, =gScriptResult
- movs r0, 0x1
- b _0818DA24
- .pool
-_0818DA20:
- ldr r1, =gScriptResult
- movs r0, 0
-_0818DA24:
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818D9C0
-
- thumb_func_start SetLilycoveLady
-SetLilycoveLady: @ 818DA30
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 17
- adds r1, r0, 0
- cmp r0, 0x1
- beq _0818DA68
- cmp r0, 0x1
- bgt _0818DA5C
- cmp r0, 0
- beq _0818DA62
- b _0818DA72
- .pool
-_0818DA5C:
- cmp r1, 0x2
- beq _0818DA6E
- b _0818DA72
-_0818DA62:
- bl SetLilycoveQuizLady
- b _0818DA72
-_0818DA68:
- bl SetLilycoveFavourLady
- b _0818DA72
-_0818DA6E:
- bl SetLilycoveContestLady
-_0818DA72:
- pop {r0}
- bx r0
- thumb_func_end SetLilycoveLady
-
- thumb_func_start sub_818DA78
-sub_818DA78: @ 818DA78
- push {lr}
- bl GetLilycoveLadyId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0818DA9C
- cmp r0, 0x1
- bgt _0818DA90
- cmp r0, 0
- beq _0818DA96
- b _0818DAA6
-_0818DA90:
- cmp r0, 0x2
- beq _0818DAA2
- b _0818DAA6
-_0818DA96:
- bl sub_818E004
- b _0818DAA6
-_0818DA9C:
- bl sub_818DBC4
- b _0818DAA6
-_0818DAA2:
- bl sub_818E674
-_0818DAA6:
- pop {r0}
- bx r0
- thumb_func_end sub_818DA78
-
-@ unused
- thumb_func_start SetLilycoveLadyRandomly
-SetLilycoveLadyRandomly: @ 818DAAC
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _0818DADC
- cmp r0, 0x1
- bgt _0818DAD0
- cmp r0, 0
- beq _0818DAD6
- b _0818DAE6
-_0818DAD0:
- cmp r1, 0x2
- beq _0818DAE2
- b _0818DAE6
-_0818DAD6:
- bl SetLilycoveQuizLady
- b _0818DAE6
-_0818DADC:
- bl SetLilycoveFavourLady
- b _0818DAE6
-_0818DAE2:
- bl SetLilycoveContestLady
-_0818DAE6:
- pop {r0}
- bx r0
- thumb_func_end SetLilycoveLadyRandomly
-
- thumb_func_start sub_818DAEC
-sub_818DAEC: @ 818DAEC
- push {r4,lr}
- ldr r4, =gScriptResult
- bl GetLilycoveLadyId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DAEC
-
- thumb_func_start sub_818DB04
-sub_818DB04: @ 818DB04
- push {lr}
- adds r1, r0, 0
- movs r2, 0
- b _0818DB14
-_0818DB0C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x2
-_0818DB14:
- ldrh r0, [r1]
- cmp r0, 0
- bne _0818DB0C
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_818DB04
-
- thumb_func_start sub_818DB20
-sub_818DB20: @ 818DB20
- push {r4-r6,lr}
- bl Random
- ldr r5, =gUnknown_0203CD64
- ldr r4, [r5]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- strb r0, [r4, 0xC]
- ldr r6, =gUnknown_0860B2EC
- ldr r0, [r5]
- ldrb r0, [r0, 0xC]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- bl sub_818DB04
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 24
- ldr r2, [r5]
- ldrb r1, [r2, 0xC]
- lsls r1, 2
- adds r1, r6
- ldr r1, [r1]
- lsrs r0, 23
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DB20
-
- thumb_func_start SetLilycoveFavourLady
-SetLilycoveFavourLady: @ 818DB7C
- push {lr}
- ldr r2, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r2]
- movs r3, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- ldr r1, [r2]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- strb r3, [r0, 0x2]
- ldr r0, [r2]
- strb r3, [r0, 0x3]
- ldr r1, [r2]
- strh r3, [r1, 0xE]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strb r0, [r1, 0x12]
- bl sub_818DB20
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetLilycoveFavourLady
-
- thumb_func_start sub_818DBC4
-sub_818DBC4: @ 818DBC4
- ldr r3, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r3]
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r3]
- strb r2, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_818DBC4
-
- thumb_func_start sub_818DBE8
-sub_818DBE8: @ 818DBE8
- push {lr}
- ldr r1, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _0818DC0C
- movs r0, 0x2
- b _0818DC16
- .pool
-_0818DC0C:
- cmp r0, 0x1
- beq _0818DC14
- movs r0, 0
- b _0818DC16
-_0818DC14:
- movs r0, 0x1
-_0818DC16:
- pop {r1}
- bx r1
- thumb_func_end sub_818DBE8
-
- thumb_func_start sub_818DC1C
-sub_818DC1C: @ 818DC1C
- lsls r0, 24
- ldr r1, =gUnknown_0860B224
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_818DC1C
-
- thumb_func_start sub_818DC2C
-sub_818DC2C: @ 818DC2C
- push {r4,lr}
- ldr r1, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldr r4, =gStringVar1
- ldrb r0, [r0, 0xC]
- bl sub_818DC1C
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DC2C
-
- thumb_func_start sub_818DC60
-sub_818DC60: @ 818DC60
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, =0x00003b58
- adds r0, r1, r2
- str r0, [r5]
- ldrb r0, [r0, 0x4]
- cmp r0, 0xFF
- bne _0818DC84
- movs r0, 0
- b _0818DC9C
- .pool
-_0818DC84:
- ldr r4, =gStringVar3
- ldr r0, =0x00003b5c
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy7
- ldr r0, [r5]
- ldrb r1, [r0, 0x12]
- adds r0, r4, 0
- bl ConvertInternationalString
- movs r0, 0x1
-_0818DC9C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818DC60
-
- thumb_func_start sub_818DCAC
-sub_818DCAC: @ 818DCAC
- push {r4,lr}
- adds r4, r0, 0
- lsls r0, r1, 16
- lsrs r0, 16
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_818DCAC
-
- thumb_func_start sub_818DCC8
-sub_818DCC8: @ 818DCC8
- push {lr}
- ldr r2, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00003b58
- adds r1, r0
- str r1, [r2]
- ldr r0, =gStringVar2
- ldrh r1, [r1, 0xE]
- bl sub_818DCAC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DCC8
-
- thumb_func_start sub_818DCF4
-sub_818DCF4: @ 818DCF4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringCopy7
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_818DCF4
-
- thumb_func_start sub_818DD14
-sub_818DD14: @ 818DD14
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r1, r0, r2
- str r1, [r5]
- ldr r1, =0x00003b5c
- adds r0, r1
- ldr r4, =gStringVar3
- adds r1, r4, 0
- bl sub_818DCF4
- ldr r0, [r5]
- ldrb r1, [r0, 0x12]
- adds r0, r4, 0
- bl ConvertInternationalString
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DD14
-
- thumb_func_start sub_818DD54
-sub_818DD54: @ 818DD54
- ldr r1, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldrb r1, [r0, 0x2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_818DD54
-
- thumb_func_start sub_818DD78
-sub_818DD78: @ 818DD78
- push {lr}
- bl sub_81AAC50
- pop {r0}
- bx r0
- thumb_func_end sub_818DD78
-
- thumb_func_start sub_818DD84
-sub_818DD84: @ 818DD84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r4, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r4]
- ldr r1, =gUnknown_0860B2EC
- mov r8, r1
- ldrb r0, [r0, 0xC]
- lsls r0, 2
- add r0, r8
- ldr r0, [r0]
- bl sub_818DB04
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, =gStringVar2
- adds r1, r5, 0
- bl sub_818DCAC
- ldr r1, [r4]
- strh r5, [r1, 0xE]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r1, 0x4
- bl sub_818DCF4
- ldr r1, [r4]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strb r0, [r1, 0x12]
- movs r7, 0
- movs r3, 0
- cmp r7, r6
- bcs _0818DE36
- mov r12, r8
-_0818DDDC:
- ldr r2, [r4]
- ldrb r0, [r2, 0xC]
- lsls r0, 2
- add r0, r12
- ldr r1, [r0]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- bne _0818DE28
- movs r7, 0x1
- ldrb r0, [r2, 0x3]
- adds r0, 0x1
- strb r0, [r2, 0x3]
- ldr r0, [r4]
- strb r7, [r0, 0x2]
- ldr r1, [r4]
- ldrh r0, [r1, 0x10]
- cmp r0, r5
- bne _0818DE36
- movs r0, 0x5
- strb r0, [r1, 0x3]
- b _0818DE36
- .pool
-_0818DE28:
- movs r0, 0
- strb r0, [r2, 0x2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r6
- bcc _0818DDDC
-_0818DE36:
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_818DD84
-
- thumb_func_start sub_818DE44
-sub_818DE44: @ 818DE44
- push {lr}
- ldr r0, =gScriptItemId
- ldrh r0, [r0]
- bl sub_818DD84
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818DE44
-
- thumb_func_start sub_818DE5C
-sub_818DE5C: @ 818DE5C
- push {lr}
- ldr r1, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x3]
- movs r1, 0
- cmp r0, 0x4
- bls _0818DE74
- movs r1, 0x1
-_0818DE74:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818DE5C
-
- thumb_func_start sub_818DE88
-sub_818DE88: @ 818DE88
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gStringVar2
- bl sub_818DCAC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DE88
-
- thumb_func_start sub_818DEA0
-sub_818DEA0: @ 818DEA0
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CD64
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r5]
- ldr r1, =gUnknown_0860B304
- ldrb r0, [r0, 0xC]
- lsls r0, 1
- adds r0, r1
- ldrh r4, [r0]
- adds r0, r4, 0
- bl sub_818DE88
- ldr r1, [r5]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818DEA0
-
- thumb_func_start sub_818DEDC
-sub_818DEDC: @ 818DEDC
- push {lr}
- bl SetLilycoveFavourLady
- ldr r0, =gUnknown_0203CD64
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DEDC
-
- thumb_func_start sub_818DEF4
-sub_818DEF4: @ 818DEF4
- push {lr}
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_818DEF4
-
- thumb_func_start sub_818DF00
-sub_818DF00: @ 818DF00
- push {r4-r7,lr}
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xF
- ands r4, r0
- movs r3, 0
- ldr r5, =gUnknown_0203CD68
- ldr r1, =gUnknown_0860B1A4
- lsls r0, r4, 2
- adds r6, r0, r1
- adds r7, r5, 0
-_0818DF1A:
- ldr r2, [r5]
- lsls r1, r3, 1
- adds r2, 0x2
- adds r2, r1
- ldr r0, [r6]
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x8
- bls _0818DF1A
- ldr r2, [r7]
- ldr r0, =gUnknown_0860B1E4
- lsls r1, r4, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- strh r0, [r2, 0x14]
- ldr r0, =gUnknown_0860B204
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2, 0x28]
- adds r2, 0x2B
- strb r4, [r2]
- ldr r1, [r7]
- movs r0, 0xFF
- strb r0, [r1, 0x18]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818DF00
-
- thumb_func_start SetLilycoveQuizLady
-SetLilycoveQuizLady: @ 818DF68
- push {r4-r6,lr}
- ldr r2, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- movs r3, 0
- adds r4, r2, 0
- ldr r6, =gGameLanguage
- adds r5, r4, 0
- ldr r0, =0x0000ffff
- adds r2, r0, 0
-_0818DF8A:
- ldr r1, [r5]
- lsls r0, r3, 1
- adds r1, 0x2
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x8
- bls _0818DF8A
- ldr r0, [r4]
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x14]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x16]
- movs r3, 0
- adds r5, r4, 0
- movs r2, 0
-_0818DFB4:
- ldr r0, [r5]
- lsls r1, r3, 1
- adds r0, 0x20
- adds r0, r1
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0818DFB4
- ldr r0, [r4]
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x28]
- adds r0, 0x2A
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x2C
- movs r1, 0x10
- strb r1, [r0]
- ldr r0, [r4]
- ldrb r1, [r6]
- adds r0, 0x2D
- strb r1, [r0]
- bl sub_818DF00
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetLilycoveQuizLady
-
- thumb_func_start sub_818E004
-sub_818E004: @ 818E004
- ldr r2, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- ldr r0, [r2]
- adds r0, 0x2A
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, =0x0000ffff
- strh r0, [r1, 0x16]
- bx lr
- .pool
- thumb_func_end sub_818E004
-
- thumb_func_start sub_818E038
-sub_818E038: @ 818E038
- push {lr}
- ldr r1, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _0818E05C
- movs r0, 0x2
- b _0818E066
- .pool
-_0818E05C:
- cmp r0, 0x1
- beq _0818E064
- movs r0, 0
- b _0818E066
-_0818E064:
- movs r0, 0x1
-_0818E066:
- pop {r1}
- bx r1
- thumb_func_end sub_818E038
-
- thumb_func_start sub_818E06C
-sub_818E06C: @ 818E06C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00003b58
- adds r7, r4, r0
- ldrh r0, [r7, 0x14]
- bl sub_811F8D8
- cmp r0, 0
- bne _0818E0EC
- ldr r1, =0x00003b83
- adds r0, r4, r1
- ldrb r5, [r0]
- ldr r0, =0x00003b5a
- adds r0, r4
- mov r8, r0
- adds r1, r4
- mov r10, r1
- ldr r6, =gUnknown_0860B1E4
-_0818E09A:
- adds r5, 0x1
- cmp r5, 0xF
- ble _0818E0A2
- movs r5, 0
-_0818E0A2:
- lsls r4, r5, 1
- adds r0, r4, r6
- ldrh r0, [r0]
- bl sub_811F8D8
- cmp r0, 0
- beq _0818E09A
- movs r3, 0
- ldr r0, =gUnknown_0860B1E4
- mov r12, r0
- lsls r1, r5, 2
- ldr r0, =gUnknown_0860B204
- mov r9, r0
- ldr r0, =gUnknown_0860B1A4
- adds r6, r1, r0
- mov r2, r8
-_0818E0C2:
- lsls r0, r3, 1
- ldr r1, [r6]
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x8
- ble _0818E0C2
- mov r1, r12
- adds r0, r4, r1
- ldrh r0, [r0]
- strh r0, [r7, 0x14]
- mov r1, r9
- adds r0, r4, r1
- ldrh r0, [r0]
- strh r0, [r7, 0x28]
- mov r0, r10
- strb r5, [r0]
- movs r0, 0xFF
- strb r0, [r7, 0x18]
-_0818E0EC:
- bl sub_818E13C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0818E118
- movs r0, 0x2
- b _0818E12C
- .pool
-_0818E118:
- cmp r0, 0x2
- beq _0818E126
- bl sub_818E1F4
- lsls r0, 24
- cmp r0, 0
- beq _0818E12A
-_0818E126:
- movs r0, 0x1
- b _0818E12C
-_0818E12A:
- movs r0, 0
-_0818E12C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_818E06C
-
- thumb_func_start sub_818E13C
-sub_818E13C: @ 818E13C
- push {r4-r7,lr}
- movs r7, 0x1
- ldr r5, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, =0x00003b58
- adds r0, r1, r2
- str r0, [r5]
- ldrb r0, [r0, 0x18]
- cmp r0, 0xFF
- bne _0818E174
- ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EEB7E
- bl StringCopy7
- movs r7, 0
- b _0818E1DC
- .pool
-_0818E174:
- ldr r4, =gStringVar1
- ldr r0, =0x00003b70
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy7
- ldr r0, [r5]
- adds r0, 0x2D
- ldrb r1, [r0]
- adds r0, r4, 0
- bl ConvertInternationalString
- ldr r0, [r5]
- adds r0, 0x18
- bl sub_818E258
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- bl sub_818E258
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0818E1DC
- ldr r0, [r5]
- movs r2, 0
- cmp r2, r4
- bcs _0818E1DC
- ldr r1, [r6]
- ldrb r0, [r0, 0x18]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0818E1DA
-_0818E1BA:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcs _0818E1DC
- ldr r0, =gUnknown_0203CD68
- ldr r1, [r0]
- adds r1, 0x18
- adds r1, r2
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- beq _0818E1BA
-_0818E1DA:
- movs r7, 0x2
-_0818E1DC:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818E13C
-
- thumb_func_start sub_818E1F4
-sub_818E1F4: @ 818E1F4
- push {r4-r6,lr}
- ldr r3, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, =0x00003b58
- adds r0, r1, r2
- str r0, [r3]
- movs r5, 0
- movs r4, 0
- ldr r0, =0x00003b78
- adds r1, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrh r1, [r1]
- adds r6, r3, 0
- adds r3, r0, 0
- ldrb r2, [r2, 0xA]
- cmp r1, r2
- bne _0818E23A
-_0818E21A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _0818E23C
- ldr r1, [r6]
- lsls r0, r4, 1
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r4
- ldrh r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- beq _0818E21A
-_0818E23A:
- movs r5, 0x1
-_0818E23C:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818E1F4
-
- thumb_func_start sub_818E258
-sub_818E258: @ 818E258
- push {lr}
- movs r2, 0
- adds r1, r0, 0
- b _0818E268
-_0818E260:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
-_0818E268:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0818E260
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_818E258
-
- thumb_func_start sub_818E274
-sub_818E274: @ 818E274
- push {r4,lr}
- ldr r4, =gStringVar1
- ldr r0, =gUnknown_0203CD68
- ldr r0, [r0]
- ldrh r0, [r0, 0x28]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E274
-
- thumb_func_start sub_818E298
-sub_818E298: @ 818E298
- push {r4,lr}
- ldr r4, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r4]
- bl sub_818E13C
- lsls r0, 24
- cmp r0, 0
- beq _0818E2C0
- movs r0, 0
- b _0818E2CC
- .pool
-_0818E2C0:
- ldr r0, [r4]
- ldr r1, =gGameLanguage
- ldrb r1, [r1]
- adds r0, 0x2D
- strb r1, [r0]
- movs r0, 0x1
-_0818E2CC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818E298
-
- thumb_func_start sub_818E2D8
-sub_818E2D8: @ 818E2D8
- ldr r2, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00003b58
- adds r1, r0, r3
- str r1, [r2]
- ldr r1, =0x00003b82
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_818E2D8
-
- thumb_func_start sub_818E2FC
-sub_818E2FC: @ 818E2FC
- push {lr}
- bl easy_chat_input_maybe
- pop {r0}
- bx r0
- thumb_func_end sub_818E2FC
-
- thumb_func_start sub_818E308
-sub_818E308: @ 818E308
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r5]
- ldr r6, =gStringVar1
- ldrh r1, [r0, 0x14]
- adds r0, r6, 0
- bl CopyEasyChatWord
- ldr r4, =gStringVar2
- ldr r0, [r5]
- ldrh r1, [r0, 0x16]
- adds r0, r4, 0
- bl CopyEasyChatWord
- adds r0, r6, 0
- adds r1, r4, 0
- bl StringCompare
- movs r1, 0
- cmp r0, 0
- bne _0818E33C
- movs r1, 0x1
-_0818E33C:
- adds r0, r1, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818E308
-
- thumb_func_start sub_818E358
-sub_818E358: @ 818E358
- ldr r1, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldr r1, =gSpecialVar_0x8005
- ldrh r0, [r0, 0x28]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_818E358
-
- thumb_func_start sub_818E37C
-sub_818E37C: @ 818E37C
- ldr r1, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- movs r1, 0x1
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_818E37C
-
- thumb_func_start sub_818E39C
-sub_818E39C: @ 818E39C
- ldr r1, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- movs r1, 0x2
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_818E39C
-
- thumb_func_start sub_818E3BC
-sub_818E3BC: @ 818E3BC
- ldr r1, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x16]
- bx lr
- .pool
- thumb_func_end sub_818E3BC
-
- thumb_func_start sub_818E3E0
-sub_818E3E0: @ 818E3E0
- push {lr}
- bl sub_81AAC70
- pop {r0}
- bx r0
- thumb_func_end sub_818E3E0
-
- thumb_func_start sub_818E3EC
-sub_818E3EC: @ 818E3EC
- push {r4,lr}
- ldr r4, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r4]
- bl sub_818E298
- lsls r0, 24
- cmp r0, 0
- beq _0818E41C
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x2B
- ldrb r1, [r1]
- adds r0, 0x2C
- b _0818E422
- .pool
-_0818E41C:
- ldr r0, [r4]
- adds r0, 0x2C
- movs r1, 0x10
-_0818E422:
- strb r1, [r0]
- bl sub_818DF00
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_818E3EC
-
- thumb_func_start sub_818E430
-sub_818E430: @ 818E430
- push {r4,r5,lr}
- ldr r1, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- movs r2, 0
- adds r5, r1, 0
- adds r4, r5, 0
- ldr r0, =0x0000ffff
- adds r3, r0, 0
-_0818E448:
- ldr r1, [r4]
- lsls r0, r2, 1
- adds r1, 0x2
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x8
- bls _0818E448
- ldr r1, [r5]
- ldr r0, =0x0000ffff
- strh r0, [r1, 0x14]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E430
-
- thumb_func_start sub_818E47C
-sub_818E47C: @ 818E47C
- push {lr}
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x11
- strh r0, [r1]
- bl easy_chat_input_maybe
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E47C
-
- thumb_func_start sub_818E490
-sub_818E490: @ 818E490
- push {lr}
- ldr r0, =gScriptItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E490
-
- thumb_func_start sub_818E4A4
-sub_818E4A4: @ 818E4A4
- push {r4-r6,lr}
- ldr r2, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r2]
- ldr r1, =gScriptItemId
- ldrh r1, [r1]
- strh r1, [r0, 0x28]
- movs r3, 0
- adds r4, r2, 0
- ldr r6, =gSaveBlock2Ptr
- adds r5, r4, 0
- adds r2, r6, 0
-_0818E4C2:
- ldr r1, [r5]
- lsls r0, r3, 1
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r2]
- adds r0, 0xA
- adds r0, r3
- ldrb r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0818E4C2
- ldr r0, [r4]
- adds r0, 0x18
- ldr r1, [r6]
- bl StringCopy7
- ldr r0, [r4]
- ldr r1, =gGameLanguage
- ldrb r1, [r1]
- adds r0, 0x2D
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E4A4
-
- thumb_func_start sub_818E510
-sub_818E510: @ 818E510
- ldr r2, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00003b58
- adds r1, r0, r3
- str r1, [r2]
- ldr r1, =0x00003b82
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_818E510
-
- thumb_func_start sub_818E538
-sub_818E538: @ 818E538
- push {lr}
- ldr r2, =gUnknown_0203CD68
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00003b58
- adds r1, r0
- str r1, [r2]
- ldr r0, =gStringVar3
- ldrh r1, [r1, 0x14]
- bl CopyEasyChatWord
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E538
-
- thumb_func_start sub_818E564
-sub_818E564: @ 818E564
- push {lr}
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_818E564
-
- thumb_func_start sub_818E570
-sub_818E570: @ 818E570
- push {r4-r7,lr}
- ldr r2, =gUnknown_0203CD68
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r4, =0x00003b58
- adds r3, r1, r4
- str r3, [r2]
- adds r6, r0, 0
- adds r6, 0x2C
- ldrb r4, [r6]
- adds r7, r2, 0
- cmp r4, 0xF
- bhi _0818E5EC
- ldrb r0, [r3]
- cmp r0, 0
- bne _0818E5EC
- movs r5, 0
- ldr r2, =0x00003b83
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r4, r0
- bne _0818E5E4
- adds r4, r7, 0
-_0818E59E:
- bl Random
- ldr r2, [r4]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- adds r2, 0x2B
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bhi _0818E5C6
- ldr r0, [r4]
- adds r0, 0x2B
- ldrb r1, [r6]
- ldrb r0, [r0]
- cmp r1, r0
- beq _0818E59E
-_0818E5C6:
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x2B
- ldrb r0, [r6]
- ldr r7, =gUnknown_0203CD68
- ldrb r4, [r2]
- cmp r0, r4
- bne _0818E5E4
- ldrb r1, [r2]
- adds r3, r1, 0x1
- adds r0, r3, 0
- asrs r0, 4
- lsls r0, 4
- subs r0, r3, r0
- strb r0, [r2]
-_0818E5E4:
- ldr r0, [r7]
- ldrb r1, [r6]
- adds r0, 0x2C
- strb r1, [r0]
-_0818E5EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E570
-
- thumb_func_start sub_818E604
-sub_818E604: @ 818E604
- push {r4,lr}
- ldr r4, =gUnknown_0203CD6C
- ldr r1, [r4]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x2]
- ldr r0, [r4]
- strb r1, [r0, 0x3]
- ldr r0, [r4]
- strb r1, [r0, 0xC]
- bl Random
- ldr r4, [r4]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- strb r0, [r4, 0xD]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E604
-
- thumb_func_start SetLilycoveContestLady
-SetLilycoveContestLady: @ 818E638
- push {r4,lr}
- ldr r4, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r4]
- movs r2, 0
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r4]
- strb r2, [r0, 0x1]
- bl sub_818E604
- ldr r1, [r4]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strb r0, [r1, 0xE]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetLilycoveContestLady
-
- thumb_func_start sub_818E674
-sub_818E674: @ 818E674
- push {lr}
- ldr r2, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b58
- adds r0, r1
- str r0, [r2]
- movs r3, 0
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- ldr r2, [r2]
- ldrb r0, [r2, 0x2]
- cmp r0, 0x5
- beq _0818E69A
- ldrb r0, [r2, 0x3]
- cmp r0, 0x5
- bne _0818E69E
-_0818E69A:
- bl sub_818E604
-_0818E69E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E674
-
- thumb_func_start sub_818E6B0
-sub_818E6B0: @ 818E6B0
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r4, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00003b58
- adds r1, r0, r3
- str r1, [r4]
- ldrb r0, [r1, 0xC]
- cmp r0, r2
- bhi _0818E6EA
- strb r2, [r1, 0xC]
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- ldr r1, [r4]
- ldr r0, =gSaveBlock2Ptr
- adds r1, 0x4
- ldr r0, [r0]
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- ldr r1, [r4]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strb r0, [r1, 0xE]
-_0818E6EA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E6B0
-
- thumb_func_start sub_818E704
-sub_818E704: @ 818E704
- push {r4,r5,lr}
- adds r2, r0, 0
- movs r3, 0
- movs r4, 0
- ldr r1, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r5, =0x00003b58
- adds r0, r5
- str r0, [r1]
- ldrb r0, [r0, 0xD]
- adds r5, r1, 0
- cmp r0, 0x4
- bhi _0818E76A
- lsls r0, 2
- ldr r1, =_0818E73C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0818E73C:
- .4byte _0818E750
- .4byte _0818E754
- .4byte _0818E758
- .4byte _0818E75C
- .4byte _0818E760
-_0818E750:
- ldrb r0, [r2, 0x1]
- b _0818E762
-_0818E754:
- ldrb r0, [r2, 0x2]
- b _0818E762
-_0818E758:
- ldrb r0, [r2, 0x3]
- b _0818E762
-_0818E75C:
- ldrb r0, [r2, 0x4]
- b _0818E762
-_0818E760:
- ldrb r0, [r2, 0x5]
-_0818E762:
- cmp r0, 0
- beq _0818E76A
- adds r3, r0, 0
- movs r4, 0x1
-_0818E76A:
- cmp r4, 0x1
- bne _0818E784
- adds r0, r3, 0
- bl sub_818E6B0
- ldr r0, =gUnknown_0203CD6C
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- b _0818E78C
- .pool
-_0818E784:
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
-_0818E78C:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_818E704
-
- thumb_func_start sub_818E794
-sub_818E794: @ 818E794
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r4, =gUnknown_0203CD6C
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x00003b58
- adds r1, r2
- str r1, [r4]
- ldr r2, =gUnknown_0860B324
- ldrb r1, [r1, 0xD]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r1, =gUnknown_0860B310
- ldr r0, [r4]
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E794
-
- thumb_func_start sub_818E7E0
-sub_818E7E0: @ 818E7E0
- push {r4,lr}
- adds r3, r1, 0
- ldr r2, =gUnknown_0203CD6C
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r4, =0x00003b58
- adds r1, r4
- str r1, [r2]
- ldrb r2, [r1, 0xD]
- strb r2, [r0]
- ldr r2, =gUnknown_0860B310
- ldrb r0, [r1, 0xD]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0]
- adds r0, r3, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E7E0
-
- thumb_func_start sub_818E81C
-sub_818E81C: @ 818E81C
- push {r4,lr}
- ldr r3, =gUnknown_0203CD6C
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r4, =0x00003b58
- adds r2, r1, r4
- str r2, [r3]
- ldr r2, =0x00003b5c
- adds r1, r2
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E81C
-
- thumb_func_start sub_818E848
-sub_818E848: @ 818E848
- ldr r2, =gUnknown_0203CD6C
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r3, =0x00003b58
- adds r1, r3
- str r1, [r2]
- ldrb r1, [r1, 0xE]
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_818E848
-
- thumb_func_start sub_818E868
-sub_818E868: @ 818E868
- push {lr}
- lsls r1, 24
- ldr r2, =gUnknown_0860B338
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E868
-
- thumb_func_start sub_818E880
-sub_818E880: @ 818E880
- push {lr}
- ldr r1, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x4
- bls _0818E8A4
- movs r0, 0x1
- b _0818E8AE
- .pool
-_0818E8A4:
- cmp r0, 0
- beq _0818E8AC
- movs r0, 0
- b _0818E8AE
-_0818E8AC:
- movs r0, 0x2
-_0818E8AE:
- pop {r1}
- bx r1
- thumb_func_end sub_818E880
-
- thumb_func_start sub_818E8B4
-sub_818E8B4: @ 818E8B4
- push {lr}
- ldr r1, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _0818E8D8
- movs r0, 0
- b _0818E8DA
- .pool
-_0818E8D8:
- movs r0, 0x1
-_0818E8DA:
- pop {r1}
- bx r1
- thumb_func_end sub_818E8B4
-
- thumb_func_start sub_818E8E0
-sub_818E8E0: @ 818E8E0
- push {r4,lr}
- movs r3, 0
- ldr r1, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r4, =0x00003b58
- adds r2, r0, r4
- str r2, [r1]
- ldrb r0, [r2, 0x2]
- cmp r0, 0x4
- bhi _0818E8FC
- ldrb r0, [r2, 0x3]
- cmp r0, 0x4
- bls _0818E8FE
-_0818E8FC:
- movs r3, 0x1
-_0818E8FE:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818E8E0
-
- thumb_func_start sub_818E914
-sub_818E914: @ 818E914
- push {lr}
- ldr r0, =gStringVar2
- ldr r1, =gStringVar1
- bl sub_818E794
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E914
-
- thumb_func_start sub_818E92C
-sub_818E92C: @ 818E92C
- push {lr}
- ldr r1, =c2_exit_to_overworld_2_switch
- movs r0, 0x3
- bl sub_81357FC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818E92C
-
- thumb_func_start sub_818E940
-sub_818E940: @ 818E940
- ldr r1, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- movs r1, 0x1
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_818E940
-
- thumb_func_start sub_818E960
-sub_818E960: @ 818E960
- ldr r1, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldr r2, =gSpecialVar_0x8005
- ldr r1, =gUnknown_0860B34C
- ldrb r0, [r0, 0xD]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_818E960
-
- thumb_func_start sub_818E990
-sub_818E990: @ 818E990
- ldr r1, =gUnknown_0203CD6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003b58
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0xD]
- bx lr
- .pool
- thumb_func_end sub_818E990
-
-
-.align 2, 0 @ Don't pad with nop.
diff --git a/asm/link.s b/asm/link.s
index 9ee94412d..d1c8d0542 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -3482,7 +3482,7 @@ sub_800B080: @ 800B080
ldr r4, =gUnknown_082ED224
str r4, [sp]
str r5, [sp, 0x4]
- ldr r0, =gUnknown_085EE4F7
+ ldr r0, =gText_CommErrorEllipsis
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x3
@@ -3491,7 +3491,7 @@ sub_800B080: @ 800B080
bl box_print
str r4, [sp]
str r5, [sp, 0x4]
- ldr r0, =gUnknown_085EE50C
+ ldr r0, =gText_MoveCloserToLinkPartner
str r0, [sp, 0x8]
movs r0, 0x2
movs r1, 0x3
@@ -3534,7 +3534,7 @@ sub_800B138: @ 800B138
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085EE4A4
+ ldr r0, =gText_CommErrorCheckConnections
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x3
@@ -3623,7 +3623,7 @@ _0800B214:
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085EE572
+ ldr r0, =gText_ABtnTitleScreen
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x3
@@ -3639,7 +3639,7 @@ _0800B244:
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085EE553
+ ldr r0, =gText_ABtnRegistrationCounter
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x3
@@ -24689,7 +24689,7 @@ _08016502:
ldr r1, =gUnknown_02022C40
movs r0, 0x1
strh r0, [r1]
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF128
str r0, [r1]
ldr r1, =c2_exit_to_overworld_2_switch
@@ -24987,7 +24987,7 @@ _0801677E:
lsls r0, 22
lsrs r0, 22
strh r0, [r2]
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF128
str r0, [r1]
ldr r1, =c2_exit_to_overworld_2_switch
@@ -27235,7 +27235,7 @@ sub_8017940: @ 8017940
ldrsh r0, [r4, r1]
cmp r0, 0x8
bne _08017978
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x3]
cmp r0, 0x2
beq _0801796E
@@ -28887,16 +28887,16 @@ sub_80186EC: @ 80186EC
bl FillWindowPixelBuffer
cmp r4, 0
bne _0801871C
- ldr r0, =gUnknown_085EF654
- ldr r7, =gUnknown_085EF678
+ ldr r0, =gText_MysteryGift
+ ldr r7, =gText_PickOKCancel
cmp r5, 0
bne _08018720
- ldr r7, =gUnknown_085EF664
+ ldr r7, =gText_PickOKExit
b _08018720
.pool
_0801871C:
- ldr r0, =gUnknown_085EDFBF
- ldr r7, =gUnknown_085EDFC9
+ ldr r0, =gJPText_MysteryGift
+ ldr r7, =gJPText_DecideStop
_08018720:
movs r4, 0
str r4, [sp]
@@ -29571,13 +29571,13 @@ _08018C6C:
cmp r2, 0
bne _08018C84
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EF2FC
+ ldr r1, =gText_WhatToDoWithCards
bl StringExpandPlaceholders
b _08018C8C
.pool
_08018C84:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EF330
+ ldr r1, =gText_WhatToDoWithNews
bl StringExpandPlaceholders
_08018C8C:
ldr r0, =gUnknown_082F05D8
@@ -29801,11 +29801,11 @@ sub_8018E50: @ 8018E50
push {lr}
cmp r2, 0
beq _08018E60
- ldr r3, =gUnknown_085EF55C
+ ldr r3, =gText_OkayToDiscardNews
b _08018E62
.pool
_08018E60:
- ldr r3, =gUnknown_085EF520
+ ldr r3, =gText_IfThrowAwayCardEventWontHappen
_08018E62:
movs r2, 0x1
bl sub_8018B08
@@ -29821,11 +29821,11 @@ mevent_message_was_thrown_away: @ 8018E74
push {lr}
cmp r1, 0
beq _08018E84
- ldr r1, =gUnknown_085EF630
+ ldr r1, =gText_WonderNewsThrownAway
b _08018E86
.pool
_08018E84:
- ldr r1, =gUnknown_085EF60C
+ ldr r1, =gText_WonderCardThrownAway
_08018E86:
bl mevent_0814257C
pop {r1}
@@ -29854,7 +29854,7 @@ _08018EAC:
.4byte _08018EE0
.4byte _08018EF8
_08018EC0:
- ldr r0, =gUnknown_085EF5BC
+ ldr r0, =gText_DataWillBeSaved
bl sub_8018884
b _08018EEC
.pool
@@ -29863,7 +29863,7 @@ _08018ECC:
bl TrySavingData
b _08018EEC
_08018ED4:
- ldr r0, =gUnknown_085EF5E0
+ ldr r0, =gText_SaveCompletedPressA
bl sub_8018884
b _08018EEC
.pool
@@ -29934,88 +29934,88 @@ _08018F30:
_08018F6C:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF2E4
+ ldr r2, =gText_NothingSentOver
b _08019034
.pool
_08018F78:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF244
+ ldr r2, =gText_RecordUploadedViaWireless
b _08019034
.pool
_08018F84:
movs r0, 0x1
str r0, [r4]
- ldr r2, =gUnknown_085EF0C8
+ ldr r2, =gText_WonderCardReceivedFrom
cmp r5, 0
bne _08019034
- ldr r2, =gUnknown_085EF124
+ ldr r2, =gText_WonderCardReceived
b _08019034
.pool
_08018F9C:
movs r0, 0x1
str r0, [r4]
- ldr r2, =gUnknown_085EF0F4
+ ldr r2, =gText_WonderNewsReceivedFrom
cmp r5, 0
bne _08019034
- ldr r2, =gUnknown_085EF14C
+ ldr r2, =gText_WonderNewsReceived
b _08019034
.pool
_08018FB4:
movs r0, 0x1
str r0, [r4]
- ldr r2, =gUnknown_085EF178
+ ldr r2, =gText_NewStampReceived
b _08019034
.pool
_08018FC0:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF1B4
+ ldr r2, =gText_AlreadyHadCard
b _08019034
.pool
_08018FCC:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF200
+ ldr r2, =gText_AlreadyHadStamp
b _08019034
.pool
_08018FD8:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF1D8
+ ldr r2, =gText_AlreadyHadNews
b _08019034
.pool
_08018FE4:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF21C
+ ldr r2, =gText_NoMoreRoomForStamps
b _08019034
.pool
_08018FF0:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF02C
+ ldr r2, =gText_CommunicationCanceled
b _08019034
.pool
_08018FFC:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF2B4
+ ldr r2, =gText_CantAcceptNewsFromTrainer
cmp r6, 0
bne _08019034
- ldr r2, =gUnknown_085EF280
+ ldr r2, =gText_CantAcceptCardFromTrainer
b _08019034
.pool
_08019014:
movs r0, 0
str r0, [r4]
- ldr r2, =gUnknown_085EF014
+ ldr r2, =gText_CommunicationError
b _08019034
.pool
_08019020:
movs r0, 0x1
str r0, [r4]
- ldr r2, =gUnknown_085EF198
+ ldr r2, =gText_NewTrainerReceived
b _08019034
.pool
_0801902C:
@@ -30095,7 +30095,7 @@ _0801909C:
mevent_message_stamp_card_etc_send_status: @ 80190A4
push {r4,lr}
adds r3, r0, 0
- ldr r1, =gUnknown_085EF014
+ ldr r1, =gText_CommunicationError
movs r0, 0
str r0, [r3]
adds r4, r1, 0
@@ -30125,57 +30125,57 @@ _080190C8:
.4byte _0801915C
.4byte _08019164
_08019104:
- ldr r1, =gUnknown_085EF2E4
+ ldr r1, =gText_NothingSentOver
b _08019166
.pool
_0801910C:
- ldr r1, =gUnknown_085EF244
+ ldr r1, =gText_RecordUploadedViaWireless
b _08019166
.pool
_08019114:
- ldr r1, =gUnknown_085EF39C
+ ldr r1, =gText_WonderCardSentTo
b _0801911E
.pool
_0801911C:
- ldr r1, =gUnknown_085EF3C4
+ ldr r1, =gText_WonderNewsSentTo
_0801911E:
movs r0, 0x1
str r0, [r3]
b _08019166
.pool
_08019128:
- ldr r1, =gUnknown_085EF3F0
+ ldr r1, =gText_StampSentTo
b _08019166
.pool
_08019130:
- ldr r1, =gUnknown_085EF42C
+ ldr r1, =gText_OtherTrainerHasCard
b _08019166
.pool
_08019138:
- ldr r1, =gUnknown_085EF494
+ ldr r1, =gText_OtherTrainerHasStamp
b _08019166
.pool
_08019140:
- ldr r1, =gUnknown_085EF460
+ ldr r1, =gText_OtherTrainerHasNews
b _08019166
.pool
_08019148:
- ldr r1, =gUnknown_085EF21C
+ ldr r1, =gText_NoMoreRoomForStamps
b _08019166
.pool
_08019150:
- ldr r1, =gUnknown_085EF4C4
+ ldr r1, =gText_OtherTrainerCanceled
b _08019166
.pool
_08019158:
adds r1, r4, 0
b _08019166
_0801915C:
- ldr r1, =gUnknown_085EF410
+ ldr r1, =gText_GiftSentTo
b _08019166
.pool
_08019164:
- ldr r1, =gUnknown_085EF4F0
+ ldr r1, =gText_CantSendGiftToTrainer
_08019166:
adds r0, r1, 0
pop {r4}
@@ -30357,13 +30357,13 @@ _08019300:
bne _08019314
adds r0, r5, 0
adds r0, 0x9
- ldr r1, =gUnknown_085EEEF0
+ ldr r1, =gText_DontHaveCardNewOneInput
b _0801931A
.pool
_08019314:
adds r0, r5, 0
adds r0, 0x9
- ldr r1, =gUnknown_085EEF2C
+ ldr r1, =gText_DontHaveNewsNewOneInput
_0801931A:
bl mevent_0814257C
cmp r0, 0
@@ -30381,12 +30381,12 @@ _08019338:
ldrb r0, [r5, 0xC]
cmp r0, 0
bne _0801934C
- ldr r0, =gUnknown_085EEF68
+ ldr r0, =gText_WhereShouldCardBeAccessed
bl sub_8018884
b _08019352
.pool
_0801934C:
- ldr r0, =gUnknown_085EEF94
+ ldr r0, =gText_WhereShouldNewsBeAccessed
bl sub_8018884
_08019352:
movs r0, 0x4
@@ -30502,7 +30502,7 @@ _08019436:
b _080197C0
.pool
_08019444:
- ldr r0, =gUnknown_085EEFE8
+ ldr r0, =gText_Communicating
bl sub_8018884
movs r0, 0x8
strb r0, [r5, 0x8]
@@ -30593,7 +30593,7 @@ _08019506:
_08019508:
adds r0, r5, 0
adds r0, 0x9
- ldr r3, =gUnknown_085EF050
+ ldr r3, =gText_ThrowAwayWonderCard
adds r1, r5, 0
movs r2, 0
bl sub_8018B08
@@ -30616,7 +30616,7 @@ _08019534:
_08019538:
adds r0, r5, 0
adds r0, 0x9
- ldr r3, =gUnknown_085EF084
+ ldr r3, =gText_HaventReceivedCardsGift
adds r1, r5, 0
movs r2, 0
bl sub_8018B08
@@ -30660,7 +30660,7 @@ _0801957E:
_0801958C:
adds r0, r5, 0
adds r0, 0x9
- ldr r1, =gUnknown_085EEFF8
+ ldr r1, =gText_CommunicationCompleted
bl sub_8018A1C
cmp r0, 0
bne _0801959C
@@ -30876,7 +30876,7 @@ _0801971A:
_0801972E:
adds r0, r5, 0
adds r0, 0x9
- ldr r3, =gUnknown_085EF584
+ ldr r3, =gText_HaventReceivedGiftOkayToDiscard
adds r1, r5, 0
movs r2, 0x1
bl sub_8018B08
@@ -31016,13 +31016,13 @@ _0801982C:
ldrb r0, [r5, 0xC]
cmp r0, 0
bne _0801985C
- ldr r0, =gUnknown_085EF360
+ ldr r0, =gText_SendingWonderCard
bl sub_8018884
bl mevent_srv_new_wcard
b _08019866
.pool
_0801985C:
- ldr r0, =gUnknown_085EF37C
+ ldr r0, =gText_SendingWonderNews
bl sub_8018884
bl mevent_srv_init_wnews
_08019866:
@@ -31084,7 +31084,7 @@ _080198DC:
_080198EC:
adds r0, r5, 0
adds r0, 0x9
- ldr r1, =gUnknown_085EF014
+ ldr r1, =gText_CommunicationError
bl mevent_0814257C
_080198F6:
cmp r0, 0
@@ -31141,7 +31141,7 @@ bgid_upload_textbox_1: @ 8019938
thumb_func_start is_walking_or_running
is_walking_or_running: @ 8019958
push {lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x3]
cmp r0, 0x2
beq _08019966
@@ -33685,7 +33685,7 @@ _0801AD8C:
_0801ADFC:
ldr r0, =gUnknown_02022C6C
ldr r0, [r0]
- ldr r1, =gUnknown_085EFBD2
+ ldr r1, =gText_CommStandbyAwaitingOtherPlayer
movs r2, 0
bl sub_801ABDC
cmp r0, 0
@@ -33832,7 +33832,7 @@ _0801AF40:
_0801AF58:
ldr r0, =gUnknown_02022C6C
ldr r0, [r0]
- ldr r1, =gUnknown_085EFC27
+ ldr r1, =gText_RefusedBattle
movs r2, 0x1
bl sub_801ABDC
cmp r0, 0
@@ -33858,7 +33858,7 @@ _0801AF8A:
_0801AF98:
ldr r0, =gUnknown_02022C6C
ldr r0, [r0]
- ldr r1, =gUnknown_085EFC0C
+ ldr r1, =gText_BattleWasRefused
movs r2, 0x1
bl sub_801ABDC
cmp r0, 0
@@ -41940,7 +41940,7 @@ _0801F020:
movs r0, 0
adds r1, r4, 0
bl sub_81AFC0C
- ldr r1, =gUnknown_085ED2A9
+ ldr r1, =gText_F700JoinedChat
b _0801F094
.pool
_0801F044:
@@ -41980,7 +41980,7 @@ _0801F07A:
movs r0, 0
adds r1, r4, 0
bl sub_81AFC0C
- ldr r1, =gUnknown_085ED2BD
+ ldr r1, =gText_F700LeftChat
_0801F094:
adds r0, r6, 0
bl sub_81AFC28
@@ -42190,52 +42190,52 @@ copy_strings_to_sav1: @ 801F1DC
ldr r0, [r4]
ldr r1, =0x00003c88
adds r0, r1
- ldr r1, =gUnknown_085ED40F
+ ldr r1, =gText_Hello
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003c9d
adds r0, r1
- ldr r1, =gUnknown_085ED415
+ ldr r1, =gText_Pokemon2
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003cb2
adds r0, r1
- ldr r1, =gUnknown_085ED41D
+ ldr r1, =gText_Trade
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003cc7
adds r0, r1
- ldr r1, =gUnknown_085ED423
+ ldr r1, =gText_Battle
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003cdc
adds r0, r1
- ldr r1, =gUnknown_085ED42A
+ ldr r1, =gText_Lets
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003cf1
adds r0, r1
- ldr r1, =gUnknown_085ED430
+ ldr r1, =gText_Ok
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003d06
adds r0, r1
- ldr r1, =gUnknown_085ED434
+ ldr r1, =gText_Sorry
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003d1b
adds r0, r1
- ldr r1, =gUnknown_085ED43A
+ ldr r1, =gText_YayUnkF9F9
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003d30
adds r0, r1
- ldr r1, =gUnknown_085ED440
+ ldr r1, =gText_ThankYou
bl StringCopy
ldr r0, [r4]
ldr r1, =0x00003d45
adds r0, r1
- ldr r1, =gUnknown_085ED44A
+ ldr r1, =gText_ByeBye
bl StringCopy
pop {r4}
pop {r0}
@@ -43754,7 +43754,7 @@ sub_801FDDC: @ 801FDDC
bl PutWindowTilemap
ldr r0, [r5]
ldrb r0, [r0, 0x18]
- ldr r2, =gUnknown_085EAE62
+ ldr r2, =gText_Yes
movs r1, 0x1
str r1, [sp]
movs r4, 0xFF
@@ -43764,7 +43764,7 @@ sub_801FDDC: @ 801FDDC
bl PrintTextOnWindow
ldr r0, [r5]
ldrb r0, [r0, 0x18]
- ldr r2, =gUnknown_085EAE66
+ ldr r2, =gText_No
movs r1, 0x11
str r1, [sp]
str r4, [sp, 0x4]
@@ -47446,13 +47446,13 @@ _08021C5E:
cmp r3, r2
bne _08021CC0
ldr r0, =gStringVar3
- ldr r1, =gUnknown_085ED7D4
+ ldr r1, =gText_1DotBlueF700
bl StringCopy
b _08021CC8
.pool
_08021CC0:
ldr r0, =gStringVar3
- ldr r1, =gUnknown_085ED7E0
+ ldr r1, =gText_1DotF700
bl StringCopy
_08021CC8:
ldr r4, =gStringVar3
@@ -47541,13 +47541,13 @@ sub_8021D34: @ 8021D34
ldr r4, =gUnknown_082F32D8
str r4, [sp]
str r6, [sp, 0x4]
- ldr r1, =gUnknown_085ED808
+ ldr r1, =gText_TimeColon
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0
adds r3, r7, 0
bl box_print
- ldr r4, =gUnknown_085ED840
+ ldr r4, =gText_SpaceSec
movs r0, 0x2
adds r1, r4, 0
movs r2, 0x1
@@ -47587,7 +47587,7 @@ sub_8021D34: @ 8021D34
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085ED838
+ ldr r1, =gText_XDotY2
adds r0, r5, 0
bl StringExpandPlaceholders
movs r0, 0x2
@@ -47609,7 +47609,7 @@ sub_8021D34: @ 8021D34
adds r2, r6, 0
adds r3, r7, 0
bl box_print
- ldr r4, =gUnknown_085ED830
+ ldr r4, =gText_SpaceMin
movs r0, 0x2
adds r1, r4, 0
movs r2, 0x1
@@ -47638,7 +47638,7 @@ sub_8021D34: @ 8021D34
movs r2, 0x2
movs r3, 0x1
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085ED82C
+ ldr r1, =gText_StrVar1
adds r0, r5, 0
bl StringExpandPlaceholders
movs r0, 0x2
@@ -47669,13 +47669,13 @@ sub_8021D34: @ 8021D34
str r4, [sp]
mov r1, r10
str r1, [sp, 0x4]
- ldr r1, =gUnknown_085ED810
+ ldr r1, =gText_PressingSpeed
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0
adds r3, r7, 0
bl box_print
- ldr r4, =gUnknown_085ED850
+ ldr r4, =gText_TimesPerSec
movs r0, 0x2
adds r1, r4, 0
movs r2, 0x1
@@ -47745,7 +47745,7 @@ _08021F0A:
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085ED848
+ ldr r1, =gText_XDotY3
adds r0, r4, 0
bl StringExpandPlaceholders
movs r2, 0x1
@@ -47808,7 +47808,7 @@ _08021FDE:
str r2, [sp]
movs r5, 0
str r5, [sp, 0x4]
- ldr r1, =gUnknown_085ED820
+ ldr r1, =gText_Silkiness
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0
@@ -47821,7 +47821,7 @@ _08021FDE:
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085ED85C
+ ldr r1, =gText_Var1Percent
adds r0, r4, 0
bl StringExpandPlaceholders
movs r2, 0x1
@@ -47961,7 +47961,7 @@ _0802214E:
adds r0, r6, 0
adds r0, 0x82
ldrb r0, [r0]
- ldr r3, =gUnknown_085ED860
+ ldr r3, =gText_PressesRankings
movs r1, 0x14
movs r2, 0x3
bl sub_80219C8
@@ -48012,7 +48012,7 @@ _080221C8:
adds r0, r6, 0
adds r0, 0x82
ldrb r0, [r0]
- ldr r3, =gUnknown_085ED878
+ ldr r3, =gText_CrushingResults
movs r1, 0x16
movs r2, 0x3
bl sub_80219C8
@@ -48140,7 +48140,7 @@ _08022296:
b _080224BA
.pool
_080222D0:
- ldr r0, =gUnknown_085ED8D0
+ ldr r0, =gText_BerryCrush2
mov r10, r0
movs r1, 0x1
negs r1, r1
@@ -48165,7 +48165,7 @@ _080222D0:
adds r2, r7, 0
movs r3, 0x1
bl box_print
- ldr r0, =gUnknown_085ED8DC
+ ldr r0, =gText_PressingSpeedRankings
mov r10, r0
movs r0, 0x1
mov r1, r10
@@ -48195,7 +48195,7 @@ _08022336:
movs r3, 0x1
bl ConvertIntToDecimalStringN
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085ED8F4
+ ldr r1, =gText_Var1Players
bl StringExpandPlaceholders
ldrb r0, [r6, 0x2]
ldr r1, =gUnknown_082F32D8
@@ -48209,7 +48209,7 @@ _08022336:
mov r3, r10
bl box_print
movs r0, 0x1
- ldr r1, =gUnknown_085ED850
+ ldr r1, =gText_TimesPerSec
movs r2, 0x1
negs r2, r2
bl GetStringWidth
@@ -48222,7 +48222,7 @@ _08022336:
str r1, [sp]
movs r1, 0
str r1, [sp, 0x4]
- ldr r1, =gUnknown_085ED850
+ ldr r1, =gText_TimesPerSec
str r1, [sp, 0x8]
movs r1, 0x1
adds r2, r7, 0
@@ -48280,7 +48280,7 @@ _080223CA:
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085ED848
+ ldr r1, =gText_XDotY3
bl StringExpandPlaceholders
movs r0, 0x1
ldr r1, =gStringVar4
@@ -52907,7 +52907,7 @@ sub_802482C: @ 802482C
adds r2, r4, 0
adds r3, r5, 0
bl SetWindowBorderStyle
- ldr r2, =gUnknown_085EDCDE
+ ldr r2, =gText_Powder
movs r0, 0x1
str r0, [sp]
movs r0, 0xFF
@@ -59274,7 +59274,7 @@ _08027AFE:
ldr r0, [r0]
str r0, [sp]
str r1, [sp, 0x4]
- ldr r1, =gUnknown_085EDCE5
+ ldr r1, =gText_BerryPickingRecords
movs r0, 0x1
movs r2, 0
bl GetStringWidth
@@ -59414,7 +59414,7 @@ sub_8027BEC: @ 8027BEC
adds r0, r7, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r4, =gUnknown_085EDCE5
+ ldr r4, =gText_BerryPickingRecords
ldr r0, [sp, 0x18]
lsls r2, r0, 3
movs r0, 0x1
@@ -62799,7 +62799,7 @@ _08029728:
bcc _08029700
_0802972E:
movs r5, 0
- ldr r4, =gUnknown_085EDE5D
+ ldr r4, =gText_SpacePoints
cmp r5, r7
bcs _08029754
add r1, sp, 0x34
@@ -62939,7 +62939,7 @@ _080297CC:
movs r1, 0
str r1, [sp, 0x8]
movs r1, 0x1
- ldr r2, =gUnknown_085EDE5D
+ ldr r2, =gText_SpacePoints
lsrs r3, 24
bl PrintTextOnWindow
adds r0, r5, 0x1
@@ -63057,7 +63057,7 @@ _0802996C:
ldrb r0, [r0]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EDD49
+ ldr r2, =gText_BerryPickingResults
mov r8, r2
movs r2, 0x1
negs r2, r2
@@ -63084,7 +63084,7 @@ _0802996C:
ldr r0, [r4]
add r0, r9
ldrb r0, [r0]
- ldr r2, =gUnknown_085EDD6B
+ ldr r2, =gText_10P30P50P50P
movs r1, 0x11
str r1, [sp]
str r6, [sp, 0x4]
@@ -63324,7 +63324,7 @@ _08029BFC:
ldrb r0, [r0]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r6, =gUnknown_085EDD86
+ ldr r6, =gText_AnnouncingRankings
movs r2, 0x1
negs r2, r2
movs r0, 0x1
@@ -63488,7 +63488,7 @@ _08029DA0:
ldrb r0, [r0]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r5, =gUnknown_085EDD9B
+ ldr r5, =gText_AnnouncingPrizes
movs r2, 0x1
negs r2, r2
movs r0, 0x1
@@ -63525,7 +63525,7 @@ _08029DA0:
adds r1, r5, 0
bl sub_81AFC0C
ldr r7, =gStringVar4
- ldr r1, =gUnknown_085EDDBD
+ ldr r1, =gText_FirstPlacePrize
adds r0, r7, 0
bl sub_81AFC28
ldr r0, [r4]
@@ -63559,7 +63559,7 @@ _08029DA0:
bl sub_81AFC0C
cmp r4, 0x2
bne _08029E9C
- ldr r1, =gUnknown_085EDDE2
+ ldr r1, =gText_CantHoldAnyMore
adds r0, r7, 0
bl sub_81AFC28
b _08029EA8
@@ -63567,7 +63567,7 @@ _08029DA0:
_08029E9C:
cmp r6, 0x1
bne _08029EA8
- ldr r1, =gUnknown_085EDDFB
+ ldr r1, =gText_FilledStorageSpace
adds r0, r7, 0
bl sub_81AFC28
_08029EA8:
@@ -63809,7 +63809,7 @@ _0802A0CC:
ldr r0, [r7]
add r0, r8
ldrb r0, [r0]
- ldr r2, =gUnknown_085EDE18
+ ldr r2, =gText_WantToPlayAgain
movs r1, 0x5
str r1, [sp]
movs r3, 0xFF
@@ -63823,7 +63823,7 @@ _0802A0CC:
ldr r0, [r7]
add r0, r10
ldrb r0, [r0]
- ldr r2, =gUnknown_085EAE62
+ ldr r2, =gText_Yes
str r6, [sp]
mov r3, r9
str r3, [sp, 0x4]
@@ -63835,7 +63835,7 @@ _0802A0CC:
ldr r0, [r7]
add r0, r10
ldrb r0, [r0]
- ldr r2, =gUnknown_085EAE66
+ ldr r2, =gText_No
movs r1, 0x11
str r1, [sp]
mov r3, r9
@@ -63912,7 +63912,7 @@ _0802A1DC:
ldr r0, [r7]
add r0, r8
ldrb r0, [r0]
- ldr r2, =gUnknown_085EAE62
+ ldr r2, =gText_Yes
movs r1, 0x1
str r1, [sp]
movs r3, 0xFF
@@ -63927,7 +63927,7 @@ _0802A1DC:
ldr r0, [r7]
add r0, r8
ldrb r0, [r0]
- ldr r2, =gUnknown_085EAE66
+ ldr r2, =gText_No
movs r1, 0x11
str r1, [sp]
mov r3, r10
@@ -64234,7 +64234,7 @@ _0802A4AC:
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
- ldr r2, =gUnknown_085EDE65
+ ldr r2, =gText_CommunicationStandby3
movs r1, 0x5
str r1, [sp]
movs r1, 0xFF
@@ -64394,7 +64394,7 @@ _0802A610:
ldr r0, [r6]
adds r0, r4
ldrb r0, [r0]
- ldr r2, =gUnknown_085EDE2C
+ ldr r2, =gText_SomeoneDroppedOut
movs r1, 0x5
str r1, [sp]
movs r1, 0xFF
@@ -70271,7 +70271,7 @@ _0802D46A:
strh r0, [r1, 0x12]
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_085EDF2A
+ ldr r2, =gText_WantToPlayAgain2
movs r1, 0x1
str r1, [sp]
movs r1, 0xFF
@@ -70473,7 +70473,7 @@ _0802D606:
strh r0, [r1, 0x12]
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_085EDF3E
+ ldr r2, =gText_SomeoneDroppedOut2
movs r1, 0x1
str r1, [sp]
movs r1, 0xFF
@@ -70553,7 +70553,7 @@ _0802D6AA:
strh r0, [r1, 0x12]
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_085EDF6F
+ ldr r2, =gText_CommunicationStandby4
movs r1, 0x1
str r1, [sp]
movs r1, 0xFF
@@ -70740,7 +70740,7 @@ sub_802D7E8: @ 802D7E8
bl sub_81AFC0C
ldr r0, [r5]
adds r0, 0xA6
- ldr r1, =gUnknown_085EDED3
+ ldr r1, =gText_AwesomeWonF701F700
bl sub_81AFC28
movs r0, 0x4
movs r1, 0x8
@@ -70793,7 +70793,7 @@ sub_802D884: @ 802D884
bl sub_81AFC0C
ldr r0, [r4]
adds r0, 0xA6
- ldr r1, =gUnknown_085EDEF4
+ ldr r1, =gText_FilledStorageSpace2
bl sub_81AFC28
movs r0, 0x4
movs r1, 0x8
@@ -70846,7 +70846,7 @@ sub_802D8FC: @ 802D8FC
bl sub_81AFC0C
ldr r0, [r4]
adds r0, 0xA6
- ldr r1, =gUnknown_085EDF11
+ ldr r1, =gText_CantHoldMore
bl sub_81AFC28
movs r0, 0x4
movs r1, 0x9
@@ -71167,7 +71167,7 @@ sub_802DB8C: @ 802DB8C
str r0, [sp]
movs r4, 0
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EDE7C
+ ldr r0, =gText_SpacePoints2
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -71177,7 +71177,7 @@ sub_802DB8C: @ 802DB8C
add r0, sp, 0xC
str r0, [sp]
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EDE84
+ ldr r0, =gText_SpaceTimes3
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0
@@ -72272,7 +72272,7 @@ _0802E416:
ldr r0, [r0]
str r0, [sp]
str r1, [sp, 0x4]
- ldr r1, =gUnknown_085EDE8D
+ ldr r1, =gText_PkmnJumpRecords
movs r0, 0x1
movs r2, 0
bl GetStringWidth
@@ -72407,7 +72407,7 @@ sub_802E500: @ 802E500
adds r0, r4, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r5, =gUnknown_085EDE8D
+ ldr r5, =gText_PkmnJumpRecords
ldr r1, [sp, 0x1C]
lsls r2, r1, 3
movs r0, 0x1
diff --git a/asm/macros.inc b/asm/macros.inc
index 642b6a33f..135cfac61 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -20,12 +20,43 @@
.2byte \tag
.endm
+ .macro null_obj_tiles
+ obj_tiles 0, 0, 0
+ .endm
+
.macro obj_pal address, tag
.4byte \address
.2byte \tag
.2byte 0@ padding
.endm
+ .macro null_obj_pal
+ obj_pal 0, 0
+ .endm
+
+ .macro paired_pals tag, address
+ .2byte \tag
+ .2byte 0 @ padding
+ .4byte \address
+ .endm
+
+@ For object animation frames.
+ .macro obj_frame_tiles address, uncompressed_size
+ .4byte \address
+ .2byte \uncompressed_size
+ .2byte 0 @ padding
+ .endm
+
+ .macro spr_template tile_tag, pal_tag, oam, anims, images, affine_anims, callback
+ .2byte \tile_tag
+ .2byte \pal_tag
+ .4byte \oam
+ .4byte \anims
+ .4byte \images
+ .4byte \affine_anims
+ .4byte \callback
+ .endm
+
@ Berry trees have a table defining the palette slot used for each of their 5
@ stages. However, the first 2 stages always use the same slots regardless of
@ the type of tree and the slots of the last 3 stages always equal each other.
diff --git a/asm/macros/window.inc b/asm/macros/window.inc
index 04c148114..b7291138b 100644
--- a/asm/macros/window.inc
+++ b/asm/macros/window.inc
@@ -8,6 +8,10 @@
.2byte \vram_tile_offset
.endm
+ .macro window_template_terminator
+ window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
+ .endm
+
.macro glyph_width_func font_id, func
.4byte \font_id
.4byte \func
diff --git a/asm/mail.s b/asm/mail.s
index 77cbc4e83..5f76a5ef0 100644
--- a/asm/mail.s
+++ b/asm/mail.s
@@ -691,7 +691,7 @@ _08121A8A:
ldrb r0, [r0]
cmp r0, 0
bne _08121AF0
- ldr r1, =gUnknown_085EEA78
+ ldr r1, =gText_FromSpace
adds r0, r2, 0
bl StringCopy
ldr r0, [r4]
@@ -825,7 +825,7 @@ _08121BB8:
cmp r6, r0
bcc _08121B60
_08121BCC:
- ldr r1, =gUnknown_085EEA78
+ ldr r1, =gText_FromSpace
add r0, sp, 0xC
bl StringCopy
ldr r4, =gUnknown_0203A134
diff --git a/asm/main_menu.s b/asm/main_menu.s
index ed04ba6f3..40466ae1b 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -2951,7 +2951,7 @@ task_new_game_prof_birch_speech_17: @ 8031090
str r0, [sp, 0x4]
movs r0, 0
movs r3, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
_080310EC:
add sp, 0x8
pop {r4,r5}
@@ -4547,7 +4547,7 @@ fmt_time: @ 8031E94
push {r4-r6,lr}
sub sp, 0xC
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EDCC3
+ ldr r1, =gText_ContinueMenuPlayer
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r6, =gUnknown_082FF0E3
@@ -4589,7 +4589,7 @@ fmt_player: @ 8031EF8
push {r4-r6,lr}
sub sp, 0x2C
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EDCCA
+ ldr r1, =gText_ContinueMenuTime
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r6, =gUnknown_082FF0E3
@@ -4664,7 +4664,7 @@ _08031FAA:
lsls r0, 16
lsrs r7, r0, 16
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EDCCF
+ ldr r1, =gText_ContinueMenuPokedex
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r6, =gUnknown_082FF0E3
@@ -4728,7 +4728,7 @@ _08032030:
cmp r4, r0
bls _0803201C
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EDCD7
+ ldr r1, =gText_ContinueMenuBadges
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r6, =gUnknown_082FF0E3
diff --git a/asm/map_obj_8097404.s b/asm/map_obj_8097404.s
index 50284a013..4ed8e3bcd 100644
--- a/asm/map_obj_8097404.s
+++ b/asm/map_obj_8097404.s
@@ -97,7 +97,7 @@ _0809749A:
lsls r0, 31
cmp r0, 0
beq _080974B8
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
cmp r4, r0
beq _080974B8
@@ -133,7 +133,7 @@ _080974DA:
lsls r0, 31
cmp r0, 0
beq _080974FC
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
cmp r4, r0
beq _080974FC
@@ -769,16 +769,16 @@ _08097964:
.pool
thumb_func_end sub_80978E4
- thumb_func_start sub_8097978
-@ void sub_8097978(struct obj *object, u16 a2)
-sub_8097978: @ 8097978
+ thumb_func_start SetFieldObjectStepTimer
+@ void SetFieldObjectStepTimer(struct obj *object, u16 a2)
+SetFieldObjectStepTimer: @ 8097978
strh r1, [r0, 0x34]
bx lr
- thumb_func_end sub_8097978
+ thumb_func_end SetFieldObjectStepTimer
- thumb_func_start sub_809797C
-@ bool8 sub_809797C(struct obj *object)
-sub_809797C: @ 809797C
+ thumb_func_start RunFieldObjectStepTimer
+@ bool8 RunFieldObjectStepTimer(struct obj *object)
+RunFieldObjectStepTimer: @ 809797C
push {lr}
ldrh r1, [r0, 0x34]
subs r1, 0x1
@@ -793,7 +793,7 @@ _0809798E:
_08097990:
pop {r1}
bx r1
- thumb_func_end sub_809797C
+ thumb_func_end RunFieldObjectStepTimer
thumb_func_start obj_anim_image_set_and_seek
obj_anim_image_set_and_seek: @ 8097994
@@ -1396,7 +1396,7 @@ oe_exec_and_other_stuff: @ 8097DD0
adds r0, r1, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
adds r2, r1, 0x4
adds r3, r1, 0
adds r3, 0x8
@@ -1434,7 +1434,7 @@ DoRippleFieldEffect: @ 8097E14
adds r4, r1, 0
ldrb r0, [r0, 0x5]
bl GetFieldObjectGraphicsInfo
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
movs r3, 0x20
ldrsh r1, [r4, r3]
str r1, [r2]
@@ -1771,7 +1771,7 @@ _08098082:
lsls r0, 31
cmp r0, 0
beq _080980A8
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
cmp r4, r0
beq _080980A8
diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s
index 6530c268b..60757cdd0 100644
--- a/asm/map_obj_lock.s
+++ b/asm/map_obj_lock.s
@@ -8,7 +8,7 @@
thumb_func_start walkrun_is_standing_still
walkrun_is_standing_still: @ 8098388
push {lr}
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x3]
cmp r0, 0x1
beq _0809839C
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
index 05d15601c..7b21e19e7 100644
--- a/asm/mauville_old_man.s
+++ b/asm/mauville_old_man.s
@@ -1400,7 +1400,7 @@ _08120BB0:
movs r2, 0x8
bl memset
mov r0, sp
- ldr r1, =gUnknown_085EDFB0
+ ldr r1, =gText_Friend
bl StringCopy
adds r0, r5, 0
mov r1, sp
@@ -2218,7 +2218,7 @@ sub_8121178: @ 8121178
sub_81211EC: @ 81211EC
push {r4,r5,lr}
sub sp, 0xC
- ldr r1, =gUnknown_085EB7EA
+ ldr r1, =gText_Exit
movs r0, 0x1
movs r2, 0
bl GetStringWidth
@@ -2309,7 +2309,7 @@ _08121272:
_081212AA:
ldr r5, =gUnknown_0203A130
ldrb r0, [r5]
- ldr r2, =gUnknown_085EB7EA
+ ldr r2, =gText_Exit
lsls r1, r4, 4
adds r1, 0x1
lsls r1, 24
diff --git a/asm/menu.s b/asm/menu.s
index 553161d40..71ff9218c 100755
--- a/asm/menu.s
+++ b/asm/menu.s
@@ -1250,7 +1250,7 @@ RedrawMenuCursor: @ 8198448
bl FillWindowPixelRect
ldrb r0, [r5, 0x5]
ldrb r1, [r5, 0x6]
- ldr r2, =gUnknown_085EE498
+ ldr r2, =gText_SelectorArrow3
ldrb r3, [r5]
ldrb r4, [r5, 0x8]
mov r6, r8
@@ -2139,7 +2139,7 @@ sub_8198AF8: @ 8198AF8
adds r2, r4, 0
adds r3, r5, 0
bl SetWindowBorderStyle
- ldr r0, =gUnknown_085EE491
+ ldr r0, =gText_YesNo
str r0, [sp, 0xC]
add r1, sp, 0xC
ldrb r0, [r7]
@@ -2877,7 +2877,7 @@ sub_8199060: @ 8199060
lsrs r3, 24
ldrb r0, [r5, 0x5]
ldrb r1, [r5, 0x6]
- ldr r2, =gUnknown_085EE498
+ ldr r2, =gText_SelectorArrow3
str r3, [sp]
movs r3, 0
str r3, [sp, 0x4]
@@ -3668,7 +3668,7 @@ CreateYesNoMenu: @ 81996C0
adds r2, r4, 0
adds r3, r5, 0
bl SetWindowBorderStyle
- ldr r0, =gUnknown_085EE491
+ ldr r0, =gText_YesNo
str r0, [sp]
mov r1, sp
mov r2, r8
@@ -5201,7 +5201,7 @@ sub_819A25C: @ 819A25C
lsrs r4, 24
lsls r0, 16
lsrs r0, 16
- bl sub_80D30B0
+ bl GetValidMonIconPalettePtr
adds r1, r4, 0
movs r2, 0x20
bl LoadPalette
@@ -5228,7 +5228,7 @@ sub_819A27C: @ 819A27C
lsls r5, 16
lsrs r5, 16
movs r2, 0x1
- bl sub_80D2EDC
+ bl GetMonIconPtr
adds r1, r0, 0
movs r0, 0x20
str r0, [sp]
diff --git a/asm/metatile_behavior.s b/asm/metatile_behavior.s
deleted file mode 100644
index 30b0f4348..000000000
--- a/asm/metatile_behavior.s
+++ /dev/null
@@ -1,2610 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ShouldDoJumpLandingDustEffect
-ShouldDoJumpLandingDustEffect: @ 8088DEC
- movs r0, 0x1
- bx lr
- thumb_func_end ShouldDoJumpLandingDustEffect
-
- thumb_func_start sub_8088DF0
-sub_8088DF0: @ 8088DF0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_08486EFC
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08088E0C
- movs r0, 0
- b _08088E0E
- .pool
-_08088E0C:
- movs r0, 0x1
-_08088E0E:
- pop {r1}
- bx r1
- thumb_func_end sub_8088DF0
-
- thumb_func_start MetatileBehavior_IsJumpEast
-MetatileBehavior_IsJumpEast: @ 8088E14
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x38
- beq _08088E22
- movs r0, 0
- b _08088E24
-_08088E22:
- movs r0, 0x1
-_08088E24:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpEast
-
- thumb_func_start MetatileBehavior_IsJumpWest
-MetatileBehavior_IsJumpWest: @ 8088E28
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x39
- beq _08088E36
- movs r0, 0
- b _08088E38
-_08088E36:
- movs r0, 0x1
-_08088E38:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpWest
-
- thumb_func_start MetatileBehavior_IsJumpNorth
-MetatileBehavior_IsJumpNorth: @ 8088E3C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3A
- beq _08088E4A
- movs r0, 0
- b _08088E4C
-_08088E4A:
- movs r0, 0x1
-_08088E4C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpNorth
-
- thumb_func_start MetatileBehavior_IsJumpSouth
-MetatileBehavior_IsJumpSouth: @ 8088E50
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- beq _08088E5E
- movs r0, 0
- b _08088E60
-_08088E5E:
- movs r0, 0x1
-_08088E60:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsJumpSouth
-
- thumb_func_start sub_8088E64
-sub_8088E64: @ 8088E64
- push {lr}
- lsls r0, 24
- movs r1, 0xFE
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08088E78
- movs r0, 0
- b _08088E7A
-_08088E78:
- movs r0, 0x1
-_08088E7A:
- pop {r1}
- bx r1
- thumb_func_end sub_8088E64
-
- thumb_func_start MetatileBehavior_IsSandOrDeepSand
-MetatileBehavior_IsSandOrDeepSand: @ 8088E80
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x21
- beq _08088E8E
- cmp r0, 0x6
- bne _08088E92
-_08088E8E:
- movs r0, 0x1
- b _08088E94
-_08088E92:
- movs r0, 0
-_08088E94:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSandOrDeepSand
-
- thumb_func_start MetatileBehavior_IsDeepSand
-MetatileBehavior_IsDeepSand: @ 8088E98
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08088EA6
- movs r0, 0
- b _08088EA8
-_08088EA6:
- movs r0, 0x1
-_08088EA8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsDeepSand
-
- thumb_func_start MetatileBehavior_IsReflective
-MetatileBehavior_IsReflective: @ 8088EAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _08088ECA
- cmp r0, 0x16
- beq _08088ECA
- cmp r0, 0x1A
- beq _08088ECA
- cmp r0, 0x20
- beq _08088ECA
- cmp r0, 0x14
- beq _08088ECA
- cmp r0, 0x2B
- bne _08088ECE
-_08088ECA:
- movs r0, 0x1
- b _08088ED0
-_08088ECE:
- movs r0, 0
-_08088ED0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsReflective
-
- thumb_func_start MetatileBehavior_IsIce
-MetatileBehavior_IsIce: @ 8088ED4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- beq _08088EE2
- movs r0, 0
- b _08088EE4
-_08088EE2:
- movs r0, 0x1
-_08088EE4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIce
-
- thumb_func_start is_tile_x69_2_warp_door
-is_tile_x69_2_warp_door: @ 8088EE8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x69
- beq _08088EF6
- movs r0, 0
- b _08088EF8
-_08088EF6:
- movs r0, 0x1
-_08088EF8:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x69_2_warp_door
-
- thumb_func_start sub_8088EFC
-sub_8088EFC: @ 8088EFC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8D
- beq _08088F0A
- cmp r0, 0x69
- bne _08088F0E
-_08088F0A:
- movs r0, 0x1
- b _08088F10
-_08088F0E:
- movs r0, 0
-_08088F10:
- pop {r1}
- bx r1
- thumb_func_end sub_8088EFC
-
- thumb_func_start MetatileBehavior_IsEscalator
-MetatileBehavior_IsEscalator: @ 8088F14
- push {lr}
- lsls r0, 24
- movs r1, 0x96
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08088F28
- movs r0, 0
- b _08088F2A
-_08088F28:
- movs r0, 0x1
-_08088F2A:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEscalator
-
- thumb_func_start sub_8088F30
-sub_8088F30: @ 8088F30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _08088F3E
- movs r0, 0
- b _08088F40
-_08088F3E:
- movs r0, 0x1
-_08088F40:
- pop {r1}
- bx r1
- thumb_func_end sub_8088F30
-
- thumb_func_start MetatileBehavior_IsLadder
-MetatileBehavior_IsLadder: @ 8088F44
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x61
- beq _08088F52
- movs r0, 0
- b _08088F54
-_08088F52:
- movs r0, 0x1
-_08088F54:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLadder
-
- thumb_func_start sub_8088F58
-sub_8088F58: @ 8088F58
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x60
- beq _08088F6A
- cmp r0, 0x6C
- beq _08088F6A
- cmp r0, 0x6E
- bne _08088F6E
-_08088F6A:
- movs r0, 0x1
- b _08088F70
-_08088F6E:
- movs r0, 0
-_08088F70:
- pop {r1}
- bx r1
- thumb_func_end sub_8088F58
-
- thumb_func_start sub_8088F74
-sub_8088F74: @ 8088F74
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6E
- beq _08088F82
- movs r0, 0
- b _08088F84
-_08088F82:
- movs r0, 0x1
-_08088F84:
- pop {r1}
- bx r1
- thumb_func_end sub_8088F74
-
- thumb_func_start MetatileBehavior_IsSurfableWaterOrUnderwater
-MetatileBehavior_IsSurfableWaterOrUnderwater: @ 8088F88
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_08486EFC
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08088FA4
- movs r0, 0
- b _08088FA6
- .pool
-_08088FA4:
- movs r0, 0x1
-_08088FA6:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSurfableWaterOrUnderwater
-
- thumb_func_start MetatileBehavior_IsEastArrowWarp
-MetatileBehavior_IsEastArrowWarp: @ 8088FAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x62
- beq _08088FBA
- movs r0, 0
- b _08088FBC
-_08088FBA:
- movs r0, 0x1
-_08088FBC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastArrowWarp
-
- thumb_func_start MetatileBehavior_IsWestArrowWarp
-MetatileBehavior_IsWestArrowWarp: @ 8088FC0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- beq _08088FCE
- movs r0, 0
- b _08088FD0
-_08088FCE:
- movs r0, 0x1
-_08088FD0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestArrowWarp
-
- thumb_func_start MetatileBehavior_IsNorthArrowWarp
-MetatileBehavior_IsNorthArrowWarp: @ 8088FD4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x64
- beq _08088FE2
- cmp r0, 0x1B
- bne _08088FE6
-_08088FE2:
- movs r0, 0x1
- b _08088FE8
-_08088FE6:
- movs r0, 0
-_08088FE8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthArrowWarp
-
- thumb_func_start MetatileBehavior_IsSouthArrowWarp
-MetatileBehavior_IsSouthArrowWarp: @ 8088FEC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- beq _08088FFE
- cmp r0, 0x6D
- beq _08088FFE
- cmp r0, 0x1C
- bne _08089002
-_08088FFE:
- movs r0, 0x1
- b _08089004
-_08089002:
- movs r0, 0
-_08089004:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthArrowWarp
-
- thumb_func_start sub_8089008
-sub_8089008: @ 8089008
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- adds r0, r4, 0
- bl MetatileBehavior_IsEastArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08089040
- adds r0, r4, 0
- bl MetatileBehavior_IsWestArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08089040
- adds r0, r4, 0
- bl MetatileBehavior_IsNorthArrowWarp
- lsls r0, 24
- cmp r0, 0
- bne _08089040
- adds r0, r4, 0
- bl MetatileBehavior_IsSouthArrowWarp
- lsls r0, 24
- cmp r0, 0
- beq _08089042
-_08089040:
- movs r5, 0x1
-_08089042:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8089008
-
- thumb_func_start sub_808904C
-sub_808904C: @ 808904C
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC0
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x8
- bls _08089082
- adds r0, r1, 0
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08089082
- cmp r1, 0xD0
- beq _08089082
- cmp r1, 0xD2
- beq _08089082
- cmp r1, 0x13
- beq _08089082
- cmp r1, 0x20
- beq _08089082
- cmp r1, 0xBB
- beq _08089082
- cmp r1, 0xBC
- bne _08089086
-_08089082:
- movs r0, 0x1
- b _08089088
-_08089086:
- movs r0, 0
-_08089088:
- pop {r1}
- bx r1
- thumb_func_end sub_808904C
-
- thumb_func_start MetatileBehavior_IsIce_2
-@ bool8 MetatileBehavior_IsIce_2(u8 metatileBehavior)
-MetatileBehavior_IsIce_2: @ 808908C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x20
- beq _0808909A
- movs r0, 0
- b _0808909C
-_0808909A:
- movs r0, 0x1
-_0808909C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIce_2
-
- thumb_func_start MetatileBehavior_IsTrickHouseSlipperyFloor
-@ bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 metatileBehavior)
-MetatileBehavior_IsTrickHouseSlipperyFloor: @ 80890A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x48
- beq _080890AE
- movs r0, 0
- b _080890B0
-_080890AE:
- movs r0, 0x1
-_080890B0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsTrickHouseSlipperyFloor
-
- thumb_func_start MetatileBehavior_0x05
-MetatileBehavior_0x05: @ 80890B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _080890C2
- movs r0, 0
- b _080890C4
-_080890C2:
- movs r0, 0x1
-_080890C4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0x05
-
- thumb_func_start MetatileBehavior_IsWalkNorth
-@ bool8 MetatileBehavior_IsWalkNorth(u8 metatileBehavior)
-MetatileBehavior_IsWalkNorth: @ 80890C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x42
- beq _080890D6
- movs r0, 0
- b _080890D8
-_080890D6:
- movs r0, 0x1
-_080890D8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkNorth
-
- thumb_func_start MetatileBehavior_IsWalkSouth
-@ bool8 MetatileBehavior_IsWalkSouth(u8 metatileBehavior)
-MetatileBehavior_IsWalkSouth: @ 80890DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x43
- beq _080890EA
- movs r0, 0
- b _080890EC
-_080890EA:
- movs r0, 0x1
-_080890EC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkSouth
-
- thumb_func_start MetatileBehavior_IsWalkWest
-@ bool8 MetatileBehavior_IsWalkWest(u8 metatileBehavior)
-MetatileBehavior_IsWalkWest: @ 80890F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x41
- beq _080890FE
- movs r0, 0
- b _08089100
-_080890FE:
- movs r0, 0x1
-_08089100:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkWest
-
- thumb_func_start MetatileBehavior_IsWalkEast
-@ bool8 MetatileBehavior_IsWalkEast(u8 metatileBehavior)
-MetatileBehavior_IsWalkEast: @ 8089104
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08089112
- movs r0, 0
- b _08089114
-_08089112:
- movs r0, 0x1
-_08089114:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWalkEast
-
- thumb_func_start MetatileBehavior_IsNorthwardCurrent
-@ bool8 MetatileBehavior_IsNorthwardCurrent(u8 metatileBehavior)
-MetatileBehavior_IsNorthwardCurrent: @ 8089118
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x52
- beq _08089126
- movs r0, 0
- b _08089128
-_08089126:
- movs r0, 0x1
-_08089128:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthwardCurrent
-
- thumb_func_start MetatileBehavior_IsSouthwardCurrent
-@ bool8 MetatileBehavior_IsSouthwardCurrent(u8 metatileBehavior)
-MetatileBehavior_IsSouthwardCurrent: @ 808912C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x53
- beq _0808913A
- movs r0, 0
- b _0808913C
-_0808913A:
- movs r0, 0x1
-_0808913C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthwardCurrent
-
- thumb_func_start MetatileBehavior_IsWestwardCurrent
-@ bool8 MetatileBehavior_IsWestwardCurrent(u8 metatileBehavior)
-MetatileBehavior_IsWestwardCurrent: @ 8089140
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x51
- beq _0808914E
- movs r0, 0
- b _08089150
-_0808914E:
- movs r0, 0x1
-_08089150:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestwardCurrent
-
- thumb_func_start MetatileBehavior_IsEastwardCurrent
-@ bool8 MetatileBehavior_IsEastwardCurrent(u8 metatileBehavior)
-MetatileBehavior_IsEastwardCurrent: @ 8089154
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x50
- beq _08089162
- movs r0, 0
- b _08089164
-_08089162:
- movs r0, 0x1
-_08089164:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastwardCurrent
-
- thumb_func_start MetatileBehavior_IsSlideNorth
-@ bool8 MetatileBehavior_IsSlideNorth(u8 metatileBehavior)
-MetatileBehavior_IsSlideNorth: @ 8089168
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x46
- beq _08089176
- movs r0, 0
- b _08089178
-_08089176:
- movs r0, 0x1
-_08089178:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideNorth
-
- thumb_func_start MetatileBehavior_IsSlideSouth
-@ bool8 MetatileBehavior_IsSlideSouth(u8 metatileBehavior)
-MetatileBehavior_IsSlideSouth: @ 808917C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x47
- beq _0808918A
- movs r0, 0
- b _0808918C
-_0808918A:
- movs r0, 0x1
-_0808918C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideSouth
-
- thumb_func_start MetatileBehavior_IsSlideWest
-@ bool8 MetatileBehavior_IsSlideWest(u8 metatileBehavior)
-MetatileBehavior_IsSlideWest: @ 8089190
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x45
- beq _0808919E
- movs r0, 0
- b _080891A0
-_0808919E:
- movs r0, 0x1
-_080891A0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideWest
-
- thumb_func_start MetatileBehavior_IsSlideEast
-@ bool8 MetatileBehavior_IsSlideEast(u8 metatileBehavior)
-MetatileBehavior_IsSlideEast: @ 80891A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x44
- beq _080891B2
- movs r0, 0
- b _080891B4
-_080891B2:
- movs r0, 0x1
-_080891B4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSlideEast
-
- thumb_func_start MetatileBehavior_IsCounter
-MetatileBehavior_IsCounter: @ 80891B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x80
- beq _080891C6
- movs r0, 0
- b _080891C8
-_080891C6:
- movs r0, 0x1
-_080891C8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsCounter
-
- thumb_func_start MetatileBehavior_IsPlayerFacingTVScreen
-@ bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 behavior, u8 direction)
-MetatileBehavior_IsPlayerFacingTVScreen: @ 80891CC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x2
- bne _080891DE
- cmp r0, 0x86
- beq _080891E2
-_080891DE:
- movs r0, 0
- b _080891E4
-_080891E2:
- movs r0, 0x1
-_080891E4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPlayerFacingTVScreen
-
- thumb_func_start MetatileBehavior_IsPC
-MetatileBehavior_IsPC: @ 80891E8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x83
- beq _080891F6
- movs r0, 0
- b _080891F8
-_080891F6:
- movs r0, 0x1
-_080891F8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPC
-
- thumb_func_start is_tile_x84
-is_tile_x84: @ 80891FC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x84
- beq _0808920A
- movs r0, 0
- b _0808920C
-_0808920A:
- movs r0, 0x1
-_0808920C:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x84
-
- thumb_func_start sub_8089210
-sub_8089210: @ 8089210
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x91
- beq _08089232
- cmp r0, 0x93
- beq _08089232
- cmp r0, 0x95
- beq _08089232
- cmp r0, 0x97
- beq _08089232
- cmp r0, 0x99
- beq _08089232
- cmp r0, 0x9B
- beq _08089232
- cmp r0, 0x9D
- bne _08089236
-_08089232:
- movs r0, 0x1
- b _08089238
-_08089236:
- movs r0, 0
-_08089238:
- pop {r1}
- bx r1
- thumb_func_end sub_8089210
-
- thumb_func_start sub_808923C
-sub_808923C: @ 808923C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x90
- beq _08089252
- cmp r0, 0x92
- beq _08089252
- cmp r0, 0x94
- beq _08089252
- cmp r0, 0x9A
- bne _08089256
-_08089252:
- movs r0, 0x1
- b _08089258
-_08089256:
- movs r0, 0
-_08089258:
- pop {r1}
- bx r1
- thumb_func_end sub_808923C
-
- thumb_func_start sub_808925C
-sub_808925C: @ 808925C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x96
- beq _0808926A
- cmp r0, 0x9C
- bne _0808926E
-_0808926A:
- movs r0, 0x1
- b _08089270
-_0808926E:
- movs r0, 0
-_08089270:
- pop {r1}
- bx r1
- thumb_func_end sub_808925C
-
- thumb_func_start is_tile_x98
-is_tile_x98: @ 8089274
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x98
- beq _08089282
- movs r0, 0
- b _08089284
-_08089282:
- movs r0, 0x1
-_08089284:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x98
-
- thumb_func_start sub_8089288
-sub_8089288: @ 8089288
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB0
- beq _08089296
- movs r0, 0
- b _08089298
-_08089296:
- movs r0, 0x1
-_08089298:
- pop {r1}
- bx r1
- thumb_func_end sub_8089288
-
- thumb_func_start sub_808929C
-sub_808929C: @ 808929C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB1
- beq _080892AA
- movs r0, 0
- b _080892AC
-_080892AA:
- movs r0, 0x1
-_080892AC:
- pop {r1}
- bx r1
- thumb_func_end sub_808929C
-
- thumb_func_start sub_80892B0
-sub_80892B0: @ 80892B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB2
- beq _080892BE
- movs r0, 0
- b _080892C0
-_080892BE:
- movs r0, 0x1
-_080892C0:
- pop {r1}
- bx r1
- thumb_func_end sub_80892B0
-
- thumb_func_start sub_80892C4
-sub_80892C4: @ 80892C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB3
- beq _080892D2
- movs r0, 0
- b _080892D4
-_080892D2:
- movs r0, 0x1
-_080892D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80892C4
-
- thumb_func_start sub_80892D8
-sub_80892D8: @ 80892D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB9
- beq _080892E6
- movs r0, 0
- b _080892E8
-_080892E6:
- movs r0, 0x1
-_080892E8:
- pop {r1}
- bx r1
- thumb_func_end sub_80892D8
-
- thumb_func_start sub_80892EC
-sub_80892EC: @ 80892EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC6
- beq _080892FA
- movs r0, 0
- b _080892FC
-_080892FA:
- movs r0, 0x1
-_080892FC:
- pop {r1}
- bx r1
- thumb_func_end sub_80892EC
-
- thumb_func_start sub_8089300
-sub_8089300: @ 8089300
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC7
- beq _0808930E
- movs r0, 0
- b _08089310
-_0808930E:
- movs r0, 0x1
-_08089310:
- pop {r1}
- bx r1
- thumb_func_end sub_8089300
-
- thumb_func_start sub_8089314
-sub_8089314: @ 8089314
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _08089320
- movs r0, 0
- b _08089322
-_08089320:
- movs r0, 0x1
-_08089322:
- pop {r1}
- bx r1
- thumb_func_end sub_8089314
-
- thumb_func_start sub_8089328
-sub_8089328: @ 8089328
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB7
- beq _08089336
- movs r0, 0
- b _08089338
-_08089336:
- movs r0, 0x1
-_08089338:
- pop {r1}
- bx r1
- thumb_func_end sub_8089328
-
- thumb_func_start sub_808933C
-sub_808933C: @ 808933C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB2
- beq _0808934A
- movs r0, 0
- b _0808934C
-_0808934A:
- movs r0, 0x1
-_0808934C:
- pop {r1}
- bx r1
- thumb_func_end sub_808933C
-
- thumb_func_start sub_8089350
-sub_8089350: @ 8089350
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB5
- beq _0808935E
- movs r0, 0
- b _08089360
-_0808935E:
- movs r0, 0x1
-_08089360:
- pop {r1}
- bx r1
- thumb_func_end sub_8089350
-
- thumb_func_start sub_8089364
-sub_8089364: @ 8089364
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC3
- beq _08089372
- movs r0, 0
- b _08089374
-_08089372:
- movs r0, 0x1
-_08089374:
- pop {r1}
- bx r1
- thumb_func_end sub_8089364
-
- thumb_func_start sub_8089378
-sub_8089378: @ 8089378
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC2
- beq _08089386
- movs r0, 0
- b _08089388
-_08089386:
- movs r0, 0x1
-_08089388:
- pop {r1}
- bx r1
- thumb_func_end sub_8089378
-
- thumb_func_start sub_808938C
-sub_808938C: @ 808938C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB8
- beq _0808939A
- movs r0, 0
- b _0808939C
-_0808939A:
- movs r0, 0x1
-_0808939C:
- pop {r1}
- bx r1
- thumb_func_end sub_808938C
-
- thumb_func_start sub_80893A0
-sub_80893A0: @ 80893A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBE
- beq _080893AE
- movs r0, 0
- b _080893B0
-_080893AE:
- movs r0, 0x1
-_080893B0:
- pop {r1}
- bx r1
- thumb_func_end sub_80893A0
-
- thumb_func_start sub_80893B4
-sub_80893B4: @ 80893B4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBD
- beq _080893C2
- movs r0, 0
- b _080893C4
-_080893C2:
- movs r0, 0x1
-_080893C4:
- pop {r1}
- bx r1
- thumb_func_end sub_80893B4
-
- thumb_func_start sub_80893C8
-sub_80893C8: @ 80893C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBA
- beq _080893D6
- movs r0, 0
- b _080893D8
-_080893D6:
- movs r0, 0x1
-_080893D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80893C8
-
- thumb_func_start sub_80893DC
-sub_80893DC: @ 80893DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBF
- beq _080893EA
- movs r0, 0
- b _080893EC
-_080893EA:
- movs r0, 0x1
-_080893EC:
- pop {r1}
- bx r1
- thumb_func_end sub_80893DC
-
- thumb_func_start sub_80893F0
-sub_80893F0: @ 80893F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC4
- beq _080893FE
- movs r0, 0
- b _08089400
-_080893FE:
- movs r0, 0x1
-_08089400:
- pop {r1}
- bx r1
- thumb_func_end sub_80893F0
-
- thumb_func_start sub_8089404
-sub_8089404: @ 8089404
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC5
- beq _08089412
- movs r0, 0
- b _08089414
-_08089412:
- movs r0, 0x1
-_08089414:
- pop {r1}
- bx r1
- thumb_func_end sub_8089404
-
- thumb_func_start MetatileBehavior_HasRipples
-MetatileBehavior_HasRipples: @ 8089418
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _0808942A
- cmp r0, 0x16
- beq _0808942A
- cmp r0, 0x14
- bne _0808942E
-_0808942A:
- movs r0, 0x1
- b _08089430
-_0808942E:
- movs r0, 0
-_08089430:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_HasRipples
-
- thumb_func_start MetatileBehavior_IsPuddle
-MetatileBehavior_IsPuddle: @ 8089434
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- beq _08089442
- movs r0, 0
- b _08089444
-_08089442:
- movs r0, 0x1
-_08089444:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPuddle
-
- thumb_func_start MetatileBehavior_IsTallGrass
-MetatileBehavior_IsTallGrass: @ 8089448
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08089456
- movs r0, 0
- b _08089458
-_08089456:
- movs r0, 0x1
-_08089458:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsTallGrass
-
- thumb_func_start MetatileBehavior_IsLongGrass
-MetatileBehavior_IsLongGrass: @ 808945C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0808946A
- movs r0, 0
- b _0808946C
-_0808946A:
- movs r0, 0x1
-_0808946C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLongGrass
-
- thumb_func_start MetatileBehavior_IsBerryTreeSoil
-MetatileBehavior_IsBerryTreeSoil: @ 8089470
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA0
- beq _0808947E
- movs r0, 0
- b _08089480
-_0808947E:
- movs r0, 0x1
-_08089480:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBerryTreeSoil
-
- thumb_func_start MetatileBehavior_IsAsh
-MetatileBehavior_IsAsh: @ 8089484
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x24
- beq _08089492
- movs r0, 0
- b _08089494
-_08089492:
- movs r0, 0x1
-_08089494:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsAsh
-
- thumb_func_start MetatileBehavior_IsUnusedFootprintMetatile
-MetatileBehavior_IsUnusedFootprintMetatile: @ 8089498
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x25
- beq _080894A6
- movs r0, 0
- b _080894A8
-_080894A6:
- movs r0, 0x1
-_080894A8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsUnusedFootprintMetatile
-
- thumb_func_start sub_80894AC
-sub_80894AC: @ 80894AC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0x90
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x3
- bls _080894CA
- adds r0, r1, 0
- subs r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _080894CE
-_080894CA:
- movs r0, 0x1
- b _080894D0
-_080894CE:
- movs r0, 0
-_080894D0:
- pop {r1}
- bx r1
- thumb_func_end sub_80894AC
-
- thumb_func_start sub_80894D4
-sub_80894D4: @ 80894D4
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- adds r0, r1, 0
- subs r0, 0x70
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0808950A
- adds r0, r1, 0
- subs r0, 0x7A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080894F8
- movs r0, 0x2
- b _0808950A
-_080894F8:
- adds r0, r2, 0
- subs r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08089508
- movs r0, 0
- b _0808950A
-_08089508:
- movs r0, 0x3
-_0808950A:
- pop {r1}
- bx r1
- thumb_func_end sub_80894D4
-
- thumb_func_start sub_8089510
-sub_8089510: @ 8089510
- push {lr}
- lsls r0, 24
- movs r1, 0x90
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _08089524
- movs r0, 0
- b _08089526
-_08089524:
- movs r0, 0x1
-_08089526:
- pop {r1}
- bx r1
- thumb_func_end sub_8089510
-
- thumb_func_start sub_808952C
-sub_808952C: @ 808952C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _08089550
- adds r0, r4, 0
- bl sub_8088DF0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08089550
- movs r0, 0x1
- b _08089552
-_08089550:
- movs r0, 0
-_08089552:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808952C
-
- thumb_func_start sub_8089558
-sub_8089558: @ 8089558
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808957E
- adds r0, r4, 0
- bl sub_8088DF0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808957E
- movs r0, 0x1
- b _08089580
-_0808957E:
- movs r0, 0
-_08089580:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8089558
-
- thumb_func_start sub_8089588
-sub_8089588: @ 8089588
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- beq _08089596
- movs r0, 0
- b _08089598
-_08089596:
- movs r0, 0x1
-_08089598:
- pop {r1}
- bx r1
- thumb_func_end sub_8089588
-
- thumb_func_start sub_808959C
-sub_808959C: @ 808959C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xC
- beq _080895AA
- movs r0, 0
- b _080895AC
-_080895AA:
- movs r0, 0x1
-_080895AC:
- pop {r1}
- bx r1
- thumb_func_end sub_808959C
-
- thumb_func_start sub_80895B0
-sub_80895B0: @ 80895B0
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xEF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _080895C6
- cmp r1, 0x14
- bne _080895CA
-_080895C6:
- movs r0, 0x1
- b _080895CC
-_080895CA:
- movs r0, 0
-_080895CC:
- pop {r1}
- bx r1
- thumb_func_end sub_80895B0
-
- thumb_func_start sub_80895D0
-sub_80895D0: @ 80895D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x19
- beq _080895DE
- cmp r0, 0x2A
- bne _080895E2
-_080895DE:
- movs r0, 0x1
- b _080895E4
-_080895E2:
- movs r0, 0
-_080895E4:
- pop {r1}
- bx r1
- thumb_func_end sub_80895D0
-
- thumb_func_start MetatileBehavior_IsShallowFlowingWater
-MetatileBehavior_IsShallowFlowingWater: @ 80895E8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x17
- beq _080895FA
- cmp r0, 0x1B
- beq _080895FA
- cmp r0, 0x1C
- bne _080895FE
-_080895FA:
- movs r0, 0x1
- b _08089600
-_080895FE:
- movs r0, 0
-_08089600:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsShallowFlowingWater
-
- thumb_func_start sub_8089604
-sub_8089604: @ 8089604
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x26
- beq _08089612
- movs r0, 0
- b _08089614
-_08089612:
- movs r0, 0x1
-_08089614:
- pop {r1}
- bx r1
- thumb_func_end sub_8089604
-
- thumb_func_start sub_8089618
-sub_8089618: @ 8089618
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- beq _08089626
- movs r0, 0
- b _08089628
-_08089626:
- movs r0, 0x1
-_08089628:
- pop {r1}
- bx r1
- thumb_func_end sub_8089618
-
- thumb_func_start sub_808962C
-sub_808962C: @ 808962C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- beq _0808963E
- cmp r0, 0x11
- beq _0808963E
- cmp r0, 0x12
- bne _08089642
-_0808963E:
- movs r0, 0x1
- b _08089644
-_08089642:
- movs r0, 0
-_08089644:
- pop {r1}
- bx r1
- thumb_func_end sub_808962C
-
- thumb_func_start sub_8089648
-sub_8089648: @ 8089648
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x18
- beq _08089656
- cmp r0, 0x1A
- bne _0808965A
-_08089656:
- movs r0, 0x1
- b _0808965C
-_0808965A:
- movs r0, 0
-_0808965C:
- pop {r1}
- bx r1
- thumb_func_end sub_8089648
-
- thumb_func_start sub_8089660
-sub_8089660: @ 8089660
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- beq _08089682
- adds r0, r4, 0
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- cmp r0, 0
- bne _08089682
- movs r0, 0x1
- b _08089684
-_08089682:
- movs r0, 0
-_08089684:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8089660
-
- thumb_func_start MetatileBehavior_IsEastBlocked
-MetatileBehavior_IsEastBlocked: @ 808968C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x30
- beq _080896A6
- cmp r0, 0x34
- beq _080896A6
- cmp r0, 0x36
- beq _080896A6
- cmp r0, 0xC1
- beq _080896A6
- cmp r0, 0xBE
- bne _080896AA
-_080896A6:
- movs r0, 0x1
- b _080896AC
-_080896AA:
- movs r0, 0
-_080896AC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsEastBlocked
-
- thumb_func_start MetatileBehavior_IsWestBlocked
-MetatileBehavior_IsWestBlocked: @ 80896B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- beq _080896CA
- cmp r0, 0x35
- beq _080896CA
- cmp r0, 0x37
- beq _080896CA
- cmp r0, 0xC1
- beq _080896CA
- cmp r0, 0xBE
- bne _080896CE
-_080896CA:
- movs r0, 0x1
- b _080896D0
-_080896CE:
- movs r0, 0
-_080896D0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWestBlocked
-
- thumb_func_start MetatileBehavior_IsNorthBlocked
-MetatileBehavior_IsNorthBlocked: @ 80896D4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x32
- beq _080896EA
- cmp r0, 0x34
- beq _080896EA
- cmp r0, 0x35
- beq _080896EA
- cmp r0, 0xC0
- bne _080896EE
-_080896EA:
- movs r0, 0x1
- b _080896F0
-_080896EE:
- movs r0, 0
-_080896F0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsNorthBlocked
-
- thumb_func_start MetatileBehavior_IsSouthBlocked
-MetatileBehavior_IsSouthBlocked: @ 80896F4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- beq _0808970A
- cmp r0, 0x36
- beq _0808970A
- cmp r0, 0x37
- beq _0808970A
- cmp r0, 0xC0
- bne _0808970E
-_0808970A:
- movs r0, 0x1
- b _08089710
-_0808970E:
- movs r0, 0
-_08089710:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSouthBlocked
-
- thumb_func_start MetatileBehavior_IsShortGrass
-MetatileBehavior_IsShortGrass: @ 8089714
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- beq _08089722
- movs r0, 0
- b _08089724
-_08089722:
- movs r0, 0x1
-_08089724:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsShortGrass
-
- thumb_func_start MetatileBehavior_IsHotSprings
-MetatileBehavior_IsHotSprings: @ 8089728
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x28
- beq _08089736
- movs r0, 0
- b _08089738
-_08089736:
- movs r0, 0x1
-_08089738:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsHotSprings
-
- thumb_func_start MetatileBehavior_IsWaterfall
-@ bool8 MetatileBehavior_IsWaterfall(u8 metatileBehavior)
-MetatileBehavior_IsWaterfall: @ 808973C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- beq _0808974A
- movs r0, 0
- b _0808974C
-_0808974A:
- movs r0, 0x1
-_0808974C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsWaterfall
-
- thumb_func_start MetatileBehavior_IsFortreeBridge
-MetatileBehavior_IsFortreeBridge: @ 8089750
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- beq _0808975E
- movs r0, 0
- b _08089760
-_0808975E:
- movs r0, 0x1
-_08089760:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsFortreeBridge
-
- thumb_func_start sub_8089764
-sub_8089764: @ 8089764
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x74
- beq _08089772
- movs r0, 0
- b _08089774
-_08089772:
- movs r0, 0x1
-_08089774:
- pop {r1}
- bx r1
- thumb_func_end sub_8089764
-
- thumb_func_start sub_8089778
-sub_8089778: @ 8089778
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x75
- beq _08089786
- movs r0, 0
- b _08089788
-_08089786:
- movs r0, 0x1
-_08089788:
- pop {r1}
- bx r1
- thumb_func_end sub_8089778
-
- thumb_func_start sub_808978C
-sub_808978C: @ 808978C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x76
- beq _0808979A
- movs r0, 0
- b _0808979C
-_0808979A:
- movs r0, 0x1
-_0808979C:
- pop {r1}
- bx r1
- thumb_func_end sub_808978C
-
- thumb_func_start sub_80897A0
-sub_80897A0: @ 80897A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- beq _080897AE
- movs r0, 0
- b _080897B0
-_080897AE:
- movs r0, 0x1
-_080897B0:
- pop {r1}
- bx r1
- thumb_func_end sub_80897A0
-
- thumb_func_start MetatileBehavior_IsPacifidlogLog
-MetatileBehavior_IsPacifidlogLog: @ 80897B4
- push {lr}
- lsls r0, 24
- movs r1, 0x8C
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x3
- bls _080897C8
- movs r0, 0
- b _080897CA
-_080897C8:
- movs r0, 0x1
-_080897CA:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsPacifidlogLog
-
- thumb_func_start is_tile_x8C
-is_tile_x8C: @ 80897D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8C
- beq _080897DE
- movs r0, 0
- b _080897E0
-_080897DE:
- movs r0, 0x1
-_080897E0:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8C
-
- thumb_func_start is_tile_x85
-is_tile_x85: @ 80897E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x85
- beq _080897F2
- movs r0, 0
- b _080897F4
-_080897F2:
- movs r0, 0x1
-_080897F4:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x85
-
- thumb_func_start is_tile_x8B
-is_tile_x8B: @ 80897F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8B
- beq _08089806
- movs r0, 0
- b _08089808
-_08089806:
- movs r0, 0x1
-_08089808:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8B
-
- thumb_func_start is_tile_xEA
-is_tile_xEA: @ 808980C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xEA
- beq _0808981A
- movs r0, 0
- b _0808981C
-_0808981A:
- movs r0, 0x1
-_0808981C:
- pop {r1}
- bx r1
- thumb_func_end is_tile_xEA
-
- thumb_func_start is_tile_x8A
-is_tile_x8A: @ 8089820
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8A
- beq _0808982E
- movs r0, 0
- b _08089830
-_0808982E:
- movs r0, 0x1
-_08089830:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x8A
-
- thumb_func_start is_tile_x87
-is_tile_x87: @ 8089834
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x87
- beq _08089842
- movs r0, 0
- b _08089844
-_08089842:
- movs r0, 0x1
-_08089844:
- pop {r1}
- bx r1
- thumb_func_end is_tile_x87
-
- thumb_func_start MetatileBehavior_0xBB
-@ bool8 MetatileBehavior_0xBB(u8 metatileBehavior)
-MetatileBehavior_0xBB: @ 8089848
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBB
- beq _08089856
- movs r0, 0
- b _08089858
-_08089856:
- movs r0, 0x1
-_08089858:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0xBB
-
- thumb_func_start MetatileBehavior_0xBC
-@ bool8 MetatileBehavior_0xBC(u8 metatileBehavior)
-MetatileBehavior_0xBC: @ 808985C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xBC
- beq _0808986A
- movs r0, 0
- b _0808986C
-_0808986A:
- movs r0, 0x1
-_0808986C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_0xBC
-
- thumb_func_start sub_8089870
-sub_8089870: @ 8089870
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x29
- beq _0808987E
- movs r0, 0
- b _08089880
-_0808987E:
- movs r0, 0x1
-_08089880:
- pop {r1}
- bx r1
- thumb_func_end sub_8089870
-
- thumb_func_start is_role_x68
-is_role_x68: @ 8089884
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x68
- beq _08089892
- movs r0, 0
- b _08089894
-_08089892:
- movs r0, 0x1
-_08089894:
- pop {r1}
- bx r1
- thumb_func_end is_role_x68
-
- thumb_func_start MetatileBehavior_IsAquaHideoutWarp
-MetatileBehavior_IsAquaHideoutWarp: @ 8089898
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x67
- beq _080898A6
- movs r0, 0
- b _080898A8
-_080898A6:
- movs r0, 0x1
-_080898A8:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsAquaHideoutWarp
-
- thumb_func_start sub_80898AC
-sub_80898AC: @ 80898AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x70
- beq _080898BA
- movs r0, 0
- b _080898BC
-_080898BA:
- movs r0, 0x1
-_080898BC:
- pop {r1}
- bx r1
- thumb_func_end sub_80898AC
-
- thumb_func_start sub_80898C0
-sub_80898C0: @ 80898C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE
- beq _080898CE
- movs r0, 0
- b _080898D0
-_080898CE:
- movs r0, 0x1
-_080898D0:
- pop {r1}
- bx r1
- thumb_func_end sub_80898C0
-
- thumb_func_start MetatileBehavior_IsSurfableFishableWater
-MetatileBehavior_IsSurfableFishableWater: @ 80898D4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _080898F8
- cmp r0, 0x15
- beq _080898F8
- cmp r0, 0x11
- beq _080898F8
- cmp r0, 0x12
- beq _080898F8
- cmp r0, 0x14
- beq _080898F8
- subs r0, 0x50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _080898FC
-_080898F8:
- movs r0, 0x1
- b _080898FE
-_080898FC:
- movs r0, 0
-_080898FE:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSurfableFishableWater
-
- thumb_func_start sub_8089904
-sub_8089904: @ 8089904
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- beq _08089912
- movs r0, 0
- b _08089914
-_08089912:
- movs r0, 0x1
-_08089914:
- pop {r1}
- bx r1
- thumb_func_end sub_8089904
-
- thumb_func_start sub_8089918
-sub_8089918: @ 8089918
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x66
- beq _08089926
- movs r0, 0
- b _08089928
-_08089926:
- movs r0, 0x1
-_08089928:
- pop {r1}
- bx r1
- thumb_func_end sub_8089918
-
- thumb_func_start sub_808992C
-sub_808992C: @ 808992C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD2
- beq _0808993A
- movs r0, 0
- b _0808993C
-_0808993A:
- movs r0, 0x1
-_0808993C:
- pop {r1}
- bx r1
- thumb_func_end sub_808992C
-
- thumb_func_start MetatileBehavior_IsMuddySlope
-@ bool8 MetatileBehavior_IsMuddySlope(u8 metatileBehavior)
-MetatileBehavior_IsMuddySlope: @ 8089940
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD0
- beq _0808994E
- movs r0, 0
- b _08089950
-_0808994E:
- movs r0, 0x1
-_08089950:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsMuddySlope
-
- thumb_func_start MetatileBehavior_IsBumpySlope
-MetatileBehavior_IsBumpySlope: @ 8089954
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD1
- beq _08089962
- movs r0, 0
- b _08089964
-_08089962:
- movs r0, 0x1
-_08089964:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsBumpySlope
-
- thumb_func_start MetatileBehavior_IsIsolatedVerticalRail
-MetatileBehavior_IsIsolatedVerticalRail: @ 8089968
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD3
- beq _08089976
- movs r0, 0
- b _08089978
-_08089976:
- movs r0, 0x1
-_08089978:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIsolatedVerticalRail
-
- thumb_func_start MetatileBehavior_IsIsolatedHorizontalRail
-MetatileBehavior_IsIsolatedHorizontalRail: @ 808997C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD4
- beq _0808998A
- movs r0, 0
- b _0808998C
-_0808998A:
- movs r0, 0x1
-_0808998C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsIsolatedHorizontalRail
-
- thumb_func_start MetatileBehavior_IsVerticalRail
-MetatileBehavior_IsVerticalRail: @ 8089990
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD5
- beq _0808999E
- movs r0, 0
- b _080899A0
-_0808999E:
- movs r0, 0x1
-_080899A0:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsVerticalRail
-
- thumb_func_start MetatileBehavior_IsHorizontalRail
-MetatileBehavior_IsHorizontalRail: @ 80899A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD6
- beq _080899B2
- movs r0, 0
- b _080899B4
-_080899B2:
- movs r0, 0x1
-_080899B4:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsHorizontalRail
-
- thumb_func_start MetatileBehavior_IsSeaweed
-MetatileBehavior_IsSeaweed: @ 80899B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x22
- beq _080899C6
- cmp r0, 0x2A
- bne _080899CA
-_080899C6:
- movs r0, 0x1
- b _080899CC
-_080899CA:
- movs r0, 0
-_080899CC:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsSeaweed
-
- thumb_func_start MetatileBehavior_IsRunningDisallowed
-MetatileBehavior_IsRunningDisallowed: @ 80899D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- beq _080899EC
- cmp r0, 0x3
- beq _080899EC
- cmp r0, 0x28
- beq _080899EC
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _080899F0
-_080899EC:
- movs r0, 0x1
- b _080899F2
-_080899F0:
- movs r0, 0
-_080899F2:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsRunningDisallowed
-
- thumb_func_start sub_80899F8
-sub_80899F8: @ 80899F8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFE
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bls _08089A12
- cmp r1, 0x24
- beq _08089A12
- cmp r1, 0x9
- bne _08089A16
-_08089A12:
- movs r0, 0x1
- b _08089A18
-_08089A16:
- movs r0, 0
-_08089A18:
- pop {r1}
- bx r1
- thumb_func_end sub_80899F8
-
- thumb_func_start sub_8089A1C
-sub_8089A1C: @ 8089A1C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8E
- beq _08089A2A
- movs r0, 0
- b _08089A2C
-_08089A2A:
- movs r0, 0x1
-_08089A2C:
- pop {r1}
- bx r1
- thumb_func_end sub_8089A1C
-
- thumb_func_start sub_8089A30
-sub_8089A30: @ 8089A30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE0
- beq _08089A3E
- movs r0, 0
- b _08089A40
-_08089A3E:
- movs r0, 0x1
-_08089A40:
- pop {r1}
- bx r1
- thumb_func_end sub_8089A30
-
- thumb_func_start sub_8089A44
-sub_8089A44: @ 8089A44
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE1
- beq _08089A52
- movs r0, 0
- b _08089A54
-_08089A52:
- movs r0, 0x1
-_08089A54:
- pop {r1}
- bx r1
- thumb_func_end sub_8089A44
-
- thumb_func_start sub_8089A58
-sub_8089A58: @ 8089A58
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE2
- beq _08089A66
- movs r0, 0
- b _08089A68
-_08089A66:
- movs r0, 0x1
-_08089A68:
- pop {r1}
- bx r1
- thumb_func_end sub_8089A58
-
- thumb_func_start sub_8089A6C
-sub_8089A6C: @ 8089A6C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE3
- beq _08089A7A
- movs r0, 0
- b _08089A7C
-_08089A7A:
- movs r0, 0x1
-_08089A7C:
- pop {r1}
- bx r1
- thumb_func_end sub_8089A6C
-
- thumb_func_start sub_8089A80
-sub_8089A80: @ 8089A80
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE4
- beq _08089A8E
- movs r0, 0
- b _08089A90
-_08089A8E:
- movs r0, 0x1
-_08089A90:
- pop {r1}
- bx r1
- thumb_func_end sub_8089A80
-
- thumb_func_start sub_8089A94
-sub_8089A94: @ 8089A94
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE5
- beq _08089AA2
- movs r0, 0
- b _08089AA4
-_08089AA2:
- movs r0, 0x1
-_08089AA4:
- pop {r1}
- bx r1
- thumb_func_end sub_8089A94
-
- thumb_func_start sub_8089AA8
-sub_8089AA8: @ 8089AA8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE6
- beq _08089AB6
- movs r0, 0
- b _08089AB8
-_08089AB6:
- movs r0, 0x1
-_08089AB8:
- pop {r1}
- bx r1
- thumb_func_end sub_8089AA8
-
- thumb_func_start sub_8089ABC
-sub_8089ABC: @ 8089ABC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- beq _08089ACA
- movs r0, 0
- b _08089ACC
-_08089ACA:
- movs r0, 0x1
-_08089ACC:
- pop {r1}
- bx r1
- thumb_func_end sub_8089ABC
-
- thumb_func_start sub_8089AD0
-sub_8089AD0: @ 8089AD0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x2
- bne _08089AE2
- cmp r0, 0xE8
- beq _08089AE6
-_08089AE2:
- movs r0, 0
- b _08089AE8
-_08089AE6:
- movs r0, 0x1
-_08089AE8:
- pop {r1}
- bx r1
- thumb_func_end sub_8089AD0
-
- thumb_func_start sub_8089AEC
-sub_8089AEC: @ 8089AEC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x2
- bne _08089AFE
- cmp r0, 0xE7
- beq _08089B02
-_08089AFE:
- movs r0, 0
- b _08089B04
-_08089B02:
- movs r0, 0x1
-_08089B04:
- pop {r1}
- bx r1
- thumb_func_end sub_8089AEC
-
- thumb_func_start MetatileBehavior_IsQuestionnaire
-MetatileBehavior_IsQuestionnaire: @ 8089B08
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8F
- beq _08089B16
- movs r0, 0
- b _08089B18
-_08089B16:
- movs r0, 0x1
-_08089B18:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsQuestionnaire
-
- thumb_func_start MetatileBehavior_IsLongGrass2
-MetatileBehavior_IsLongGrass2: @ 8089B1C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08089B2A
- movs r0, 0
- b _08089B2C
-_08089B2A:
- movs r0, 0x1
-_08089B2C:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLongGrass2
-
- thumb_func_start MetatileBehavior_IsLongGrassSouthEdge
-MetatileBehavior_IsLongGrassSouthEdge: @ 8089B30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- beq _08089B3E
- movs r0, 0
- b _08089B40
-_08089B3E:
- movs r0, 0x1
-_08089B40:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsLongGrassSouthEdge
-
- thumb_func_start MetatileBehavior_IsTrainerHillTimer
-MetatileBehavior_IsTrainerHillTimer: @ 8089B44
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE9
- beq _08089B52
- movs r0, 0
- b _08089B54
-_08089B52:
- movs r0, 0x1
-_08089B54:
- pop {r1}
- bx r1
- thumb_func_end MetatileBehavior_IsTrainerHillTimer
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/money.s b/asm/money.s
deleted file mode 100644
index 0d7cf569f..000000000
--- a/asm/money.s
+++ /dev/null
@@ -1,311 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
-
- thumb_func_start sub_80E51B0
-sub_80E51B0: @ 80E51B0
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- bl IsEnoughMoney
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E51B0
-
- thumb_func_start sub_80E51D4
-sub_80E51D4: @ 80E51D4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- bl SubtractMoney
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E51D4
-
- thumb_func_start PrintMoneyAmountInMoneyBox
-@ void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, s8 a3)
-PrintMoneyAmountInMoneyBox: @ 80E51F4
- push {lr}
- sub sp, 0x4
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- movs r1, 0x26
- movs r2, 0x1
- bl PrintMoneyAmount
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end PrintMoneyAmountInMoneyBox
-
- thumb_func_start PrintMoneyAmount
-@ void PrintMoneyAmount(u8 windowId, char x, char y, int amount, u8 a5)
-PrintMoneyAmount: @ 80E5214
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r4, 24
- lsrs r5, r4, 24
- ldr r4, =gStringVar1
- adds r0, r4, 0
- adds r1, r3, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- subs r1, r0
- ldr r2, =gStringVar4
- adds r0, r1, 0
- subs r1, 0x1
- cmp r0, 0
- ble _080E5264
- movs r3, 0x77
-_080E5258:
- strb r3, [r2]
- adds r2, 0x1
- adds r0, r1, 0
- subs r1, 0x1
- cmp r0, 0
- bgt _080E5258
-_080E5264:
- ldr r1, =gUnknown_085E969C
- adds r0, r2, 0
- bl StringExpandPlaceholders
- ldr r2, =gStringVar4
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- mov r3, r8
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PrintMoneyAmount
-
- thumb_func_start set_window_border_style_and_print_money_box
-@ void set_window_border_style_and_print_money_box(u8 windowId, u16 tileStart, u8 palette, int amount)
-set_window_border_style_and_print_money_box: @ 80E5298
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl SetWindowBorderStyle
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- bl PrintMoneyAmountInMoneyBox
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end set_window_border_style_and_print_money_box
-
- thumb_func_start sub_80E52D4
-sub_80E52D4: @ 80E52D4
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02039F98
- ldrb r0, [r0]
- movs r2, 0
- bl PrintMoneyAmountInMoneyBox
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E52D4
-
- thumb_func_start sub_80E52EC
-@ void sub_80E52EC(int money, int x, int y)
-sub_80E52EC: @ 80E52EC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- mov r8, r0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsls r3, 24
- lsrs r6, r4, 24
- movs r0, 0x80
- lsls r0, 17
- adds r4, r0
- lsrs r4, 24
- lsrs r5, r3, 24
- adds r3, r0
- lsrs r3, 24
- movs r0, 0xA
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x8
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- adds r2, r4, 0
- bl SetWindowTemplateFields
- ldr r4, =gUnknown_02039F98
- add r0, sp, 0x10
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x1
- bl CopyWindowToVram
- ldrb r0, [r4]
- movs r1, 0x85
- lsls r1, 2
- movs r2, 0xE
- mov r3, r8
- bl set_window_border_style_and_print_money_box
- lsls r6, 19
- movs r0, 0x98
- lsls r0, 13
- adds r6, r0
- lsrs r6, 16
- lsls r5, 19
- movs r0, 0xB0
- lsls r0, 12
- adds r5, r0
- lsrs r5, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl AddMoneyLabelObject
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E52EC
-
- thumb_func_start sub_80E5384
-sub_80E5384: @ 80E5384
- push {r4,lr}
- bl RemoveMoneyLabelObject
- ldr r4, =gUnknown_02039F98
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E5384
-
- thumb_func_start AddMoneyLabelObject
-AddMoneyLabelObject: @ 80E53AC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =gUnknown_0858C2A4
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0858C2AC
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_0858C28C
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, =gUnknown_02039F99
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddMoneyLabelObject
-
- thumb_func_start RemoveMoneyLabelObject
-RemoveMoneyLabelObject: @ 80E53F4
- push {lr}
- ldr r0, =gUnknown_02039F99
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySpriteAndFreeResources
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveMoneyLabelObject
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s
index 27ab158ad..49de57848 100644
--- a/asm/mystery_event_menu.s
+++ b/asm/mystery_event_menu.s
@@ -115,7 +115,7 @@ sub_8178A40: @ 8178A40
movs r5, 0x1
cmp r4, 0
bne _08178A54
- ldr r1, =gUnknown_085EE80A
+ ldr r1, =gText_EventSafelyLoaded
bl StringCopy
movs r5, 0
_08178A54:
@@ -125,7 +125,7 @@ _08178A54:
_08178A5A:
cmp r4, 0x1
bne _08178A66
- ldr r1, =gUnknown_085EE827
+ ldr r1, =gText_LoadErrorEndingSession
adds r0, r6, 0
bl StringCopy
_08178A66:
@@ -204,7 +204,7 @@ _08178B12:
beq _08178B20
b _08178E58
_08178B20:
- ldr r1, =gUnknown_085EE765
+ ldr r1, =gText_LinkStandby2
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -256,7 +256,7 @@ _08178B8E:
_08178B98:
movs r0, 0x15
bl PlaySE
- ldr r1, =gUnknown_085EE788
+ ldr r1, =gText_PressAToLoadEvent
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -301,7 +301,7 @@ _08178BDC:
movs r2, 0x1
movs r3, 0xD
bl SetWindowBorderStyle
- ldr r1, =gUnknown_085EE7BF
+ ldr r1, =gText_LoadingEvent
movs r0, 0
str r0, [sp]
movs r0, 0x1
@@ -373,7 +373,7 @@ _08178CAC:
lsls r0, 24
cmp r0, 0
beq _08178CCC
- ldr r1, =gUnknown_085EE7CE
+ ldr r1, =gText_DontRemoveCableTurnOff
movs r0, 0x1
str r0, [sp]
movs r0, 0
diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s
index d481c2a3b..d544f689f 100644
--- a/asm/mystery_event_script.s
+++ b/asm/mystery_event_script.s
@@ -782,7 +782,7 @@ sub_8153E1C: @ 8153E1C
adds r4, r0, 0
bl EnableResetRTC
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085ECAD8
+ ldr r1, =gText_InGameClockUsable
bl StringExpandPlaceholders
movs r0, 0x2
str r0, [r4, 0x6C]
diff --git a/asm/naming_screen.s b/asm/naming_screen.s
index 2d79e464a..22d7b260e 100644
--- a/asm/naming_screen.s
+++ b/asm/naming_screen.s
@@ -5,9 +5,9 @@
.text
- thumb_func_start do_choose_name_or_words_screen
-@ int do_choose_name_or_words_screen(u8 type, sav2 *sav2_ptr, s16 player_gender, s16 a4, int a5, void ( *after_finishing_callback)())
-do_choose_name_or_words_screen: @ 80E2D78
+ 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}
@@ -65,7 +65,7 @@ _080E2DE2:
pop {r0}
bx r0
.pool
- thumb_func_end do_choose_name_or_words_screen
+ thumb_func_end DoNamingScreen
thumb_func_start c2_choose_name_or_words_screen
c2_choose_name_or_words_screen: @ 80E2E04
@@ -840,7 +840,7 @@ pokemon_transfer_to_pc_with_message: @ 80E34E4
bl VarGet
lsls r0, 24
lsrs r0, 24
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
bl StringCopy
@@ -859,7 +859,7 @@ _080E3534:
bl VarGet
lsls r0, 24
lsrs r0, 24
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
bl StringCopy
@@ -874,7 +874,7 @@ _080E3534:
bl get_unknown_box_id
lsls r0, 24
lsrs r0, 24
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
bl StringCopy
@@ -4033,7 +4033,7 @@ sub_80E4EF0: @ 80E4EF0
str r1, [sp]
movs r1, 0
str r1, [sp, 0x4]
- ldr r1, =gUnknown_085EEAF6
+ ldr r1, =gText_MoveOkBack
str r1, [sp, 0x8]
movs r1, 0
movs r2, 0x2
@@ -4197,7 +4197,7 @@ sub_80E5074: @ 80E5074
str r0, [sp, 0x4]
movs r0, 0
movs r3, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
add sp, 0x8
pop {r0}
bx r0
@@ -4217,7 +4217,7 @@ sub_80E509C: @ 80E509C
str r0, [sp, 0x4]
movs r0, 0x1
movs r3, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
add sp, 0x8
pop {r0}
bx r0
@@ -4237,7 +4237,7 @@ sub_80E50C4: @ 80E50C4
str r0, [sp, 0x4]
movs r0, 0x2
movs r3, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
add sp, 0x8
pop {r0}
bx r0
@@ -4257,7 +4257,7 @@ sub_80E50EC: @ 80E50EC
str r0, [sp, 0x4]
movs r0, 0x3
movs r3, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
add sp, 0x8
pop {r0}
bx r0
diff --git a/asm/option_menu.s b/asm/option_menu.s
index 214e23094..1c554e26f 100644
--- a/asm/option_menu.s
+++ b/asm/option_menu.s
@@ -906,7 +906,7 @@ sub_80BAC38: @ 80BAC38
adds r1, r0
movs r0, 0x1
strb r0, [r1]
- ldr r4, =gUnknown_085EE5D4
+ ldr r4, =gText_TextSpeedSlow
mov r0, sp
ldrb r3, [r0]
adds r0, r4, 0
@@ -917,14 +917,14 @@ sub_80BAC38: @ 80BAC38
movs r2, 0
bl GetStringWidth
adds r4, r0, 0
- ldr r0, =gUnknown_085EE5DF
+ ldr r0, =gText_TextSpeedMid
mov r8, r0
movs r0, 0x1
mov r1, r8
movs r2, 0
bl GetStringWidth
adds r5, r0, 0
- ldr r6, =gUnknown_085EE5E9
+ ldr r6, =gText_TextSpeedFast
movs r0, 0x1
adds r1, r6, 0
movs r2, 0
@@ -1000,13 +1000,13 @@ sub_80BAD08: @ 80BAD08
adds r1, r0
movs r0, 0x1
strb r0, [r1]
- ldr r0, =gUnknown_085EE5F4
+ ldr r0, =gText_BattleSceneOn
mov r1, sp
ldrb r3, [r1]
movs r1, 0x68
movs r2, 0x10
bl sub_80BAB68
- ldr r4, =gUnknown_085EE5FD
+ ldr r4, =gText_BattleSceneOff
movs r0, 0x1
adds r1, r4, 0
movs r2, 0xC6
@@ -1061,13 +1061,13 @@ sub_80BAD84: @ 80BAD84
adds r1, r0
movs r0, 0x1
strb r0, [r1]
- ldr r0, =gUnknown_085EE607
+ ldr r0, =gText_BattleStyleShift
mov r1, sp
ldrb r3, [r1]
movs r1, 0x68
movs r2, 0x20
bl sub_80BAB68
- ldr r4, =gUnknown_085EE613
+ ldr r4, =gText_BattleStyleSet
movs r0, 0x1
adds r1, r4, 0
movs r2, 0xC6
@@ -1125,13 +1125,13 @@ sub_80BAE08: @ 80BAE08
adds r1, r0
movs r0, 0x1
strb r0, [r1]
- ldr r0, =gUnknown_085EE61D
+ ldr r0, =gText_SoundMono
mov r1, sp
ldrb r3, [r1]
movs r1, 0x68
movs r2, 0x30
bl sub_80BAB68
- ldr r4, =gUnknown_085EE628
+ ldr r4, =gText_SoundStereo
movs r0, 0x1
adds r1, r4, 0
movs r2, 0xC6
@@ -1243,9 +1243,9 @@ sub_80BAF0C: @ 80BAF0C
adds r0, r1
lsrs r6, r0, 24
movs r5, 0
- ldr r1, =gUnknown_085EE640
+ ldr r1, =gText_FrameTypeNumber
ldrb r0, [r1]
- ldr r7, =gUnknown_085EE635
+ ldr r7, =gText_FrameType
cmp r0, 0xFF
beq _080BAF44
adds r2, r1, 0
@@ -1394,7 +1394,7 @@ sub_80BB028: @ 80BB028
adds r1, r0
movs r0, 0x1
strb r0, [r1]
- ldr r4, =gUnknown_085EE647
+ ldr r4, =gText_ButtonTypeNormal
mov r0, sp
ldrb r3, [r0]
adds r0, r4, 0
@@ -1406,14 +1406,14 @@ sub_80BB028: @ 80BB028
movs r2, 0
bl GetStringWidth
adds r4, r0, 0
- ldr r0, =gUnknown_085EE654
+ ldr r0, =gText_ButtonTypeLR
mov r8, r0
movs r0, 0x1
mov r1, r8
movs r2, 0
bl GetStringWidth
adds r5, r0, 0
- ldr r6, =gUnknown_085EE65D
+ ldr r6, =gText_ButtonTypeLEqualsA
movs r0, 0x1
adds r1, r6, 0
movs r2, 0
@@ -1461,7 +1461,7 @@ sub_80BB0D0: @ 80BB0D0
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EE589
+ ldr r2, =gText_Option
movs r0, 0x1
str r0, [sp]
movs r0, 0xFF
diff --git a/asm/party_menu.s b/asm/party_menu.s
index cf00d63c1..4eb080b13 100755
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -2484,7 +2484,7 @@ sub_81B1660: @ 81B1660
ands r1, r0
cmp r1, 0x2
bne _081B1680
- ldr r5, =gUnknown_085EA110
+ ldr r5, =gText_CancelParticipation
b _081B168A
.pool
_081B1680:
@@ -3290,7 +3290,7 @@ sub_81B1C84: @ 81B1C84
adds r0, r4, 0
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E991B
+ ldr r1, =gText_PkmnWasGivenItem
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3319,7 +3319,7 @@ sub_81B1CD0: @ 81B1CD0
adds r0, r4, 0
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E999D
+ ldr r1, =gText_RecievedItemFromPkmn
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3348,7 +3348,7 @@ sub_81B1D1C: @ 81B1D1C
adds r0, r4, 0
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E993A
+ ldr r1, =gText_SwitchPkmnItem
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3379,7 +3379,7 @@ sub_81B1D68: @ 81B1D68
adds r0, r4, 0
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E99DB
+ ldr r1, =gText_SwitchedPkmnItem
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3474,7 +3474,7 @@ _081B1E3E:
pokemon_item_not_removed: @ 81B1E48
push {lr}
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9A69
+ ldr r1, =gText_BagFullCouldNotRemoveItem
bl StringExpandPlaceholders
pop {r0}
bx r0
@@ -3937,7 +3937,7 @@ sub_81B21AC: @ 81B21AC
_081B21DC:
movs r0, 0x20
bl PlaySE
- ldr r0, =gUnknown_085EA0EE
+ ldr r0, =gText_PkmnCantParticipate
movs r1, 0
bl sub_81B1B5C
movs r0, 0x2
@@ -3962,7 +3962,7 @@ sub_81B2210: @ 81B2210
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gUnknown_085EA110
+ ldr r0, =gText_CancelParticipation
movs r1, 0x1
bl sub_81B1B5C
movs r0, 0x2
@@ -5495,7 +5495,7 @@ _081B2F04:
asrs r1, 16
ldr r2, [r6]
ldrb r2, [r2, 0x1A]
- bl sub_8075034
+ bl GetScaledHPFraction
lsls r0, 24
lsrs r5, r0, 24
ldrb r0, [r6, 0x8]
@@ -6407,7 +6407,7 @@ _081B3674:
cmp r6, 0
bne _081B36C0
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9980
+ ldr r1, =gText_PkmnNotHolding
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -8348,7 +8348,7 @@ _081B4788:
adds r0, r5, 0
bl GetMonNickname
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9980
+ ldr r1, =gText_PkmnNotHolding
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -8409,7 +8409,7 @@ sub_81B47E0: @ 81B47E0
adds r0, r7, 0
bl GetMonNickname
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9980
+ ldr r1, =gText_PkmnNotHolding
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -8428,7 +8428,7 @@ _081B4864:
adds r0, r5, 0
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9E00
+ ldr r1, =gText_ThrowAwayItem
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -8511,7 +8511,7 @@ _081B491A:
ldr r1, =gStringVar1
bl CopyItemName
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9E14
+ ldr r1, =gText_ItemThrownAway
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -8731,7 +8731,7 @@ brm_take_2: @ 81B4B20
ldr r0, [r5]
adds r0, 0xC
bl sub_81B302C
- ldr r0, =gUnknown_085E9855
+ ldr r0, =gText_SendMailToPC
movs r1, 0x1
bl sub_81B1B5C
ldr r1, =gTasks
@@ -8806,7 +8806,7 @@ _081B4BC6:
lsrs r0, 24
cmp r0, 0xFF
beq _081B4C0C
- ldr r0, =gUnknown_085E9877
+ ldr r0, =gText_MailSentToPC
movs r1, 0
bl sub_81B1B5C
ldr r1, =gTasks
@@ -8818,7 +8818,7 @@ _081B4BC6:
b _081B4C4A
.pool
_081B4C0C:
- ldr r0, =gUnknown_085E9897
+ ldr r0, =gText_PCMailboxFull
movs r1, 0
bl sub_81B1B5C
ldr r1, =gTasks
@@ -8833,7 +8833,7 @@ _081B4C30:
movs r0, 0x5
bl PlaySE
_081B4C36:
- ldr r0, =gUnknown_085E98B4
+ ldr r0, =gText_MailMessageWillBeLost
movs r1, 0x1
bl sub_81B1B5C
ldr r1, =gTasks
@@ -8926,7 +8926,7 @@ _081B4CBE:
muls r0, r7
adds r0, r6
bl sub_80D4680
- ldr r0, =gUnknown_085E99B8
+ ldr r0, =gText_MailTakenFromPkmn
movs r1, 0
bl sub_81B1B5C
ldr r1, =gTasks
@@ -9167,7 +9167,7 @@ _081B4F36:
movs r3, 0x1
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9830
+ ldr r1, =gText_NoMoreThanVar1Pkmn
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0x20
@@ -9411,13 +9411,13 @@ sub_81B50C8: @ 81B50C8
.pool
_081B515C:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA210
+ ldr r1, =gText_PkmnCantBeTradedNow
bl StringExpandPlaceholders
b _081B5178
.pool
_081B5170:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA234
+ ldr r1, =gText_EggCantBeTradedNow
bl StringExpandPlaceholders
_081B5178:
movs r0, 0x20
@@ -9430,7 +9430,7 @@ _081B5178:
adds r0, 0xD
bl sub_81B302C
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA1CA
+ ldr r1, =gText_PauseUntilPress
adds r0, r4, 0
bl StringAppend
adds r0, r4, 0
@@ -9530,7 +9530,7 @@ brm_trade_1: @ 81B51D4
ldr r0, [r4]
adds r0, 0xD
bl sub_81B302C
- ldr r1, =gUnknown_085EA1CA
+ ldr r1, =gText_PauseUntilPress
adds r0, r5, 0
bl StringAppend
adds r0, r5, 0
@@ -9594,19 +9594,19 @@ _081B5328:
b _081B5368
_081B532E:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA1E8
+ ldr r1, =gText_OnlyPkmnForBattle
bl StringExpandPlaceholders
b _081B53C0
.pool
_081B5340:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA210
+ ldr r1, =gText_PkmnCantBeTradedNow
bl StringExpandPlaceholders
b _081B53C0
.pool
_081B5354:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA234
+ ldr r1, =gText_EggCantBeTradedNow
bl StringExpandPlaceholders
b _081B53C0
.pool
@@ -9623,7 +9623,7 @@ _081B5368:
ldr r1, =gStringVar1
bl GetMonNickname
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA1CD
+ ldr r1, =gJPText_PutVar1IntoSpinner
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -9641,7 +9641,7 @@ _081B53C0:
movs r0, 0x20
bl PlaySE
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA1CA
+ ldr r1, =gText_PauseUntilPress
adds r0, r4, 0
bl StringAppend
adds r0, r4, 0
@@ -9787,7 +9787,7 @@ _081B54E8:
lsrs r0, 24
cmp r0, 0x1
beq _081B5524
- ldr r0, =gUnknown_085E97FC
+ ldr r0, =gText_CantUseUntilNewBadge
movs r1, 0x1
bl sub_81B1B5C
ldr r1, =gTasks
@@ -9852,7 +9852,7 @@ _081B557C:
ldrb r1, [r1, 0x14]
bl sub_81245DC
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA196
+ ldr r1, =gText_ReturnToHealingSpot
b _081B55E8
.pool
_081B55B8:
@@ -9877,7 +9877,7 @@ _081B55B8:
ldrb r1, [r1, 0x14]
bl sub_81245DC
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA16B
+ ldr r1, =gText_EscapeFromHere
_081B55E8:
bl StringExpandPlaceholders
adds r0, r6, 0
@@ -10051,7 +10051,7 @@ task_launch_hm_phase_2: @ 81B5750
cmp r0, 0x1
bne _081B577C
bl brm_get_selected_species
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 16
lsrs r0, 16
str r0, [r1]
@@ -10135,7 +10135,7 @@ _081B57FE:
hm_surf_run_dp02scr: @ 81B5804
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -10239,7 +10239,7 @@ sub_81B58A8: @ 81B58A8
hm2_waterfall: @ 81B58D4
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -10299,7 +10299,7 @@ _081B594E:
sub_81B5958: @ 81B5958
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -10314,7 +10314,7 @@ sub_81B5958: @ 81B5958
sub_81B5974: @ 81B5974
push {lr}
bl sub_809D1E8
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1, 0x4]
@@ -11562,102 +11562,102 @@ _081B6334:
.4byte _081B64A8
_081B6380:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9C3E
+ ldr r1, =gText_PkmnCuredOfPoison
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B6394:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9C7C
+ ldr r1, =gText_PkmnWokeUp2
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B63A8:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9C8A
+ ldr r1, =gText_PkmnBurnHealed
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B63BC:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9CA2
+ ldr r1, =gText_PkmnThawedOut
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B63D0:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9C5F
+ ldr r1, =gText_PkmnCuredOfParalysis
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B63E4:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9DBE
+ ldr r1, =gText_PkmnSnappedOutOfConfusion
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B63F8:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9DE1
+ ldr r1, =gText_PkmnGotOverInfatuation
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B640C:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9CE0
+ ldr r1, =gText_PkmnBecameHealthy
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B6420:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085E96E3
+ ldr r1, =gText_HP3
b _081B6474
.pool
_081B6430:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085EA33C
+ ldr r1, =gText_Attack3
b _081B6474
.pool
_081B6440:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085EA343
+ ldr r1, =gText_Defense3
b _081B6474
.pool
_081B6450:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085EA35B
+ ldr r1, =gText_Speed2
b _081B6474
.pool
_081B6460:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085E96E6
+ ldr r1, =gText_SpAtk3
b _081B6474
.pool
_081B6470:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085E96EE
+ ldr r1, =gText_SpDef3
_081B6474:
bl StringCopy
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9D25
+ ldr r1, =gText_PkmnBaseVar2StatIncreased
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B6494:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9CF5
+ ldr r1, =gText_MovesPPIncreased
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B64A8:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9CB7
+ ldr r1, =gText_PPWasRestored
bl StringExpandPlaceholders
b _081B64C4
.pool
_081B64BC:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E96F6
+ ldr r1, =gText_WontHaveEffect
bl StringExpandPlaceholders
_081B64C4:
pop {r0}
@@ -11830,7 +11830,7 @@ _081B6600:
strb r0, [r1]
movs r0, 0x5
bl PlaySE
- ldr r0, =gUnknown_085E96F6
+ ldr r0, =gText_WontHaveEffect
b _081B66F4
.pool
_081B6624:
@@ -11964,7 +11964,7 @@ sub_81B672C: @ 81B672C
ldr r1, =gStringVar1
bl GetMonNickname
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9C17
+ ldr r1, =gText_PkmnHPRestoredByVar2
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -12083,7 +12083,7 @@ _081B6850:
strb r0, [r1]
movs r0, 0x5
bl PlaySE
- ldr r0, =gUnknown_085E96F6
+ ldr r0, =gText_WontHaveEffect
b _081B68E2
.pool
_081B6874:
@@ -12108,19 +12108,19 @@ _081B6874:
cmp r0, r8
beq _081B68C4
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9D45
+ ldr r1, =gText_PkmnFriendlyBaseVar2Fell
bl StringExpandPlaceholders
b _081B68E0
.pool
_081B68C4:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9D90
+ ldr r1, =gText_PkmnFriendlyBaseVar2CantFall
bl StringExpandPlaceholders
b _081B68E0
.pool
_081B68D8:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9D6D
+ ldr r1, =gText_PkmnAdoresBaseVar2Fell
bl StringExpandPlaceholders
_081B68E0:
ldr r0, =gStringVar4
@@ -12239,30 +12239,30 @@ _081B69B8:
.4byte _081B69E8
.4byte _081B69E0
_081B69D0:
- ldr r1, =gUnknown_085E96E3
+ ldr r1, =gText_HP3
b _081B69F2
.pool
_081B69D8:
- ldr r1, =gUnknown_085EA33C
+ ldr r1, =gText_Attack3
b _081B69F2
.pool
_081B69E0:
- ldr r1, =gUnknown_085EA343
+ ldr r1, =gText_Defense3
b _081B69F2
.pool
_081B69E8:
- ldr r1, =gUnknown_085EA35B
+ ldr r1, =gText_Speed2
b _081B69F2
.pool
_081B69F0:
- ldr r1, =gUnknown_085E96E6
+ ldr r1, =gText_SpAtk3
_081B69F2:
adds r0, r2, 0
bl StringCopy
b _081B6A08
.pool
_081B6A00:
- ldr r1, =gUnknown_085E96EE
+ ldr r1, =gText_SpDef3
adds r0, r2, 0
bl StringCopy
_081B6A08:
@@ -12517,7 +12517,7 @@ ether_effect_related: @ 81B6BEC
strb r4, [r0]
movs r0, 0x5
bl PlaySE
- ldr r0, =gUnknown_085E96F6
+ ldr r0, =gText_WontHaveEffect
b _081B6C7E
.pool
_081B6C34:
@@ -12775,18 +12775,18 @@ sub_81B6DC4: @ 81B6DC4
b _081B6E9C
.pool
_081B6E70:
- ldr r1, =gUnknown_085E9AB4
+ ldr r1, =gText_PkmnCantLearnMove
b _081B6E7A
.pool
_081B6E78:
- ldr r1, =gUnknown_085E9C00
+ ldr r1, =gText_PkmnAlreadyKnows
_081B6E7A:
adds r0, r6, 0
bl sub_81B6D98
b _081B6E9C
.pool
_081B6E88:
- ldr r0, =gUnknown_085E9AE9
+ ldr r0, =gText_PkmnNeedsToReplaceMove
bl sub_81B6D74
ldr r1, =gTasks
lsls r0, r6, 2
@@ -12847,7 +12847,7 @@ _081B6EF0:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9AA5
+ ldr r1, =gText_PkmnLearnedMove3
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -12987,7 +12987,7 @@ _081B7048:
beq _081B707A
b _081B7080
_081B704E:
- ldr r0, =gUnknown_085E9B96
+ ldr r0, =gText_WhichMoveToForget
movs r1, 0x1
bl sub_81B1B5C
ldr r1, =gTasks
@@ -13142,7 +13142,7 @@ sub_81B7154: @ 81B7154
ldr r2, =gMoveNames
adds r1, r2
bl StringCopy
- ldr r0, =gUnknown_085E9BB8
+ ldr r0, =gText_12PoofForgotMove
bl sub_81B6D74
ldr r1, =gTasks
lsls r0, r6, 2
@@ -13214,7 +13214,7 @@ sub_81B7230: @ 81B7230
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9B5D
+ ldr r1, =gText_StopLearningMove2
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -13302,7 +13302,7 @@ _081B7306:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9B76
+ ldr r1, =gText_MoveNotLearned
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -13352,7 +13352,7 @@ _081B7392:
ldr r2, =gMoveNames
adds r1, r2
bl StringCopy
- ldr r0, =gUnknown_085E9AE9
+ ldr r0, =gText_PkmnNeedsToReplaceMove
bl sub_81B6D74
ldr r1, =gTasks
lsls r0, r6, 2
@@ -13444,7 +13444,7 @@ _081B747A:
ldr r1, =gUnknown_0203CEE8
movs r0, 0
strb r0, [r1]
- ldr r0, =gUnknown_085E96F6
+ ldr r0, =gText_WontHaveEffect
movs r1, 0x1
bl sub_81B1B5C
movs r0, 0x2
@@ -13484,7 +13484,7 @@ _081B74B4:
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9D0A
+ ldr r1, =gText_PkmnElevatedToLvVar2
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -13915,7 +13915,7 @@ sub_81B787C: @ 81B787C
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9AE9
+ ldr r1, =gText_PkmnNeedsToReplaceMove
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -13969,7 +13969,7 @@ sub_81B7910: @ 81B7910
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9AA5
+ ldr r1, =gText_PkmnLearnedMove3
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -14225,7 +14225,7 @@ _081B7B82:
bne _081B7BC8
ldr r0, =gUnknown_0203CEE8
strb r1, [r0]
- ldr r0, =gUnknown_085E96F6
+ ldr r0, =gText_WontHaveEffect
movs r1, 0x1
bl sub_81B1B5C
movs r0, 0x2
@@ -14278,7 +14278,7 @@ sub_81B7C10: @ 81B7C10
ldr r1, =gStringVar1
bl GetMonNickname
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E9C17
+ ldr r1, =gText_PkmnHPRestoredByVar2
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -14322,7 +14322,7 @@ sub_81B7C74: @ 81B7C74
ldr r1, =gUnknown_0203CEE8
movs r0, 0
strb r0, [r1]
- ldr r0, =gUnknown_085E96F6
+ ldr r0, =gText_WontHaveEffect
movs r1, 0x1
bl sub_81B1B5C
movs r0, 0x2
@@ -14613,18 +14613,18 @@ sub_81B7E4C: @ 81B7E4C
b _081B7F1C
.pool
_081B7EF0:
- ldr r1, =gUnknown_085E9AB4
+ ldr r1, =gText_PkmnCantLearnMove
b _081B7EFA
.pool
_081B7EF8:
- ldr r1, =gUnknown_085E9C00
+ ldr r1, =gText_PkmnAlreadyKnows
_081B7EFA:
adds r0, r6, 0
bl sub_81B6D98
b _081B7F1C
.pool
_081B7F08:
- ldr r0, =gUnknown_085E9AE9
+ ldr r0, =gText_PkmnNeedsToReplaceMove
bl sub_81B6D74
ldr r1, =gTasks
lsls r0, r6, 2
@@ -15152,7 +15152,7 @@ sub_81B83B8: @ 81B83B8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gUnknown_085E98EC
+ ldr r0, =gText_RemoveMailBeforeItem
movs r1, 0x1
bl sub_81B1B5C
movs r0, 0x2
@@ -15273,7 +15273,7 @@ sub_81B8474: @ 81B8474
bl GetMonData
cmp r0, 0
beq _081B84DC
- ldr r0, =gUnknown_085E9A08
+ ldr r0, =gText_PkmnHoldingItemCantHoldMail
movs r1, 0x1
bl sub_81B1B5C
b _081B84F2
@@ -15284,7 +15284,7 @@ _081B84DC:
bl sub_80D460C
adds r0, r4, 0
bl sub_80D439C
- ldr r0, =gUnknown_085E9A40
+ ldr r0, =gText_MailTransferredFromMailbox
movs r1, 0x1
bl sub_81B1B5C
_081B84F2:
@@ -15785,7 +15785,7 @@ sub_81B88BC: @ 81B88BC
lsrs r0, 24
cmp r0, 0x1
bhi _081B88E0
- ldr r0, =gUnknown_085EA126
+ ldr r0, =gText_CancelBattle
b _081B88FA
.pool
_081B88E0:
@@ -15795,11 +15795,11 @@ _081B88E0:
ldrh r0, [r0]
cmp r0, 0x2
bne _081B88F8
- ldr r0, =gUnknown_085EA139
+ ldr r0, =gText_ReturnToWaitingRoom
b _081B88FA
.pool
_081B88F8:
- ldr r0, =gUnknown_085EA155
+ ldr r0, =gText_CancelChallenge
_081B88FA:
pop {r1}
bx r1
@@ -16015,7 +16015,7 @@ _081B8AA2:
adds r0, r4, 0
bl StringCopy
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E97B2
+ ldr r1, =gText_CantSwitchWithAlly
b _081B8C42
.pool
_081B8AC4:
@@ -16033,7 +16033,7 @@ _081B8AC4:
adds r0, r4, 0
bl GetMonNickname
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E978F
+ ldr r1, =gText_PkmnHasNoEnergy
b _081B8C42
.pool
_081B8AF8:
@@ -16076,7 +16076,7 @@ _081B8B24:
cmp r0, 0
beq _081B8B60
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E97E5
+ ldr r1, =gText_EggCantBattle
b _081B8C42
.pool
_081B8B60:
@@ -16094,7 +16094,7 @@ _081B8B60:
adds r0, r6, 0
bl GetMonNickname
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E976F
+ ldr r1, =gText_PkmnAlreadySelected
b _081B8C42
.pool
_081B8B94:
@@ -16144,7 +16144,7 @@ _081B8BFC:
ldr r1, =gStringVar1
bl GetMonNickname
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9754
+ ldr r1, =gText_PkmnAlreadyInBattle
b _081B8C42
.pool
_081B8C20:
@@ -16162,7 +16162,7 @@ _081B8C20:
ldr r1, =gStringVar1
bl GetMonNickname
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9738
+ ldr r1, =gText_PkmnCantSwitchOut
_081B8C42:
bl StringExpandPlaceholders
_081B8C46:
@@ -16228,7 +16228,7 @@ _081B8CBE:
bne _081B8CFC
movs r5, 0x1
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
mov r2, sp
ldr r1, =gBattlePartyID
lsls r0, 24
@@ -16255,7 +16255,7 @@ _081B8CF0:
_081B8CFC:
movs r5, 0x2
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
mov r1, sp
ldr r4, =gBattlePartyID
lsls r0, 24
@@ -16264,7 +16264,7 @@ _081B8CFC:
ldrh r0, [r0]
strb r0, [r1]
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
mov r1, sp
lsls r0, 24
lsrs r0, 23
@@ -16344,19 +16344,19 @@ sub_81B8D88: @ 81B8D88
cmp r0, 0
bne _081B8DB0
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x2
b _081B8DBC
_081B8DB0:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x3
_081B8DBC:
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r6, r0, 24
bl sub_81B1250
@@ -17478,7 +17478,7 @@ sub_81B968C: @ 81B968C
str r0, [sp]
movs r0, 0x3
bl sub_81BF8EC
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
add sp, 0x4
diff --git a/asm/player_pc.s b/asm/player_pc.s
index 7f4ab354c..14062347c 100644
--- a/asm/player_pc.s
+++ b/asm/player_pc.s
@@ -309,7 +309,7 @@ sub_816B0A8: @ 816B0A8
lsls r0, 24
cmp r0, 0
bne _0816B0D8
- ldr r1, =gUnknown_085EAC4B
+ ldr r1, =gText_NoMailHere
ldr r2, =sub_816B060
adds r0, r4, 0
bl DisplayItemMessageOnField
@@ -344,7 +344,7 @@ _0816B0D8:
b _0816B12A
.pool
_0816B120:
- ldr r1, =gUnknown_085EAC4B
+ ldr r1, =gText_NoMailHere
ldr r2, =sub_816B060
adds r0, r6, 0
bl DisplayItemMessageOnField
@@ -583,7 +583,7 @@ _0816B310:
thumb_func_start sub_816B31C
sub_816B31C: @ 816B31C
push {lr}
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =mapldr_080EBC0C
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -661,7 +661,7 @@ sub_816B398: @ 816B398
_0816B3C4:
adds r0, r5, 0
bl sub_816B4DC
- ldr r1, =gUnknown_085EABD1
+ ldr r1, =gText_NoItems
ldr r2, =task_pc_itemstorage
adds r0, r5, 0
bl DisplayItemMessageOnField
@@ -696,7 +696,7 @@ sub_816B3E4: @ 816B3E4
_0816B410:
adds r0, r5, 0
bl sub_816B4DC
- ldr r1, =gUnknown_085EABD1
+ ldr r1, =gText_NoItems
ldr r2, =task_pc_itemstorage
adds r0, r5, 0
bl DisplayItemMessageOnField
@@ -950,7 +950,7 @@ sub_816B5F8: @ 816B5F8
lsrs r4, 24
movs r0, 0x1
bl sub_81D1C84
- ldr r6, =gUnknown_085EAB4E
+ ldr r6, =gText_Mailbox
movs r0, 0x1
adds r1, r6, 0
movs r2, 0x40
@@ -1098,7 +1098,7 @@ sub_816B730: @ 816B730
movs r1, 0
bl sub_81DB554
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085EAC63
+ ldr r1, =gText_WhatToDoWithVar1sMail
adds r0, r5, 0
bl StringExpandPlaceholders
ldr r2, =sub_816B7DC
@@ -1276,7 +1276,7 @@ _0816B8E6:
thumb_func_start sub_816B900
sub_816B900: @ 816B900
push {lr}
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =pal_fill_for_maplights_or_black
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -1345,7 +1345,7 @@ sub_816B994: @ 816B994
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r1, =gUnknown_085EAC8D
+ ldr r1, =gText_MessageWillBeLost
ldr r2, =sub_816B9B0
bl DisplayItemMessageOnField
pop {r0}
@@ -1432,14 +1432,14 @@ sub_816BA18: @ 816BA18
lsls r0, 24
cmp r0, 0
bne _0816BA68
- ldr r1, =gUnknown_085EACB5
+ ldr r1, =gText_BagIsFull
ldr r2, =sub_816BBD4
adds r0, r6, 0
bl DisplayItemMessageOnField
b _0816BA9C
.pool
_0816BA68:
- ldr r1, =gUnknown_085EACC8
+ ldr r1, =gText_MailToBagMessageErased
ldr r2, =sub_816BBD4
adds r0, r6, 0
bl DisplayItemMessageOnField
@@ -1535,7 +1535,7 @@ _0816BB1C:
thumb_func_start sub_816BB28
sub_816BB28: @ 816BB28
push {lr}
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_816BB48
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -2293,10 +2293,10 @@ _0816C16C:
bls _0816C16C
movs r1, 0x6
ldrsh r0, [r7, r1]
- ldr r5, =gUnknown_085EAB71
+ ldr r5, =gText_TossItem
cmp r0, 0
bne _0816C186
- ldr r5, =gUnknown_085EAB63
+ ldr r5, =gText_WithdrawItem
_0816C186:
movs r0, 0x1
adds r1, r5, 0
@@ -2383,11 +2383,11 @@ _0816C26C:
b _0816C2BA
.pool
_0816C274:
- ldr r0, =gUnknown_085EAC09
+ ldr r0, =gText_WithdrawHowManyItems
b _0816C2BA
.pool
_0816C27C:
- ldr r0, =gUnknown_085EAC22
+ ldr r0, =gText_WithdrawXItems
b _0816C2BA
.pool
_0816C284:
@@ -2399,7 +2399,7 @@ _0816C28C:
b _0816C2BA
.pool
_0816C294:
- ldr r0, =gUnknown_085EABE7
+ ldr r0, =gText_NoRoomInBag
b _0816C2BA
.pool
_0816C29C:
diff --git a/asm/pokeball.s b/asm/pokeball.s
index 06958d7d2..557813c19 100755
--- a/asm/pokeball.s
+++ b/asm/pokeball.s
@@ -185,7 +185,7 @@ _08075548:
.pool
_08075584:
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
ldr r1, =gBankTarget
strb r0, [r1]
movs r0, 0x1
@@ -1199,13 +1199,13 @@ _08075DD4:
lsrs r0, 16
mov r9, r0
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
cmp r5, r0
beq _08075E00
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
cmp r5, r0
@@ -1261,13 +1261,13 @@ _08075E70:
.pool
_08075E80:
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
cmp r5, r0
beq _08075E9C
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
cmp r5, r0
@@ -1830,7 +1830,7 @@ _080762F8:
movs r0, 0x3A
ldrsh r4, [r5, r0]
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -1903,7 +1903,7 @@ sub_8076398: @ 8076398
movs r0, 0x3A
ldrsh r4, [r5, r0]
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
cmp r4, r0
diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s
index bd348ec34..d82c5df07 100644
--- a/asm/pokeblock_feed.s
+++ b/asm/pokeblock_feed.s
@@ -718,7 +718,7 @@ sub_817A1C4: @ 817A1C4
cmp r0, 0
bne _0817A248
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E937F
+ ldr r1, =gText_Var1AteTheVar2
bl StringExpandPlaceholders
b _0817A268
.pool
@@ -726,13 +726,13 @@ _0817A248:
cmp r0, 0
ble _0817A260
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9390
+ ldr r1, =gText_Var1HappilyAteVar2
bl StringExpandPlaceholders
b _0817A268
.pool
_0817A260:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E93A9
+ ldr r1, =gText_Var1DisdainfullyAteVar2
bl StringExpandPlaceholders
_0817A268:
ldr r2, =gTextFlags
diff --git a/asm/pokedex.s b/asm/pokedex.s
index fdaacde2c..f9ee0eeab 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -8429,8 +8429,8 @@ _080BFDB4:
.pool
thumb_func_end sub_80BFD7C
- thumb_func_start sub_80BFDF4
-sub_80BFDF4: @ 80BFDF4
+ thumb_func_start CreateDexDisplayMonDataTask
+CreateDexDisplayMonDataTask: @ 80BFDF4
push {r4-r6,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -8460,7 +8460,7 @@ sub_80BFDF4: @ 80BFDF4
pop {r1}
bx r1
.pool
- thumb_func_end sub_80BFDF4
+ thumb_func_end CreateDexDisplayMonDataTask
thumb_func_start sub_80BFE38
sub_80BFE38: @ 80BFE38
diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s
deleted file mode 100644
index 17856f6d3..000000000
--- a/asm/pokemon_2.s
+++ /dev/null
@@ -1,356 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CopyPlayerPartyMonToBattleData
-CopyPlayerPartyMonToBattleData: @ 806B9FC
- 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, 0x14]
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r0, 0x64
- mov r5, r9
- muls r5, r0
- ldr r0, =gPlayerParty
- adds r5, r0
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- ldr r1, =gBattleMons
- mov r8, r1
- movs r1, 0x58
- ldr r2, [sp, 0x14]
- adds r4, r2, 0
- muls r4, r1
- mov r3, r8
- adds r6, r4, r3
- strh r0, [r6]
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- strh r0, [r6, 0x2E]
- movs r6, 0
- mov r0, r8
- adds r0, 0x24
- adds r7, r4, r0
-_0806BA4E:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r5, 0
- movs r2, 0
- bl GetMonData
- movs r1, 0xC
- add r1, r8
- mov r10, r1
- adds r1, r4, r1
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r5, 0
- movs r2, 0
- bl GetMonData
- strb r0, [r7]
- adds r7, 0x1
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0806BA4E
- movs r0, 0x64
- mov r4, r9
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- movs r2, 0xC
- negs r2, r2
- add r2, r10
- mov r9, r2
- movs r1, 0x58
- ldr r3, [sp, 0x14]
- adds r5, r3, 0
- muls r5, r1
- adds r7, r5, r2
- adds r1, r7, 0
- adds r1, 0x3B
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r1, r7, 0
- adds r1, 0x2B
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x19
- movs r2, 0
- bl GetMonData
- mov r1, r10
- adds r1, 0x38
- adds r1, r5, r1
- str r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- movs r2, 0
- bl GetMonData
- movs r6, 0x1F
- ands r0, r6
- ldrb r2, [r7, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- movs r2, 0
- bl GetMonData
- movs r1, 0x1F
- mov r8, r1
- mov r2, r8
- ands r0, r2
- lsls r0, 5
- ldrh r2, [r7, 0x14]
- ldr r1, =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r7, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- movs r2, 0
- bl GetMonData
- ands r0, r6
- lsls r0, 2
- ldrb r2, [r7, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- movs r2, 0
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [r7, 0x14]
- ldr r2, =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [r7, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- movs r2, 0
- bl GetMonData
- mov r3, r8
- ands r0, r3
- lsls r0, 4
- ldrh r2, [r7, 0x16]
- ldr r1, =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r7, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- movs r2, 0
- bl GetMonData
- ands r0, r6
- lsls r0, 1
- ldrb r2, [r7, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x17]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- mov r1, r10
- adds r1, 0x3C
- adds r1, r5, r1
- str r0, [r1]
- adds r0, r4, 0
- movs r1, 0x37
- movs r2, 0
- bl GetMonData
- mov r1, r10
- adds r1, 0x40
- adds r1, r5, r1
- str r0, [r1]
- adds r0, r4, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- adds r1, r7, 0
- adds r1, 0x2A
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- movs r2, 0
- bl GetMonData
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r7, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- movs r2, 0
- bl GetMonData
- lsls r0, 7
- ldrb r2, [r7, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- mov r1, r10
- adds r1, 0x48
- adds r1, r5, r1
- str r0, [r1]
- ldr r2, =gBaseStats
- ldrh r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x6]
- adds r1, r7, 0
- adds r1, 0x21
- strb r0, [r1]
- ldrh r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x7]
- adds r1, r7, 0
- adds r1, 0x22
- strb r0, [r1]
- ldrh r0, [r7]
- ldrb r1, [r7, 0x17]
- lsrs r1, 7
- bl GetAbilityBySpecies
- adds r1, r7, 0
- adds r1, 0x20
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, r10
- adds r0, 0x24
- adds r0, r5, r0
- mov r1, sp
- bl StringCopy10
- mov r2, r10
- adds r2, 0x30
- adds r2, r5, r2
- adds r0, r4, 0
- movs r1, 0x7
- bl GetMonData
- ldr r0, [sp, 0x14]
- bl GetBankSide
- ldr r1, =gBattleStruct
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0xA8
- ldr r1, [r1]
- adds r1, r0
- ldrh r0, [r7, 0x28]
- strh r0, [r1]
- movs r2, 0x6
- mov r1, r9
- movs r6, 0x7
- add r5, r10
- adds r0, r5, 0
- adds r0, 0x13
-_0806BCB2:
- strb r2, [r0]
- subs r0, 0x1
- subs r6, 0x1
- cmp r6, 0
- bge _0806BCB2
- movs r2, 0
- movs r0, 0x58
- ldr r3, [sp, 0x14]
- muls r0, r3
- adds r1, 0x50
- adds r0, r1
- str r2, [r0]
- ldr r0, [sp, 0x14]
- bl sub_803FA70
- ldr r0, [sp, 0x14]
- movs r1, 0
- bl sub_805EF84
- 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 CopyPlayerPartyMonToBattleData
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s
index e90253ab0..6009bd3f3 100755
--- a/asm/pokemon_icon.s
+++ b/asm/pokemon_icon.s
@@ -32,7 +32,7 @@ sub_80D2CC4: @ 80D2CC4
str r0, [sp, 0x18]
adds r0, r4, 0
adds r2, r5, 0
- bl sub_80D2EDC
+ bl GetMonIconPtr
str r0, [sp, 0x1C]
ldr r0, =gUnknown_0857C5B4
str r0, [sp, 0x20]
@@ -271,9 +271,9 @@ _080D2ED2:
bx r1
thumb_func_end sub_80D2E84
- thumb_func_start sub_80D2EDC
-@ void *sub_80D2EDC(u16 speciesId, u32 personality, bool32)
-sub_80D2EDC: @ 80D2EDC
+ thumb_func_start GetMonIconPtr
+@ void *GetMonIconPtr(u16 speciesId, u32 personality, bool32)
+GetMonIconPtr: @ 80D2EDC
push {r4,lr}
adds r4, r2, 0
lsls r0, 16
@@ -286,7 +286,7 @@ sub_80D2EDC: @ 80D2EDC
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80D2EDC
+ thumb_func_end GetMonIconPtr
thumb_func_start sub_80D2EF8
sub_80D2EF8: @ 80D2EF8
@@ -534,8 +534,8 @@ sub_80D30A0: @ 80D30A0
.pool
thumb_func_end sub_80D30A0
- thumb_func_start sub_80D30B0
-sub_80D30B0: @ 80D30B0
+ thumb_func_start GetValidMonIconPalettePtr
+GetValidMonIconPalettePtr: @ 80D30B0
push {lr}
lsls r0, 16
lsrs r2, r0, 16
@@ -556,7 +556,7 @@ _080D30C2:
pop {r1}
bx r1
.pool
- thumb_func_end sub_80D30B0
+ thumb_func_end GetValidMonIconPalettePtr
thumb_func_start sub_80D30DC
sub_80D30DC: @ 80D30DC
diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s
index 137f7a5c0..5dc6452e9 100644
--- a/asm/pokemon_item_effect.s
+++ b/asm/pokemon_item_effect.s
@@ -1155,9 +1155,9 @@ _0806C6AE:
movs r0, 0
movs r1, 0
movs r2, 0
- bl dp01_build_cmdbuf_x00_a_b_0
+ bl EmitGetMonData
ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
+ bl MarkBufferBankForExecution
strb r5, [r4]
b _0806C6EC
.pool
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index df90540e8..6c4c7ff13 100755
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -586,7 +586,7 @@ _080C73F6:
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EBCAD
+ ldr r2, =gText_PartyFull
str r4, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
@@ -609,7 +609,7 @@ _080C7428:
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r2, =gUnknown_085EBC89
+ ldr r2, =gText_JustOnePkmn
movs r0, 0
str r0, [sp]
movs r0, 0x2
@@ -870,7 +870,7 @@ sub_80C7678: @ 80C7678
bl sub_80CAEA0
ldr r1, =gUnknown_02039D00
strb r0, [r1]
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =mapldr_0808C6D8
str r0, [r1]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -1019,8 +1019,8 @@ _080C777E:
_080C779E:
lsls r0, r5, 24
lsrs r0, 24
- bl sav3_get_box_name
- ldr r1, =gUnknown_085EBCC1
+ bl GetBoxNamePtr
+ ldr r1, =gText_Box
bl StringCopy
adds r4, r5, 0x1
adds r1, r4, 0
@@ -1566,7 +1566,7 @@ sub_80C7BE4: @ 80C7BE4
lsls r4, 2
adds r0, r4
ldrb r0, [r0]
- bl sav3_get_box_name
+ bl GetBoxNamePtr
mov r10, r0
mov r1, r9
ldr r0, [r1]
@@ -5424,7 +5424,7 @@ _080C9F1C:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
movs r0, 0
str r0, [sp]
@@ -5433,7 +5433,7 @@ _080C9F1C:
movs r0, 0x1
movs r2, 0
movs r3, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
b _080C9F56
.pool
_080C9F48:
@@ -10831,7 +10831,7 @@ sub_80CCB50: @ 80CCB50
ldr r5, =0x000021b8
adds r4, r5
mov r0, r8
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -10852,7 +10852,7 @@ sub_80CCB50: @ 80CCB50
ldr r0, [sp, 0x2C]
bl LoadSpriteSheet
mov r0, r8
- bl sav3_get_box_name
+ bl GetBoxNamePtr
bl sub_80CD00C
movs r4, 0
lsls r0, 16
@@ -10997,7 +10997,7 @@ _080CCDB0:
ldr r5, =0x000021b8
adds r4, r5
ldr r0, [sp, 0x28]
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -11027,7 +11027,7 @@ _080CCDB0:
movs r2, 0x4
bl LoadPalette
ldr r0, [sp, 0x28]
- bl sav3_get_box_name
+ bl GetBoxNamePtr
bl sub_80CD00C
lsls r0, 16
mov r1, r10
@@ -17910,7 +17910,7 @@ sub_80D07B0: @ 80D07B0
beq _080D0828
adds r0, r5, 0
movs r2, 0x1
- bl sub_80D2EDC
+ bl GetMonIconPtr
adds r4, r0, 0
adds r0, r5, 0
bl sub_80D3080
@@ -21085,8 +21085,8 @@ _080D20CA:
bx r1
thumb_func_end GetBoxedMonPtr
- thumb_func_start sav3_get_box_name
-sav3_get_box_name: @ 80D20D0
+ thumb_func_start GetBoxNamePtr
+GetBoxNamePtr: @ 80D20D0
push {lr}
lsls r0, 24
lsrs r2, r0, 24
@@ -21106,7 +21106,7 @@ _080D20EC:
pop {r1}
bx r1
.pool
- thumb_func_end sav3_get_box_name
+ thumb_func_end GetBoxNamePtr
thumb_func_start sub_80D20F8
sub_80D20F8: @ 80D20F8
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 7f1a1e48f..b243ab3b2 100755
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -2352,7 +2352,7 @@ _081C284A:
sub_81C286C: @ 81C286C
push {r4-r7,lr}
sub sp, 0x8
- ldr r1, =gUnknown_085EA3CF
+ ldr r1, =gText_PkmnInfo
movs r5, 0
str r5, [sp]
movs r6, 0x1
@@ -2361,21 +2361,21 @@ sub_81C286C: @ 81C286C
movs r2, 0x2
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA3DC
+ ldr r1, =gText_PkmnSkills
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0x1
movs r2, 0x2
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA3EB
+ ldr r1, =gText_BattleMoves
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0x2
movs r2, 0x2
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA3F8
+ ldr r1, =gText_ContestMoves
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0x3
@@ -2405,7 +2405,7 @@ _081C28CC:
adds r1, r7, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r7, =gUnknown_085EA406
+ ldr r7, =gText_Info
movs r0, 0x1
adds r1, r7, 0
movs r2, 0x3E
@@ -2428,7 +2428,7 @@ _081C28FE:
adds r1, r7, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r7, =gUnknown_085EA3C8
+ ldr r7, =gText_Switch
movs r0, 0x1
adds r1, r7, 0
movs r2, 0x3E
@@ -2451,21 +2451,21 @@ _081C2930:
adds r1, r7, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA369
+ ldr r1, =gText_RentalPkmn
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0x8
movs r2, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA378
+ ldr r1, =gText_TypeSlash
str r5, [sp]
str r5, [sp, 0x4]
movs r0, 0x9
movs r2, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r4, =gUnknown_085EA361
+ ldr r4, =gText_HP4
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x2A
@@ -2479,7 +2479,7 @@ _081C2930:
adds r1, r4, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r4, =gUnknown_085EA33C
+ ldr r4, =gText_Attack3
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x2A
@@ -2493,7 +2493,7 @@ _081C2930:
adds r1, r4, 0
movs r3, 0x11
bl sub_81C25A4
- ldr r4, =gUnknown_085EA343
+ ldr r4, =gText_Defense3
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x2A
@@ -2507,7 +2507,7 @@ _081C2930:
adds r1, r4, 0
movs r3, 0x21
bl sub_81C25A4
- ldr r4, =gUnknown_085EA34B
+ ldr r4, =gText_SpAtk4
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x24
@@ -2521,7 +2521,7 @@ _081C2930:
adds r1, r4, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r4, =gUnknown_085EA353
+ ldr r4, =gText_SpDef4
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x24
@@ -2535,7 +2535,7 @@ _081C2930:
adds r1, r4, 0
movs r3, 0x11
bl sub_81C25A4
- ldr r4, =gUnknown_085EA35B
+ ldr r4, =gText_Speed2
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x24
@@ -2549,49 +2549,49 @@ _081C2930:
adds r1, r4, 0
movs r3, 0x21
bl sub_81C25A4
- ldr r1, =gUnknown_085EA39F
+ ldr r1, =gText_ExpPoints
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0xC
movs r2, 0x6
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA3AB
+ ldr r1, =gText_NextLv
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0xC
movs r2, 0x6
movs r3, 0x11
bl sub_81C25A4
- ldr r1, =gUnknown_085EA398
+ ldr r1, =gText_Status
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0xD
movs r2, 0x2
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA37E
+ ldr r1, =gText_Power
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0xE
movs r2, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA384
+ ldr r1, =gText_Accuracy2
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0xE
movs r2, 0
movs r3, 0x11
bl sub_81C25A4
- ldr r1, =gUnknown_085EA38D
+ ldr r1, =gText_Appeal
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0xF
movs r2, 0
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_085EA394
+ ldr r1, =gText_Jam
str r5, [sp]
str r6, [sp, 0x4]
movs r0, 0xF
@@ -3065,7 +3065,7 @@ sub_81C2EC4: @ 81C2EC4
bl sub_81C2D2C
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gUnknown_085EA365
+ ldr r4, =gText_OTSlash
movs r6, 0
str r6, [sp]
movs r0, 0x1
@@ -3274,7 +3274,7 @@ sub_81C307C: @ 81C307C
bne _081C30E0
_081C30C2:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085EA5DB
+ ldr r1, =gText_XNature
bl sub_81AFC28
b _081C3182
.pool
@@ -3306,25 +3306,25 @@ _081C310C:
cmp r0, 0
bne _081C3134
ldrb r0, [r4, 0x9]
- ldr r1, =gUnknown_085EA516
+ ldr r1, =gText_XNatureHatchedAtYZ
cmp r0, 0xD4
bls _081C3170
- ldr r1, =gUnknown_085EA617
+ ldr r1, =gText_XNatureHatchedSomewhereAt
b _081C3170
.pool
_081C3134:
ldrb r0, [r4, 0x9]
- ldr r1, =gUnknown_085EA4EC
+ ldr r1, =gText_XNatureMetAtYZ
cmp r0, 0xD4
bls _081C3170
- ldr r1, =gUnknown_085EA5EB
+ ldr r1, =gText_XNatureMetSomewhereAt
b _081C3170
.pool
_081C3148:
ldrb r0, [r4, 0x9]
cmp r0, 0xFF
bne _081C3158
- ldr r1, =gUnknown_085EA56A
+ ldr r1, =gText_XNatureFatefulEncounter
b _081C3170
.pool
_081C3158:
@@ -3335,11 +3335,11 @@ _081C3158:
cmp r0, 0
beq _081C316E
ldrb r0, [r4, 0x9]
- ldr r1, =gUnknown_085EA5A8
+ ldr r1, =gText_XNatureProbablyMetAt
cmp r0, 0xD4
bls _081C3170
_081C316E:
- ldr r1, =gUnknown_085EA544
+ ldr r1, =gText_XNatureObtainedInTrade
_081C3170:
ldr r0, =gStringVar4
bl sub_81AFC28
@@ -3388,7 +3388,7 @@ sub_81C31C0: @ 81C31C0
ldr r1, [r0]
movs r0, 0x2
bl sub_81AFC0C
- ldr r1, =gUnknown_085EA3C0
+ ldr r1, =gText_EmptyString5
movs r0, 0x5
bl sub_81AFC0C
pop {r0}
@@ -3588,7 +3588,7 @@ sub_81C335C: @ 81C335C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gUnknown_085EA365
+ ldr r0, =gText_OTSlash
mov r8, r0
movs r0, 0x1
mov r1, r8
@@ -3675,27 +3675,27 @@ sub_81C3428: @ 81C3428
ldrb r0, [r0]
cmp r0, 0x1
bne _081C3448
- ldr r4, =gUnknown_085EA40B
+ ldr r4, =gText_EggWillTakeALongTime
b _081C346C
.pool
_081C3448:
ldrh r0, [r1, 0x30]
cmp r0, 0x5
bhi _081C3458
- ldr r4, =gUnknown_085EA4A2
+ ldr r4, =gText_EggAboutToHatch
b _081C346C
.pool
_081C3458:
cmp r0, 0xA
bhi _081C3464
- ldr r4, =gUnknown_085EA475
+ ldr r4, =gText_EggWillHatchSoon
b _081C346C
.pool
_081C3464:
- ldr r4, =gUnknown_085EA40B
+ ldr r4, =gText_EggWillTakeALongTime
cmp r0, 0x28
bhi _081C346C
- ldr r4, =gUnknown_085EA442
+ ldr r4, =gText_EggWillTakeSomeTime
_081C346C:
ldr r0, =gUnknown_0861CCCC
movs r1, 0x2
@@ -3731,7 +3731,7 @@ sub_81C349C: @ 81C349C
ldrb r0, [r4, 0x9]
cmp r0, 0xFF
bne _081C34C4
- ldr r4, =gUnknown_085EA678
+ ldr r4, =gText_PeculiarEggNicePlace
b _081C3502
.pool
_081C34C4:
@@ -3744,7 +3744,7 @@ _081C34C4:
cmp r0, 0
bne _081C34E0
_081C34D8:
- ldr r4, =gUnknown_085EA6AB
+ ldr r4, =gText_PeculiarEggTrade
b _081C3502
.pool
_081C34E0:
@@ -3754,14 +3754,14 @@ _081C34E0:
bl sub_81C32E0
lsls r0, 24
lsrs r0, 24
- ldr r4, =gUnknown_085EA702
+ ldr r4, =gText_EggFromTraveler
cmp r0, 0x1
bne _081C3502
- ldr r4, =gUnknown_085EA6D7
+ ldr r4, =gText_EggFromHotSprings
b _081C3502
.pool
_081C3500:
- ldr r4, =gUnknown_085EA647
+ ldr r4, =gText_OddEggFoundByCouple
_081C3502:
ldr r0, =gUnknown_0861CCCC
movs r1, 0x3
@@ -3960,7 +3960,7 @@ _081C36B0:
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA3B4
+ ldr r1, =gText_RibbonsVar1
adds r0, r4, 0
bl StringExpandPlaceholders
adds r5, r4, 0
@@ -5140,7 +5140,7 @@ sub_81C4154: @ 81C4154
adds r0, r4, 0
movs r1, 0
bl FillWindowPixelBuffer
- ldr r1, =gUnknown_085EA4CB
+ ldr r1, =gText_HMMovesCantBeForgotten2
movs r0, 0
str r0, [sp]
str r0, [sp, 0x4]
@@ -7369,7 +7369,7 @@ sub_81C540C: @ 81C540C
ldr r1, =gStringVar2
adds r0, r4, 0
bl CopyItemName
- ldr r1, =gUnknown_085E9210
+ ldr r1, =gText_UnkF908Var1Clear7Var2
adds r0, r5, 0
bl StringExpandPlaceholders
b _081C5458
@@ -7574,7 +7574,7 @@ sub_81C55D8: @ 81C55D8
.pool
_081C561C:
ldr r0, =gStringVar1
- ldr r2, =gUnknown_085E91B0
+ ldr r2, =gReturnToXStringsTable2
ldr r1, =gUnknown_0203CF30
ldrb r1, [r1, 0x4]
lsls r1, 2
diff --git a/asm/pokenav.s b/asm/pokenav.s
index f6c50a3f7..fa0aaa9d0 100755
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6860,7 +6860,7 @@ sub_81CA770: @ 81CA770
movs r0, 0x2
bl sub_81C763C
adds r5, r0, 0
- ldr r6, =gUnknown_085EBD4A
+ ldr r6, =gText_NoRibbonWinners
movs r2, 0x1
negs r2, r2
movs r0, 0x1
@@ -7928,7 +7928,7 @@ sub_81CAF78: @ 81CAF78
lsls r0, 24
cmp r0, 0
bne _081CAFA4
- ldr r0, =gUnknown_085EEB0B
+ ldr r0, =gText_CallCantBeMadeHere
b _081CAFCE
.pool
_081CAFA4:
@@ -9748,7 +9748,7 @@ sub_81CBDF4: @ 81CBDF4
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r1, =gUnknown_085EBE5F
+ ldr r1, =gText_NumberRegistered
movs r2, 0
bl sub_81CBE88
pop {r0}
@@ -9784,7 +9784,7 @@ sub_81CBE38: @ 81CBE38
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r1, =gUnknown_085EBE6E
+ ldr r1, =gText_NumberOfBattles
movs r2, 0x2
bl sub_81CBE88
pop {r0}
@@ -9900,7 +9900,7 @@ sub_81CBEF8: @ 81CBEF8
bl GetMapName
b _081CBF24
_081CBF1C:
- ldr r1, =gUnknown_085EC00F
+ ldr r1, =gText_Unknown
add r0, sp, 0xC
bl StringCopy
_081CBF24:
@@ -10168,7 +10168,7 @@ sub_81CC11C: @ 81CC11C
push {lr}
sub sp, 0xC
ldrb r0, [r0, 0x14]
- ldr r2, =gUnknown_085EBF95
+ ldr r2, =gText_TrainerCloseBy
movs r1, 0x1
str r1, [sp]
str r1, [sp, 0x4]
@@ -13128,7 +13128,7 @@ _081CD862:
adds r0, r4, r5
ldr r1, =0x00006325
adds r0, r1
- ldr r1, =gUnknown_085EBFCE
+ ldr r1, =gText_InParty
b _081CD8F4
.pool
_081CD8E4:
@@ -13136,7 +13136,7 @@ _081CD8E4:
ldr r2, =0x00006325
adds r4, r2
adds r0, r3, 0
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
_081CD8F4:
@@ -14829,7 +14829,7 @@ sub_81CE738: @ 81CE738
movs r2, 0x1
movs r3, 0x4
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085EBFD7
+ ldr r1, =gText_Number2
bl StringCopy
pop {r1}
bx r1
@@ -14957,7 +14957,7 @@ _081CE80C:
strb r0, [r1, 0x4]
mov r5, sp
adds r5, 0x11
- ldr r1, =gUnknown_085EBFD7
+ ldr r1, =gText_Number2
adds r0, r5, 0
bl StringCopy
ldr r0, =0x00001821
@@ -16949,7 +16949,7 @@ sub_81CF7F4: @ 81CF7F4
movs r0, 0xFF
strb r0, [r4]
ldr r5, =gStringVar2
- ldr r1, =gUnknown_085EC029
+ ldr r1, =gText_NumberF700
adds r0, r5, 0
bl sub_81AFC28
mov r1, r8
@@ -19859,7 +19859,7 @@ sub_81D0E84: @ 81D0E84
adds r1, r4, 0
bl sub_81AFC0C
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EC030
+ ldr r1, =gText_RibbonsF700
adds r0, r4, 0
bl sub_81AFC28
ldrb r0, [r5, 0xA]
@@ -23412,7 +23412,7 @@ sub_81D28FC: @ 81D28FC
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r5, =gUnknown_085EFA31
+ ldr r5, =gText_BattleMoves2
movs r0, 0x1
adds r1, r5, 0
movs r2, 0x80
@@ -23431,7 +23431,7 @@ sub_81D28FC: @ 81D28FC
movs r1, 0x1
adds r2, r5, 0
bl PrintTextOnWindow
- ldr r5, =gUnknown_085EFA52
+ ldr r5, =gText_PPSlash
movs r1, 0x29
mov r10, r1
str r1, [sp]
@@ -23443,7 +23443,7 @@ sub_81D28FC: @ 81D28FC
adds r2, r5, 0
movs r3, 0x4
bl PrintTextOnWindow
- ldr r5, =gUnknown_085EFA56
+ ldr r5, =gText_PowerSlash
movs r0, 0x1
adds r1, r5, 0
movs r2, 0x6A
@@ -23460,7 +23460,7 @@ sub_81D28FC: @ 81D28FC
movs r1, 0x1
adds r2, r5, 0
bl PrintTextOnWindow
- ldr r5, =gUnknown_085EFA5D
+ ldr r5, =gText_AccuracySlash
movs r0, 0x1
adds r1, r5, 0
movs r2, 0x6A
@@ -23508,7 +23508,7 @@ _081D29C4:
adds r2, r5, 0
movs r3, 0x4
bl PrintTextOnWindow
- ldr r1, =gUnknown_085EFA52
+ ldr r1, =gText_PPSlash
movs r0, 0x1
movs r2, 0
bl GetStringWidth
@@ -23616,7 +23616,7 @@ sub_81D2ACC: @ 81D2ACC
movs r0, 0x1
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r5, =gUnknown_085EFA3E
+ ldr r5, =gText_ContestMoves2
movs r0, 0x1
adds r1, r5, 0
movs r2, 0x80
@@ -23632,7 +23632,7 @@ sub_81D2ACC: @ 81D2ACC
movs r1, 0x1
adds r2, r5, 0
bl PrintTextOnWindow
- ldr r5, =gUnknown_085EFA67
+ ldr r5, =gText_Appeal2
movs r0, 0x1
adds r1, r5, 0
movs r2, 0x5C
@@ -23648,7 +23648,7 @@ sub_81D2ACC: @ 81D2ACC
movs r1, 0x1
adds r2, r5, 0
bl PrintTextOnWindow
- ldr r5, =gUnknown_085EFA6E
+ ldr r5, =gText_Jam2
movs r0, 0x1
adds r1, r5, 0
movs r2, 0x5C
@@ -24157,14 +24157,14 @@ _081D2EFC:
cmp r7, 0xE
bne _081D2F2C
adds r0, r5, 0x5
- ldr r1, =gUnknown_085EBFCE
+ ldr r1, =gText_InParty
b _081D2F3A
.pool
_081D2F2C:
adds r4, r5, 0x5
lsls r0, r7, 24
lsrs r0, 24
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
_081D2F3A:
@@ -25214,10 +25214,10 @@ _081D36CA:
adds r4, 0xC
movs r1, 0
ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_085EEA76
+ ldr r1, =gText_Dash
cmp r0, 0
blt _081D3704
- ldr r1, =gUnknown_085EEA73
+ ldr r1, =gText_UnkCtrlF904
_081D3704:
adds r0, r6, 0
bl StringCopy
@@ -26636,7 +26636,7 @@ sub_81D427C: @ 81D427C
ldr r2, =gMapObjects
adds r5, r1, r2
ldr r4, =gUnknown_030012F8
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -26672,7 +26672,7 @@ _081D42CA:
cmp r0, 0x3
bls _081D42CA
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -26730,7 +26730,7 @@ _081D4360:
ldr r6, =gMapObjects
mov r10, r6
_081D4368:
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -26837,7 +26837,7 @@ _081D4410:
beq _081D4446
b _081D45AA
_081D4446:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -26879,7 +26879,7 @@ _081D4488:
cmp r0, 0
bne _081D4538
_081D449E:
- ldr r2, =gUnknown_02037590
+ ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -26983,7 +26983,7 @@ _081D4540:
beq _081D4576
b _081D447C
_081D4576:
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -27152,7 +27152,7 @@ _081D46D0:
cmp r0, 0
bne _081D476E
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -27177,7 +27177,7 @@ _081D46D0:
b _081D447C
_081D470C:
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -27231,7 +27231,7 @@ _081D476E:
cmp r0, 0
bne _081D480C
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -27256,7 +27256,7 @@ _081D476E:
b _081D45AA
_081D47AA:
ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -27327,7 +27327,7 @@ sub_81D4834: @ 81D4834
lsls r1, 16
lsrs r4, r1, 16
ldr r3, =gMapObjects
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
ldrb r2, [r1, 0x5]
lsls r1, r2, 3
adds r1, r2
@@ -27356,7 +27356,7 @@ _081D4870:
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8088E64
+ bl MetatileBehavior_IsPokeGrass
lsls r0, 24
lsrs r0, 24
_081D4888:
@@ -28559,7 +28559,7 @@ _081D5268:
ldr r0, =gUnknown_085EE097
bl sub_8018884
ldr r0, =gUnknown_03006370
- ldr r1, =gUnknown_089A6550
+ ldr r1, =gMultiBootProgram_BerryGlitchFix_Start
ldr r2, =gUnknown_089A3470
subs r1, r2
bl sub_81D4D50
@@ -29757,7 +29757,7 @@ sub_81D5C8C: @ 81D5C8C
movs r0, 0
movs r1, 0
bl FillWindowPixelBuffer
- ldr r5, =gUnknown_085EF88A
+ ldr r5, =gText_TimeBoard
movs r0, 0x1
adds r1, r5, 0
movs r2, 0xD0
@@ -29842,9 +29842,9 @@ _081D5CD6:
movs r3, 0x2
bl ConvertIntToDecimalStringN
mov r0, r9
- ldr r1, =gUnknown_085EF895
+ ldr r1, =gText_TimeCleared
bl StringCopy
- ldr r1, =gUnknown_085EF8A3
+ ldr r1, =gText_XMinYDotZSec
bl StringExpandPlaceholders
movs r0, 0x1
mov r1, r9
diff --git a/asm/porthole.s b/asm/porthole.s
deleted file mode 100644
index e5986b47e..000000000
--- a/asm/porthole.s
+++ /dev/null
@@ -1,282 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FB59C
-sub_80FB59C: @ 80FB59C
- push {r4-r6,lr}
- sub sp, 0xC
- mov r4, sp
- adds r4, 0x5
- mov r5, sp
- adds r5, 0x6
- add r6, sp, 0x8
- add r0, sp, 0x4
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8137FFC
- lsls r0, 24
- cmp r0, 0
- bne _080FB5DE
- add r0, sp, 0x4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r2, 0x1
- negs r2, r2
- movs r3, 0
- ldrsb r3, [r5, r3]
- movs r4, 0
- ldrsb r4, [r6, r4]
- str r4, [sp]
- bl warp1_set
- movs r0, 0x1
- b _080FB5E0
-_080FB5DE:
- movs r0, 0
-_080FB5E0:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB59C
-
- thumb_func_start sub_80FB5E8
-sub_80FB5E8: @ 80FB5E8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =0x000040b4
- bl GetVarPointer
- adds r7, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- adds r6, r3, 0x4
- movs r0, 0
- ldrsh r2, [r4, r0]
- cmp r2, 0x1
- beq _080FB648
- cmp r2, 0x1
- bgt _080FB624
- cmp r2, 0
- beq _080FB62E
- b _080FB6E2
- .pool
-_080FB624:
- cmp r2, 0x2
- beq _080FB68A
- cmp r2, 0x3
- beq _080FB6C4
- b _080FB6E2
-_080FB62E:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FB6E2
- strh r2, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r4]
- b _080FB6E2
- .pool
-_080FB648:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080FB656
- strh r2, [r4, 0x2]
-_080FB656:
- ldrb r1, [r6, 0x1]
- ldrb r2, [r3, 0x4]
- movs r0, 0xFF
- bl sub_80D3340
- lsls r0, 24
- cmp r0, 0
- beq _080FB6E2
- movs r0, 0x1
- bl sub_8137FC0
- cmp r0, 0x1
- bne _080FB686
- ldrh r0, [r7]
- cmp r0, 0x2
- bne _080FB680
- movs r0, 0x9
- b _080FB682
- .pool
-_080FB680:
- movs r0, 0xA
-_080FB682:
- strh r0, [r7]
- b _080FB692
-_080FB686:
- movs r0, 0x2
- strh r0, [r4]
-_080FB68A:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FB698
-_080FB692:
- movs r0, 0x3
- strh r0, [r4]
- b _080FB6E2
-_080FB698:
- ldrh r0, [r7]
- cmp r0, 0x2
- bne _080FB6AC
- ldrb r1, [r6, 0x1]
- ldrb r2, [r6]
- ldr r3, =gUnknown_0858E8AB
- b _080FB6B2
- .pool
-_080FB6AC:
- ldrb r1, [r6, 0x1]
- ldrb r2, [r6]
- ldr r3, =gUnknown_0858E8AD
-_080FB6B2:
- movs r0, 0xFF
- bl exec_movement
- movs r0, 0x1
- strh r0, [r4]
- b _080FB6E2
- .pool
-_080FB6C4:
- ldr r0, =0x00004001
- bl FlagReset
- movs r0, 0x80
- lsls r0, 7
- bl FlagReset
- movs r0, 0
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- bl sp13E_warp_to_last_warp
- adds r0, r5, 0
- bl DestroyTask
-_080FB6E2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB5E8
-
- thumb_func_start sub_80FB6EC
-sub_80FB6EC: @ 80FB6EC
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =SpriteCallbackDummy
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8C
- movs r2, 0x70
- movs r3, 0x50
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r2
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =0x000040b4
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _080FB74C
- movs r0, 0x4
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- b _080FB75E
- .pool
-_080FB74C:
- movs r0, 0x3
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_080FB75E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB6EC
-
- thumb_func_start sub_80FB768
-sub_80FB768: @ 80FB768
- push {lr}
- bl sub_80FB6EC
- ldr r2, =gMapObjects
- ldr r0, =gUnknown_02037590
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl pal_fill_black
- ldr r0, =sub_80FB5E8
- movs r1, 0x50
- bl CreateTask
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB768
-
- thumb_func_start sub_80FB7A4
-sub_80FB7A4: @ 80FB7A4
- push {lr}
- ldr r0, =0x0000088d
- bl FlagSet
- ldr r0, =0x00004001
- bl FlagSet
- movs r0, 0x80
- lsls r0, 7
- bl FlagSet
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- bl sub_80FB59C
- bl sub_80AF8B8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB7A4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
index a28af9a9a..a62022cc7 100644
--- a/asm/record_mixing.s
+++ b/asm/record_mixing.s
@@ -630,7 +630,7 @@ _080E726C:
lsrs r0, 24
strh r0, [r5, 0x14]
_080E7296:
- ldr r0, =gUnknown_085EEA8E
+ ldr r0, =gText_RecordMixingComplete
bl sub_80E70F4
strh r4, [r5, 0x10]
b _080E730A
@@ -739,7 +739,7 @@ _080E7370:
b _080E7566
.pool
_080E7384:
- ldr r0, =gUnknown_085EEA7E
+ ldr r0, =gText_MixingRecords
bl sub_80E70F4
movs r0, 0xE1
lsls r0, 3
diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s
index 53824dfea..c84b518c3 100644
--- a/asm/recorded_battle.s
+++ b/asm/recorded_battle.s
@@ -236,8 +236,8 @@ _08184FA0:
.pool
thumb_func_end sub_8184E58
- thumb_func_start sub_8184FBC
-sub_8184FBC: @ 8184FBC
+ thumb_func_start RecordedBattle_SetBankAction
+RecordedBattle_SetBankAction: @ 8184FBC
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -269,7 +269,7 @@ _08184FF0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8184FBC
+ thumb_func_end RecordedBattle_SetBankAction
thumb_func_start sub_8185008
sub_8185008: @ 8185008
@@ -2212,7 +2212,7 @@ _081860C2:
ldr r1, [sp, 0x4C]
lsrs r0, r1, 24
movs r1, 0x6
- bl sub_8184FBC
+ bl RecordedBattle_SetBankAction
movs r5, 0
ldr r2, =gUnknown_0203CC70
mov r8, r2
@@ -2241,7 +2241,7 @@ _081860F0:
lsrs r1, 24
ldr r2, [sp, 0x4C]
lsrs r0, r2, 24
- bl sub_8184FBC
+ bl RecordedBattle_SetBankAction
b _08186118
.pool
_08186110:
@@ -2599,7 +2599,7 @@ _081863A2:
ldr r2, [sp, 0x40]
bl SetMonData
_081863CA:
- ldr r2, =gUnknown_02024274
+ ldr r2, =gChosenMovesByBanks
ldr r3, [sp, 0x44]
adds r2, r3, r2
ldr r0, =gBattleStruct
diff --git a/asm/region_map.s b/asm/region_map.s
index 1b1dfb4bd..032bdf7a5 100644
--- a/asm/region_map.s
+++ b/asm/region_map.s
@@ -1939,7 +1939,7 @@ sub_8123C00: @ 8123C00
adds r1, r4, 0
adds r2, r5, 0
adds r3, r6, 0
- bl sub_8137FFC
+ bl GetSSTidalLocation
lsls r0, 24
lsrs r0, 24
mov r10, r5
@@ -3212,12 +3212,12 @@ sub_81245DC: @ 81245DC
beq _081245F8
cmp r1, 0x57
bne _08124604
- ldr r1, =gUnknown_085EC9D2
+ ldr r1, =gText_Ferry
bl StringCopy
b _0812460A
.pool
_081245F8:
- ldr r1, =gUnknown_085EC9D8
+ ldr r1, =gText_SecretBase
bl StringCopy
b _0812460A
.pool
@@ -3239,7 +3239,7 @@ sub_8124610: @ 8124610
bl sub_81245DC
b _08124626
_08124620:
- ldr r1, =gUnknown_085EC9E4
+ ldr r1, =gText_Hideout
bl StringCopy
_08124626:
pop {r1}
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s
index 076ddbf0b..ac2c1181c 100644
--- a/asm/reset_rtc_screen.s
+++ b/asm/reset_rtc_screen.s
@@ -414,7 +414,7 @@ sub_809EBC4: @ 809EBC4
adds r1, r4, 0
bl StringCopy
adds r7, r0, 0
- ldr r1, =gUnknown_085EE68A
+ ldr r1, =gText_Day
bl StringCopy
adds r7, r0, 0
adds r0, r4, 0
@@ -426,7 +426,7 @@ sub_809EBC4: @ 809EBC4
adds r1, r4, 0
bl StringCopy
adds r7, r0, 0
- ldr r5, =gUnknown_085EE68E
+ ldr r5, =gText_Colon3
adds r1, r5, 0
bl StringCopy
adds r7, r0, 0
@@ -514,7 +514,7 @@ sub_809ECB4: @ 809ECB4
movs r2, 0x1
mov r3, r9
bl sub_809EBC4
- ldr r2, =gUnknown_085EE690
+ ldr r2, =gText_Confirm2
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -1011,7 +1011,7 @@ _0809F11C:
movs r1, 0
movs r3, 0xE
bl SetWindowBorderStyle
- ldr r2, =gUnknown_085ECA0D
+ ldr r2, =gText_PresentTime
movs r0, 0x1
str r0, [sp]
movs r4, 0xFF
@@ -1033,7 +1033,7 @@ _0809F11C:
movs r1, 0
movs r2, 0x11
bl sub_809EBC4
- ldr r2, =gUnknown_085ECA22
+ ldr r2, =gText_PreviousTime
movs r0, 0x21
str r0, [sp]
str r4, [sp, 0x4]
@@ -1062,7 +1062,7 @@ _0809F11C:
movs r1, 0
movs r2, 0x31
bl sub_809EBC4
- ldr r0, =gUnknown_085EC9EC
+ ldr r0, =gText_ResetRTCConfirmCancel
bl sub_809F0C0
movs r0, 0
movs r1, 0x2
@@ -1161,7 +1161,7 @@ _0809F276:
cmp r0, 0x2
bne _0809F29C
_0809F282:
- ldr r0, =gUnknown_085ECAA7
+ ldr r0, =gText_NoSaveFileCantSetTime
bl sub_809F0C0
movs r0, 0x5
strh r0, [r5]
@@ -1193,7 +1193,7 @@ _0809F2CA:
movs r0, 0
movs r1, 0
bl sub_8198070
- ldr r0, =gUnknown_085ECA38
+ ldr r0, =gText_PleaseResetTime
bl sub_809F0C0
ldr r2, =gLocalTime
ldr r0, =gSaveBlock2Ptr
@@ -1261,7 +1261,7 @@ _0809F340:
ldrh r1, [r4]
bl VarSet
bl DisableResetRTC
- ldr r0, =gUnknown_085ECA4F
+ ldr r0, =gText_ClockHasBeenReset
bl sub_809F0C0
movs r0, 0x4
strh r0, [r5]
@@ -1274,14 +1274,14 @@ _0809F398:
lsrs r0, 24
cmp r0, 0x1
bne _0809F3B8
- ldr r0, =gUnknown_085ECA8A
+ ldr r0, =gText_SaveCompleted
bl sub_809F0C0
movs r0, 0x49
bl PlaySE
b _0809F3C4
.pool
_0809F3B8:
- ldr r0, =gUnknown_085ECA9A
+ ldr r0, =gText_SaveFailed
bl sub_809F0C0
movs r0, 0x16
bl PlaySE
diff --git a/asm/reset_save_heap.s b/asm/reset_save_heap.s
deleted file mode 100644
index 45c505cd9..000000000
--- a/asm/reset_save_heap.s
+++ /dev/null
@@ -1,64 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81700F8
-sub_81700F8: @ 81700F8
- push {r4,r5,lr}
- ldr r5, =0x04000208
- ldrh r4, [r5]
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x1
- bl RegisterRamReset
- movs r0, 0
- movs r1, 0x80
- bl ClearGpuRegBits
- strh r4, [r5]
- ldr r1, =gMain
- ldr r0, =0x00000439
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl sub_815355C
- lsls r0, 16
- lsrs r0, 16
- bl SetSaveBlocksPointers
- bl sub_808447C
- bl ResetSaveCounters
- movs r0, 0
- bl sub_81534D0
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _08170148
- cmp r0, 0x2
- bne _0817014C
-_08170148:
- bl Sav2_ClearSetDefault
-_0817014C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- lsls r0, 31
- lsrs r0, 31
- bl SetPokemonCryStereo
- ldr r0, =0x02000000
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- ldr r0, =sub_8086230
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81700F8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s
index f83a11ff1..42ba43ec0 100644
--- a/asm/reshow_battle_screen.s
+++ b/asm/reshow_battle_screen.s
@@ -10,8 +10,8 @@ nullsub_35: @ 80A92F4
bx lr
thumb_func_end nullsub_35
- thumb_func_start sub_80A92F8
-sub_80A92F8: @ 80A92F8
+ thumb_func_start ReshowBattleScreenAfterMenu
+ReshowBattleScreenAfterMenu: @ 80A92F8
push {lr}
ldr r2, =gPaletteFade
ldrb r0, [r2, 0x8]
@@ -37,7 +37,7 @@ sub_80A92F8: @ 80A92F8
pop {r0}
bx r0
.pool
- thumb_func_end sub_80A92F8
+ thumb_func_end ReshowBattleScreenAfterMenu
thumb_func_start c2_80777E8
c2_80777E8: @ 80A933C
@@ -103,15 +103,15 @@ _080A93B0:
strh r1, [r0]
ldr r0, =gUnknown_02022E16
strh r1, [r0]
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
strh r1, [r0]
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
strh r1, [r0]
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
strh r1, [r0]
ldr r0, =gUnknown_02022E22
strh r1, [r0]
@@ -223,7 +223,7 @@ _080A94F0:
_080A94F8:
bl sub_805EC84
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -247,7 +247,7 @@ _080A94F8:
cmp r0, 0
beq _080A955C
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -286,7 +286,7 @@ _080A955C:
b _080A95D2
.pool
_080A95A4:
- ldr r0, =vblank_cb_08078BB4
+ ldr r0, =VBlankCB_Battle
bl SetVBlankCallback
bl sub_80A95F4
movs r0, 0x1
@@ -301,7 +301,7 @@ _080A95A4:
movs r0, 0x7F
ands r0, r1
strb r0, [r2, 0x8]
- ldr r0, =sub_8038420
+ ldr r0, =BattleMainCB2
bl SetMainCallback2
bl sub_805EF14
_080A95D2:
diff --git a/asm/roamer.s b/asm/roamer.s
deleted file mode 100644
index f6b48f10f..000000000
--- a/asm/roamer.s
+++ /dev/null
@@ -1,502 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start ClearRoamerData
-ClearRoamerData: @ 8161B34
- push {r4,r5,lr}
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- ldr r4, =0x000031dc
- adds r0, r4
- movs r1, 0
- movs r2, 0x1C
- bl memset
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =0x00000197
- strh r1, [r0, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearRoamerData
-
- thumb_func_start ClearRoamerLocationData
-ClearRoamerLocationData: @ 8161B60
- push {r4-r6,lr}
- movs r2, 0
- ldr r6, =sRoamerLocation
- ldr r4, =sLocationHistory
- movs r3, 0
- adds r5, r4, 0x1
-_08161B6C:
- lsls r1, r2, 1
- adds r0, r1, r4
- strb r3, [r0]
- adds r1, r5
- strb r3, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _08161B6C
- movs r0, 0
- strb r0, [r6]
- strb r0, [r6, 0x1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearRoamerLocationData
-
- thumb_func_start CreateInitialRoamerMon
-CreateInitialRoamerMon: @ 8161B94
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 16
- cmp r0, 0
- bne _08161BBC
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, =0x000031dc
- adds r1, r2
- ldr r2, =0x00000197
- b _08161BC8
- .pool
-_08161BBC:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, =0x000031dc
- adds r1, r2
- movs r2, 0xCC
- lsls r2, 1
-_08161BC8:
- strh r2, [r1, 0x8]
- adds r7, r0, 0
- ldr r6, =gEnemyParty
- ldr r0, [r7]
- ldr r5, =0x000031dc
- adds r0, r5
- ldrh r1, [r0, 0x8]
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r2, 0x28
- movs r3, 0x20
- bl CreateMon
- ldr r0, [r7]
- adds r0, r5
- movs r1, 0x28
- strb r1, [r0, 0xC]
- ldr r0, [r7]
- adds r0, r5
- strb r4, [r0, 0xD]
- ldr r0, [r7]
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0, 0x13]
- adds r0, r6, 0
- movs r1, 0x42
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- str r0, [r1, 0x4]
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- movs r2, 0
- mov r8, r2
- strh r0, [r1, 0xA]
- adds r0, r6, 0
- movs r1, 0x16
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- strb r0, [r1, 0xE]
- adds r0, r6, 0
- movs r1, 0x17
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- strb r0, [r1, 0xF]
- adds r0, r6, 0
- movs r1, 0x18
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- strb r0, [r1, 0x10]
- adds r0, r6, 0
- movs r1, 0x21
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- strb r0, [r1, 0x11]
- adds r0, r6, 0
- movs r1, 0x2F
- bl GetMonData
- ldr r1, [r7]
- adds r1, r5
- strb r0, [r1, 0x12]
- ldr r4, =sRoamerLocation
- mov r0, r8
- strb r0, [r4]
- bl Random
- ldr r5, =sRoamerLocations
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, r5
- ldrb r0, [r1]
- strb r0, [r4, 0x1]
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateInitialRoamerMon
-
- thumb_func_start InitRoamer
-InitRoamer: @ 8161CBC
- push {lr}
- bl ClearRoamerData
- bl ClearRoamerLocationData
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl CreateInitialRoamerMon
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitRoamer
-
- thumb_func_start UpdateLocationHistoryForRoamer
-UpdateLocationHistoryForRoamer: @ 8161CD8
- ldr r0, =sLocationHistory
- ldrb r1, [r0, 0x2]
- strb r1, [r0, 0x4]
- ldrb r1, [r0, 0x3]
- strb r1, [r0, 0x5]
- ldrb r1, [r0]
- strb r1, [r0, 0x2]
- ldrb r1, [r0, 0x1]
- strb r1, [r0, 0x3]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x4]
- strb r1, [r0]
- ldrb r1, [r2, 0x5]
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end UpdateLocationHistoryForRoamer
-
- thumb_func_start RoamerMoveToOtherLocationSet
-RoamerMoveToOtherLocationSet: @ 8161D00
- push {r4,r5,lr}
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000031dc
- adds r0, r2
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _08161D3E
- ldr r0, =sRoamerLocation
- strb r1, [r0]
- ldr r5, =sRoamerLocations
- adds r4, r0, 0
-_08161D1A:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, r5
- ldrb r1, [r1]
- ldrb r0, [r4, 0x1]
- cmp r0, r1
- beq _08161D1A
- strb r1, [r4, 0x1]
-_08161D3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RoamerMoveToOtherLocationSet
-
- thumb_func_start RoamerMove
-RoamerMove: @ 8161D54
- push {r4-r7,lr}
- movs r4, 0
- bl Random
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 12
- ands r1, r0
- cmp r1, 0
- bne _08161D6E
- bl RoamerMoveToOtherLocationSet
- b _08161DE2
-_08161D6E:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000031dc
- adds r0, r1
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _08161DE2
- ldr r7, =sRoamerLocation
- ldr r3, =sRoamerLocations
-_08161D80:
- lsls r0, r4, 1
- adds r0, r4
- lsls r2, r0, 1
- adds r1, r2, r3
- ldrb r0, [r7, 0x1]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08161DD8
- ldr r6, =sRoamerLocations
- adds r5, r2, 0x1
- ldr r4, =sLocationHistory
-_08161D96:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, r5
- adds r0, r6
- ldrb r1, [r0]
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- bne _08161DBA
- ldrb r0, [r4, 0x5]
- cmp r0, r1
- beq _08161D96
-_08161DBA:
- cmp r1, 0xFF
- beq _08161D96
- strb r1, [r7, 0x1]
- b _08161DE2
- .pool
-_08161DD8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _08161D80
-_08161DE2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end RoamerMove
-
- thumb_func_start IsRoamerAt
-IsRoamerAt: @ 8161DE8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x000031dc
- adds r0, r3
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _08161E20
- ldr r0, =sRoamerLocation
- ldrb r3, [r0]
- cmp r2, r3
- bne _08161E20
- ldrb r0, [r0, 0x1]
- cmp r1, r0
- bne _08161E20
- movs r0, 0x1
- b _08161E22
- .pool
-_08161E20:
- movs r0, 0
-_08161E22:
- pop {r1}
- bx r1
- thumb_func_end IsRoamerAt
-
- thumb_func_start CreateRoamerMonInstance
-CreateRoamerMonInstance: @ 8161E28
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gEnemyParty
- bl ZeroEnemyPartyMons
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x000031dc
- adds r0, r1
- ldrh r1, [r0, 0x8]
- ldrb r2, [r0, 0xC]
- ldr r3, [r0]
- ldr r0, [r0, 0x4]
- str r0, [sp]
- adds r0, r5, 0
- bl CreateMonWithIVsPersonality
- ldr r2, [r4]
- ldr r0, =0x000031e9
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0x37
- bl SetMonData
- ldr r2, [r4]
- ldr r1, =0x000031e6
- adds r2, r1
- adds r0, r5, 0
- movs r1, 0x39
- bl SetMonData
- ldr r2, [r4]
- ldr r0, =0x000031ea
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0x16
- bl SetMonData
- ldr r2, [r4]
- ldr r1, =0x000031eb
- adds r2, r1
- adds r0, r5, 0
- movs r1, 0x17
- bl SetMonData
- ldr r2, [r4]
- ldr r0, =0x000031ec
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0x18
- bl SetMonData
- ldr r2, [r4]
- ldr r1, =0x000031ed
- adds r2, r1
- adds r0, r5, 0
- movs r1, 0x21
- bl SetMonData
- ldr r2, [r4]
- ldr r0, =0x000031ee
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0x2F
- bl SetMonData
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateRoamerMonInstance
-
- thumb_func_start TryStartRoamerEncounter
-TryStartRoamerEncounter: @ 8161EDC
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- ldrb r1, [r1, 0x5]
- bl IsRoamerAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08161F10
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- cmp r1, 0
- bne _08161F10
- bl CreateRoamerMonInstance
- movs r0, 0x1
- b _08161F12
- .pool
-_08161F10:
- movs r0, 0
-_08161F12:
- pop {r1}
- bx r1
- thumb_func_end TryStartRoamerEncounter
-
- thumb_func_start UpdateRoamerHPStatus
-UpdateRoamerHPStatus: @ 8161F18
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x39
- bl GetMonData
- ldr r5, =gSaveBlock1Ptr
- ldr r1, [r5]
- ldr r4, =0x000031dc
- adds r1, r4
- strh r0, [r1, 0xA]
- adds r0, r6, 0
- movs r1, 0x37
- bl GetMonData
- ldr r1, [r5]
- adds r1, r4
- strb r0, [r1, 0xD]
- bl RoamerMoveToOtherLocationSet
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateRoamerHPStatus
-
- thumb_func_start SetRoamerInactive
-SetRoamerInactive: @ 8161F4C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000031dc
- adds r0, r1
- movs r1, 0
- strb r1, [r0, 0x13]
- bx lr
- .pool
- thumb_func_end SetRoamerInactive
-
- thumb_func_start GetRoamerLocation
-GetRoamerLocation: @ 8161F64
- ldr r3, =sRoamerLocation
- ldrb r2, [r3]
- strb r2, [r0]
- ldrb r0, [r3, 0x1]
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end GetRoamerLocation
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom3.s b/asm/rom3.s
index e2f268f43..9bd95c252 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -1573,7 +1573,7 @@ _08033346:
ldrsh r1, [r0, r2]
ldr r0, [r4]
adds r1, r0
- ldr r0, =gUnknown_0202420E
+ ldr r0, =gEffectBank
ldrb r0, [r0]
strb r0, [r1, 0x7]
movs r2, 0
@@ -2084,7 +2084,7 @@ _080337D2:
adds r0, r1
ldrb r0, [r0, 0x6]
strb r0, [r2]
- ldr r2, =gUnknown_0202420E
+ ldr r2, =gEffectBank
movs r4, 0x26
ldrsh r0, [r5, r4]
adds r0, r1
@@ -2134,8 +2134,8 @@ _0803389C:
.pool
thumb_func_end sub_803375C
- thumb_func_start dp01_build_cmdbuf_x00_a_b_0
-dp01_build_cmdbuf_x00_a_b_0: @ 80338B4
+ thumb_func_start EmitGetMonData
+EmitGetMonData: @ 80338B4
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@@ -2152,7 +2152,7 @@ dp01_build_cmdbuf_x00_a_b_0: @ 80338B4
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x00_a_b_0
+ thumb_func_end EmitGetMonData
thumb_func_start dp01_build_cmdbuf_x01_a_b_0
dp01_build_cmdbuf_x01_a_b_0: @ 80338D8
@@ -2175,8 +2175,8 @@ dp01_build_cmdbuf_x01_a_b_0: @ 80338D8
.pool
thumb_func_end dp01_build_cmdbuf_x01_a_b_0
- thumb_func_start dp01_build_cmdbuf_x02_a_b_varargs
-dp01_build_cmdbuf_x02_a_b_varargs: @ 8033900
+ thumb_func_start EmitSetMonData
+EmitSetMonData: @ 8033900
push {r4-r6,lr}
ldr r4, [sp, 0x10]
lsls r0, 24
@@ -2209,7 +2209,7 @@ _0803392E:
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x02_a_b_varargs
+ thumb_func_end EmitSetMonData
thumb_func_start sub_8033940
sub_8033940: @ 8033940
@@ -2264,8 +2264,8 @@ dp01_build_cmdbuf_x04_4_4_4: @ 8033980
.pool
thumb_func_end dp01_build_cmdbuf_x04_4_4_4
- thumb_func_start dp01_build_cmdbuf_x05_a_b_c
-dp01_build_cmdbuf_x05_a_b_c: @ 80339A0
+ thumb_func_start EmitSwitchInAnim
+EmitSwitchInAnim: @ 80339A0
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@@ -2282,10 +2282,10 @@ dp01_build_cmdbuf_x05_a_b_c: @ 80339A0
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x05_a_b_c
+ thumb_func_end EmitSwitchInAnim
- thumb_func_start dp01_build_cmdbuf_x06_a
-dp01_build_cmdbuf_x06_a: @ 80339C4
+ thumb_func_start EmitReturnPokeToBall
+EmitReturnPokeToBall: @ 80339C4
push {lr}
adds r3, r1, 0
lsls r0, 24
@@ -2299,7 +2299,7 @@ dp01_build_cmdbuf_x06_a: @ 80339C4
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x06_a
+ thumb_func_end EmitReturnPokeToBall
thumb_func_start dp01_build_cmdbuf_x07_7_7_7
dp01_build_cmdbuf_x07_7_7_7: @ 80339E4
@@ -2319,8 +2319,8 @@ dp01_build_cmdbuf_x07_7_7_7: @ 80339E4
.pool
thumb_func_end dp01_build_cmdbuf_x07_7_7_7
- thumb_func_start dp01_build_cmdbuf_x08_8_8_8
-dp01_build_cmdbuf_x08_8_8_8: @ 8033A04
+ thumb_func_start EmitTrainerSlide
+EmitTrainerSlide: @ 8033A04
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2335,10 +2335,10 @@ dp01_build_cmdbuf_x08_8_8_8: @ 8033A04
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x08_8_8_8
+ thumb_func_end EmitTrainerSlide
- thumb_func_start dp01_build_cmdbuf_x09_9_9_9
-dp01_build_cmdbuf_x09_9_9_9: @ 8033A24
+ thumb_func_start EmitTrainerSlideBack
+EmitTrainerSlideBack: @ 8033A24
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2353,10 +2353,10 @@ dp01_build_cmdbuf_x09_9_9_9: @ 8033A24
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x09_9_9_9
+ thumb_func_end EmitTrainerSlideBack
- thumb_func_start dp01_build_cmdbuf_x0A_A_A_A
-dp01_build_cmdbuf_x0A_A_A_A: @ 8033A44
+ thumb_func_start EmitFaintAnimation
+EmitFaintAnimation: @ 8033A44
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2371,7 +2371,7 @@ dp01_build_cmdbuf_x0A_A_A_A: @ 8033A44
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x0A_A_A_A
+ thumb_func_end EmitFaintAnimation
thumb_func_start dp01_build_cmdbuf_x0B_B_B_B
dp01_build_cmdbuf_x0B_B_B_B: @ 8033A64
@@ -2409,8 +2409,8 @@ dp01_build_cmdbuf_x0C_C_C_C: @ 8033A84
.pool
thumb_func_end dp01_build_cmdbuf_x0C_C_C_C
- thumb_func_start dp01_build_cmdbuf_x0D_a
-dp01_build_cmdbuf_x0D_a: @ 8033AA4
+ thumb_func_start EmitBallThrow
+EmitBallThrow: @ 8033AA4
push {lr}
adds r3, r1, 0
lsls r0, 24
@@ -2424,7 +2424,7 @@ dp01_build_cmdbuf_x0D_a: @ 8033AA4
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x0D_a
+ thumb_func_end EmitBallThrow
thumb_func_start sub_8033AC4
sub_8033AC4: @ 8033AC4
@@ -2465,8 +2465,8 @@ _08033AF2:
.pool
thumb_func_end sub_8033AC4
- thumb_func_start dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes
-dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes: @ 8033B0C
+ thumb_func_start EmitMoveAnimation
+EmitMoveAnimation: @ 8033B0C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -2568,7 +2568,7 @@ _08033BB6:
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes
+ thumb_func_end EmitMoveAnimation
thumb_func_start dp01_build_cmdbuf_x10_TODO
dp01_build_cmdbuf_x10_TODO: @ 8033BE4
@@ -2596,7 +2596,7 @@ dp01_build_cmdbuf_x10_TODO: @ 8033BE4
ldr r4, =gCurrentMove
ldrh r0, [r4]
strh r0, [r2, 0x4]
- ldr r0, =gUnknown_020241EC
+ ldr r0, =gLastUsedMove
ldrh r0, [r0]
mov r1, r12
strh r0, [r1, 0x2]
@@ -2687,8 +2687,8 @@ _08033C88:
.pool
thumb_func_end dp01_build_cmdbuf_x10_TODO
- thumb_func_start dp01_build_cmdbuf_x11_TODO
-dp01_build_cmdbuf_x11_TODO: @ 8033CFC
+ thumb_func_start EmitPrintStringPlayerOnly
+EmitPrintStringPlayerOnly: @ 8033CFC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -2711,7 +2711,7 @@ dp01_build_cmdbuf_x11_TODO: @ 8033CFC
ldr r0, =gCurrentMove
ldrh r0, [r0]
strh r0, [r2, 0x4]
- ldr r0, =gUnknown_020241EC
+ ldr r0, =gLastUsedMove
ldrh r0, [r0]
mov r1, r12
strh r0, [r1, 0x2]
@@ -2784,7 +2784,7 @@ _08033D7C:
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x11_TODO
+ thumb_func_end EmitPrintStringPlayerOnly
thumb_func_start dp01_build_cmdbuf_x12_a_bb
dp01_build_cmdbuf_x12_a_bb: @ 8033DE4
@@ -2809,8 +2809,8 @@ dp01_build_cmdbuf_x12_a_bb: @ 8033DE4
.pool
thumb_func_end dp01_build_cmdbuf_x12_a_bb
- thumb_func_start sub_8033E10
-sub_8033E10: @ 8033E10
+ thumb_func_start EmitCmd13
+EmitCmd13: @ 8033E10
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2825,7 +2825,7 @@ sub_8033E10: @ 8033E10
pop {r0}
bx r0
.pool
- thumb_func_end sub_8033E10
+ thumb_func_end EmitCmd13
thumb_func_start sub_8033E30
sub_8033E30: @ 8033E30
@@ -2888,8 +2888,8 @@ _08033E7E:
.pool
thumb_func_end sub_8033E6C
- thumb_func_start dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
-dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f: @ 8033EA0
+ thumb_func_start EmitChoosePokemon
+EmitChoosePokemon: @ 8033EA0
push {r4-r6,lr}
ldr r6, [sp, 0x10]
lsls r0, 24
@@ -2918,7 +2918,7 @@ _08033EBA:
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f
+ thumb_func_end EmitChoosePokemon
thumb_func_start dp01_build_cmdbuf_x17_17_17_17
dp01_build_cmdbuf_x17_17_17_17: @ 8033EDC
@@ -2938,8 +2938,8 @@ dp01_build_cmdbuf_x17_17_17_17: @ 8033EDC
.pool
thumb_func_end dp01_build_cmdbuf_x17_17_17_17
- thumb_func_start dp01_build_cmdbuf_x18_0_aa_health_bar_update
-dp01_build_cmdbuf_x18_0_aa_health_bar_update: @ 8033EFC
+ thumb_func_start EmitHealthBarUpdate
+EmitHealthBarUpdate: @ 8033EFC
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@@ -2965,10 +2965,10 @@ dp01_build_cmdbuf_x18_0_aa_health_bar_update: @ 8033EFC
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x18_0_aa_health_bar_update
+ thumb_func_end EmitHealthBarUpdate
- thumb_func_start dp01_build_cmdbuf_x19_a_bb
-dp01_build_cmdbuf_x19_a_bb: @ 8033F34
+ thumb_func_start EmitExpUpdate
+EmitExpUpdate: @ 8033F34
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@@ -2993,10 +2993,10 @@ dp01_build_cmdbuf_x19_a_bb: @ 8033F34
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x19_a_bb
+ thumb_func_end EmitExpUpdate
- thumb_func_start dp01_build_cmdbuf_x1A_aaaa_bbbb
-dp01_build_cmdbuf_x1A_aaaa_bbbb: @ 8033F68
+ thumb_func_start EmitStatusIconUpdate
+EmitStatusIconUpdate: @ 8033F68
push {r4-r6,lr}
adds r4, r1, 0
lsls r0, 24
@@ -3036,10 +3036,10 @@ dp01_build_cmdbuf_x1A_aaaa_bbbb: @ 8033F68
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x1A_aaaa_bbbb
+ thumb_func_end EmitStatusIconUpdate
- thumb_func_start dp01_build_cmdbuf_x1B_aaaa_b
-dp01_build_cmdbuf_x1B_aaaa_b: @ 8033FBC
+ thumb_func_start EmitStatusAnimation
+EmitStatusAnimation: @ 8033FBC
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@@ -3067,7 +3067,7 @@ dp01_build_cmdbuf_x1B_aaaa_b: @ 8033FBC
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x1B_aaaa_b
+ thumb_func_end EmitStatusAnimation
thumb_func_start dp01_build_cmdbuf_x1C_a
dp01_build_cmdbuf_x1C_a: @ 8033FF8
@@ -3431,8 +3431,8 @@ dp01_build_cmdbuf_x28_28_28_28: @ 8034274
.pool
thumb_func_end dp01_build_cmdbuf_x28_28_28_28
- thumb_func_start dp01_build_cmdbuf_x29_29_29_29
-dp01_build_cmdbuf_x29_29_29_29: @ 8034294
+ thumb_func_start EmitHitAnimation
+EmitHitAnimation: @ 8034294
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -3447,10 +3447,10 @@ dp01_build_cmdbuf_x29_29_29_29: @ 8034294
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x29_29_29_29
+ thumb_func_end EmitHitAnimation
- thumb_func_start dp01_build_cmdbuf_x2A_2A_2A_2A
-dp01_build_cmdbuf_x2A_2A_2A_2A: @ 80342B4
+ thumb_func_start Emit_x2A
+Emit_x2A: @ 80342B4
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -3465,10 +3465,10 @@ dp01_build_cmdbuf_x2A_2A_2A_2A: @ 80342B4
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x2A_2A_2A_2A
+ thumb_func_end Emit_x2A
- thumb_func_start dp01_build_cmdbuf_x2B_aa_0
-dp01_build_cmdbuf_x2B_aa_0: @ 80342D4
+ thumb_func_start EmitEffectivenessSound
+EmitEffectivenessSound: @ 80342D4
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@@ -3489,10 +3489,10 @@ dp01_build_cmdbuf_x2B_aa_0: @ 80342D4
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x2B_aa_0
+ thumb_func_end EmitEffectivenessSound
- thumb_func_start sub_8034300
-sub_8034300: @ 8034300
+ thumb_func_start EmitPlaySound
+EmitPlaySound: @ 8034300
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@@ -3512,10 +3512,10 @@ sub_8034300: @ 8034300
pop {r0}
bx r0
.pool
- thumb_func_end sub_8034300
+ thumb_func_end EmitPlaySound
- thumb_func_start dp01_build_cmdbuf_x2D_2D_2D_2D
-dp01_build_cmdbuf_x2D_2D_2D_2D: @ 803432C
+ thumb_func_start EmitFaintingCry
+EmitFaintingCry: @ 803432C
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -3530,7 +3530,7 @@ dp01_build_cmdbuf_x2D_2D_2D_2D: @ 803432C
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x2D_2D_2D_2D
+ thumb_func_end EmitFaintingCry
thumb_func_start dp01_build_cmdbuf_x2E_a
dp01_build_cmdbuf_x2E_a: @ 803434C
@@ -3567,8 +3567,8 @@ dp01_build_cmdbuf_x2F_2F_2F_2F: @ 803436C
.pool
thumb_func_end dp01_build_cmdbuf_x2F_2F_2F_2F
- thumb_func_start dp01_build_cmdbuf_x30_TODO
-dp01_build_cmdbuf_x30_TODO: @ 803438C
+ thumb_func_start EmitCmd48
+EmitCmd48: @ 803438C
push {r4,r5,lr}
adds r4, r1, 0
lsls r0, 24
@@ -3604,10 +3604,10 @@ _080343B4:
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x30_TODO
+ thumb_func_end EmitCmd48
- thumb_func_start dp01_build_cmdbuf_x31_31_31_31
-dp01_build_cmdbuf_x31_31_31_31: @ 80343D4
+ thumb_func_start EmitCmd49
+EmitCmd49: @ 80343D4
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -3622,7 +3622,7 @@ dp01_build_cmdbuf_x31_31_31_31: @ 80343D4
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x31_31_31_31
+ thumb_func_end EmitCmd49
thumb_func_start dp01_build_cmdbuf_x32_32_32_32
dp01_build_cmdbuf_x32_32_32_32: @ 80343F4
@@ -3642,8 +3642,8 @@ dp01_build_cmdbuf_x32_32_32_32: @ 80343F4
.pool
thumb_func_end dp01_build_cmdbuf_x32_32_32_32
- thumb_func_start dp01_build_cmdbuf_x33_a_33_33
-dp01_build_cmdbuf_x33_a_33_33: @ 8034414
+ thumb_func_start EmitSpriteInvisibility
+EmitSpriteInvisibility: @ 8034414
push {lr}
adds r3, r1, 0
lsls r0, 24
@@ -3659,10 +3659,10 @@ dp01_build_cmdbuf_x33_a_33_33: @ 8034414
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x33_a_33_33
+ thumb_func_end EmitSpriteInvisibility
- thumb_func_start dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
-dp01_build_cmdbuf_x34_a_bb_aka_battle_anim: @ 8034438
+ thumb_func_start EmitBattleAnimation
+EmitBattleAnimation: @ 8034438
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@@ -3682,10 +3682,10 @@ dp01_build_cmdbuf_x34_a_bb_aka_battle_anim: @ 8034438
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
+ thumb_func_end EmitBattleAnimation
- thumb_func_start sub_8034464
-sub_8034464: @ 8034464
+ thumb_func_start EmitLinkStandbyMsg
+EmitLinkStandbyMsg: @ 8034464
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -3716,10 +3716,10 @@ _08034490:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8034464
+ thumb_func_end EmitLinkStandbyMsg
- thumb_func_start dp01_build_cmdbuf_x38_a
-dp01_build_cmdbuf_x38_a: @ 80344A8
+ thumb_func_start EmitResetActionMoveSelection
+EmitResetActionMoveSelection: @ 80344A8
push {lr}
adds r3, r1, 0
lsls r0, 24
@@ -3733,10 +3733,10 @@ dp01_build_cmdbuf_x38_a: @ 80344A8
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x38_a
+ thumb_func_end EmitResetActionMoveSelection
- thumb_func_start dp01_build_cmdbuf_x37_a
-dp01_build_cmdbuf_x37_a: @ 80344C8
+ thumb_func_start Emit_x37
+Emit_x37: @ 80344C8
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 24
@@ -3770,6 +3770,6 @@ dp01_build_cmdbuf_x37_a: @ 80344C8
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x37_a
+ thumb_func_end Emit_x37
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom4.s b/asm/rom4.s
index 9e4e9f108..8423d0d9a 100644
--- a/asm/rom4.s
+++ b/asm/rom4.s
@@ -1699,19 +1699,19 @@ _080853AC:
lsls r4, 24
lsrs r5, r4, 24
adds r0, r5, 0
- bl sub_8088F74
+ bl MetatileBehavior_IsDeepSouthWarp
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080853E8
adds r0, r5, 0
- bl sub_8088F58
+ bl MetatileBehavior_IsNonAnimDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08085442
adds r0, r5, 0
- bl sub_8088EFC
+ bl MetatileBehavior_IsDoor
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3136,12 +3136,12 @@ map_post_load_hook_exec: @ 8085EA0
_08085EBC:
movs r1, 0
str r1, [r4]
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
str r1, [r0]
b _08085EEA
.pool
_08085ECC:
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r0, [r0]
cmp r0, 0
beq _08085EE0
@@ -3151,7 +3151,7 @@ _08085ECC:
_08085EE0:
bl mapldr_default
_08085EE4:
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
movs r0, 0
str r0, [r1]
_08085EEA:
@@ -3174,8 +3174,8 @@ CB2_NewGame: @ 8085EF8
bl PlayTimeCounter_Start
bl ScriptContext1_Init
bl ScriptContext2_Disable
- ldr r1, =gUnknown_03005DAC
- ldr r0, =sub_80FB4E0
+ ldr r1, =gFieldCallback
+ ldr r0, =ExecuteTruckSequence
str r0, [r1]
ldr r1, =gUnknown_03005DB0
movs r0, 0
@@ -3214,7 +3214,7 @@ c2_whiteout: @ 8085F58
bl player_avatar_init_params_reset
bl ScriptContext1_Init
bl ScriptContext2_Disable
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF3C8
str r0, [r1]
mov r1, sp
@@ -3304,7 +3304,7 @@ _08086062:
sub_8086074: @ 8086074
push {lr}
bl sub_808631C
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_80AF314
str r1, [r0]
ldr r0, =c2_80567AC
@@ -3399,12 +3399,12 @@ c2_8056854: @ 8086140
ldrb r0, [r0]
cmp r0, 0
beq _08086174
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF314
b _08086178
.pool
_08086174:
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF214
_08086178:
str r0, [r1]
@@ -3433,7 +3433,7 @@ sub_8086194: @ 8086194
sub_80861B0: @ 80861B0
push {lr}
bl sub_808631C
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF188
str r0, [r1]
bl c2_exit_to_overworld_2_switch
@@ -3446,7 +3446,7 @@ sub_80861B0: @ 80861B0
c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80861CC
push {lr}
bl sub_808631C
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
bl c2_exit_to_overworld_2_switch
@@ -3459,7 +3459,7 @@ c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80861CC
sub_80861E8: @ 80861E8
push {lr}
bl sub_808631C
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF3C8
str r0, [r1]
bl c2_exit_to_overworld_2_switch
@@ -3562,7 +3562,7 @@ _080862BE:
.pool
_080862F4:
bl sub_80EDB44
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_8086204
str r1, [r0]
ldr r0, =c1_overworld
@@ -3640,7 +3640,7 @@ VBlankCB_Field: @ 8086390
bl sub_80BA0A8
bl FieldUpdateBgTilemapScroll
bl TransferPlttBuffer
- bl sub_80A09D0
+ bl TransferTilesetAnimsBuffer
pop {r0}
bx r0
thumb_func_end VBlankCB_Field
@@ -4396,7 +4396,7 @@ sub_8086A68: @ 8086A68
sub_8086A80: @ 8086A80
push {lr}
ldr r2, =gMapObjects
- ldr r3, =gUnknown_02037590
+ ldr r3, =gPlayerAvatar
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -5480,7 +5480,7 @@ sub_80872D8: @ 80872D8
movs r0, 0x1
_080872EA:
strb r0, [r6, 0x1]
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
lsls r0, r4, 2
adds r0, r1
ldrb r0, [r0, 0x3]
@@ -5977,7 +5977,7 @@ sub_80876C4: @ 80876C4
thumb_func_start strange_npc_table_clear
strange_npc_table_clear: @ 80876CC
push {lr}
- ldr r0, =gUnknown_02032308
+ ldr r0, =gLinkPlayerMapObjects
movs r1, 0
movs r2, 0x10
bl memset
@@ -6025,7 +6025,7 @@ sub_80876F0: @ 80876F0
lsls r6, 24
lsrs r6, 24
lsls r4, r7, 2
- ldr r0, =gUnknown_02032308
+ ldr r0, =gLinkPlayerMapObjects
adds r4, r0
lsls r5, r6, 3
adds r5, r6
@@ -6118,7 +6118,7 @@ sub_80877DC: @ 80877DC
lsls r0, 24
lsls r1, 24
lsrs r2, r1, 24
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
lsrs r0, 22
adds r1, r0, r1
ldrb r0, [r1]
@@ -6142,7 +6142,7 @@ sub_808780C: @ 808780C
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 22
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
adds r5, r0, r1
ldrb r1, [r5, 0x2]
lsls r0, r1, 3
@@ -6176,7 +6176,7 @@ _08087838:
thumb_func_start sub_8087858
sub_8087858: @ 8087858
lsls r0, 24
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
lsrs r0, 22
adds r0, r1
ldrb r1, [r0, 0x2]
@@ -6193,7 +6193,7 @@ sub_8087858: @ 8087858
thumb_func_start sub_8087878
sub_8087878: @ 8087878
lsls r0, 24
- ldr r3, =gUnknown_02032308
+ ldr r3, =gLinkPlayerMapObjects
lsrs r0, 22
adds r0, r3
ldrb r3, [r0, 0x2]
@@ -6213,7 +6213,7 @@ sub_8087878: @ 8087878
thumb_func_start sub_80878A0
sub_80878A0: @ 80878A0
lsls r0, 24
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
lsrs r0, 22
adds r0, r1
ldrb r1, [r0, 0x2]
@@ -6230,7 +6230,7 @@ sub_80878A0: @ 80878A0
thumb_func_start sub_80878C0
sub_80878C0: @ 80878C0
lsls r0, 24
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
lsrs r0, 22
adds r0, r1
ldrb r1, [r0, 0x2]
@@ -6249,7 +6249,7 @@ sub_80878C0: @ 80878C0
thumb_func_start sub_80878E4
sub_80878E4: @ 80878E4
lsls r0, 24
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
lsrs r0, 22
adds r0, r1
ldrb r1, [r0, 0x2]
@@ -6271,7 +6271,7 @@ sub_80878E4: @ 80878E4
sub_808790C: @ 808790C
push {r4-r6,lr}
movs r2, 0
- ldr r5, =gUnknown_02032308
+ ldr r5, =gLinkPlayerMapObjects
lsls r0, 16
asrs r4, r0, 16
lsls r1, 16
@@ -6326,7 +6326,7 @@ sub_808796C: @ 808796C
lsrs r3, r1, 24
adds r2, r3, 0
lsrs r0, 22
- ldr r1, =gUnknown_02032308
+ ldr r1, =gLinkPlayerMapObjects
adds r5, r0, r1
ldrb r1, [r5, 0x2]
lsls r0, r1, 3
@@ -6654,7 +6654,7 @@ sub_8087BCC: @ 8087BCC
lsls r1, 24
lsrs r3, r1, 24
lsls r2, r5, 2
- ldr r0, =gUnknown_02032308
+ ldr r0, =gLinkPlayerMapObjects
adds r2, r0
ldrb r1, [r2, 0x2]
lsls r0, r1, 3
@@ -6742,7 +6742,7 @@ sub_8087C8C: @ 8087C8C
movs r0, 0x2E
ldrsh r4, [r5, r0]
lsls r4, 2
- ldr r0, =gUnknown_02032308
+ ldr r0, =gLinkPlayerMapObjects
adds r4, r0
ldrb r1, [r4, 0x2]
lsls r0, r1, 3
diff --git a/asm/rom6.s b/asm/rom6.s
index c5e0265a0..cd1421b4f 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -68,7 +68,7 @@ task08_080C9820: @ 813549C
lsrs r5, r0, 24
adds r6, r5, 0
bl ScriptContext2_Enable
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0x1
strb r0, [r1, 0x6]
ldrb r1, [r1, 0x5]
@@ -127,7 +127,7 @@ sub_813552C: @ 813552C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -167,7 +167,7 @@ sub_8135578: @ 8135578
cmp r4, 0
bne _081355FC
bl player_get_direction_lower_nybble
- ldr r6, =gUnknown_02038C08
+ ldr r6, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r6, 0x4]
@@ -191,7 +191,7 @@ _081355B0:
movs r0, 0x3
str r0, [r6, 0x8]
_081355B8:
- ldr r5, =gUnknown_02037590
+ ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -244,7 +244,7 @@ sub_813561C: @ 813561C
ldrh r0, [r0, 0x1A]
orrs r1, r0
bl _call_via_r1
- ldr r1, =gUnknown_02037590
+ ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
adds r0, r4, 0
@@ -303,7 +303,7 @@ _081356AC:
sub_81356C4: @ 81356C4
push {lr}
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -380,7 +380,7 @@ hm2_dig: @ 8135760
movs r0, 0x26
bl FieldEffectStart
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -1064,23 +1064,23 @@ sub_8135DAC: @ 8135DAC
movs r0, 0
adds r1, r4, 0
bl sub_8135D7C
- ldr r1, =gUnknown_085E931D
+ ldr r1, =gText_Spicy
movs r0, 0x2
movs r2, 0
bl sub_8135D7C
- ldr r1, =gUnknown_085E9323
+ ldr r1, =gText_Dry
movs r0, 0x3
movs r2, 0
bl sub_8135D7C
- ldr r1, =gUnknown_085E9327
+ ldr r1, =gText_Sweet
movs r0, 0x4
movs r2, 0
bl sub_8135D7C
- ldr r1, =gUnknown_085E932D
+ ldr r1, =gText_Bitter
movs r0, 0x5
movs r2, 0
bl sub_8135D7C
- ldr r1, =gUnknown_085E9334
+ ldr r1, =gText_Sour
movs r0, 0x6
movs r2, 0
bl sub_8135D7C
@@ -1148,7 +1148,7 @@ _08135E7C:
adds r4, r7
ldr r0, [r5]
adds r0, r4
- ldr r1, =gUnknown_085E9344
+ ldr r1, =gText_StowCase
bl StringCopy
ldr r1, [r5]
lsls r2, r6, 3
@@ -1231,7 +1231,7 @@ sub_8135F04: @ 8135F04
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085E934F
+ ldr r1, =gText_LvVar1
adds r0, r4, 0
bl StringExpandPlaceholders
pop {r4-r6}
@@ -1984,7 +1984,7 @@ sub_8136524: @ 8136524
lsrs r0, 24
cmp r0, 0x1
bhi _0813655A
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
_0813655A:
@@ -2598,7 +2598,7 @@ sub_8136AB4: @ 8136AB4
ldr r1, [r1]
bl StringCopy
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085E9353
+ ldr r1, =gText_ThrowAwayVar1
adds r0, r5, 0
bl StringExpandPlaceholders
bl sav2_get_text_speed
@@ -2654,7 +2654,7 @@ sub_8136B78: @ 8136B78
lsls r4, 24
lsrs r4, 24
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085E9367
+ ldr r1, =gText_Var1ThrownAway
adds r0, r5, 0
bl StringExpandPlaceholders
bl sav2_get_text_speed
@@ -3381,7 +3381,7 @@ hm2_flash: @ 8137178
lsls r4, 24
lsrs r4, 24
bl brm_get_pokemon_selection
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r0, 24
lsrs r0, 24
str r0, [r1]
@@ -4651,7 +4651,7 @@ sub_8137C3C: @ 8137C3C
push {lr}
ldr r0, =c2_exit_to_overworld_2_switch
bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =mapldr_080CA5C0
str r0, [r1]
pop {r0}
@@ -4796,14 +4796,14 @@ sub_8137D5C: @ 8137D5C
movs r2, 0
movs r3, 0x2
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085EB5EE
+ ldr r1, =gText_SpaceTimes
adds r0, r4, 0
bl StringAppend
b _08137D90
.pool
_08137D88:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB5CF
+ ldr r1, =gText_99TimesPlus
bl StringCopy
_08137D90:
ldr r0, =0x00000e0f
@@ -4833,14 +4833,14 @@ _08137D90:
movs r2, 0x2
movs r3, 0x2
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085EB5E5
+ ldr r1, =gText_SpaceSeconds
adds r0, r4, 0
bl StringAppend
b _08137DF8
.pool
_08137DF0:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085EB5DA
+ ldr r1, =gText_1MinutePlus
bl StringCopy
_08137DF8:
movs r4, 0
@@ -5062,8 +5062,8 @@ sub_8137FB0: @ 8137FB0
.pool
thumb_func_end sub_8137FB0
- thumb_func_start sub_8137FC0
-sub_8137FC0: @ 8137FC0
+ thumb_func_start CountSSTidalStep
+CountSSTidalStep: @ 8137FC0
push {r4,lr}
lsls r0, 16
lsrs r4, r0, 16
@@ -5091,10 +5091,10 @@ _08137FF6:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8137FC0
+ thumb_func_end CountSSTidalStep
- thumb_func_start sub_8137FFC
-sub_8137FFC: @ 8137FFC
+ thumb_func_start GetSSTidalLocation
+GetSSTidalLocation: @ 8137FFC
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -5203,7 +5203,7 @@ _081380CE:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_8137FFC
+ thumb_func_end GetSSTidalLocation
thumb_func_start is_tile_that_overrides_player_control
is_tile_that_overrides_player_control: @ 81380D8
@@ -6425,13 +6425,13 @@ sub_8138B10: @ 8138B10
cmp r0, 0
bne _08138B34
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB5F9
+ ldr r1, =gText_BigGuy
bl StringCopy
b _08138B3C
.pool
_08138B34:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB601
+ ldr r1, =gText_BigGirl
bl StringCopy
_08138B3C:
pop {r0}
@@ -6448,13 +6448,13 @@ sub_8138B48: @ 8138B48
cmp r0, 0
bne _08138B6C
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB60E
+ ldr r1, =gText_Daughter
bl StringCopy
b _08138B74
.pool
_08138B6C:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB60A
+ ldr r1, =gText_Son
bl StringCopy
_08138B74:
pop {r0}
@@ -8511,7 +8511,7 @@ sub_8139B60: @ 8139B60
ldrb r0, [r5]
movs r1, 0
bl SetStandardWindowBorderStyle
- ldr r4, =gUnknown_085EB6A5
+ ldr r4, =gText_ElevatorNowOn
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x40
@@ -10131,7 +10131,7 @@ sub_813A8FC: @ 813A8FC
movs r2, 0x1
movs r3, 0x4
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085EB6AD
+ ldr r1, =gText_BP
bl StringCopy
movs r0, 0x1
add r1, sp, 0xC
@@ -11039,7 +11039,7 @@ _0813B0F8:
ldr r0, =sub_813B160
movs r1, 0x8
bl CreateTask
- ldr r3, =gUnknown_02038C08
+ ldr r3, =gFieldEffectSpawnParams
movs r0, 0x1
str r0, [r3]
movs r0, 0x3A
@@ -12650,37 +12650,37 @@ _0813BE58:
.4byte _0813BEC0
_0813BE70:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD14
+ ldr r1, =gText_Steven
bl StringCopy
b _0813BF04
.pool
_0813BE84:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD1B
+ ldr r1, =gText_Brawly
bl StringCopy
b _0813BF04
.pool
_0813BE98:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD22
+ ldr r1, =gText_Winona
bl StringCopy
b _0813BF04
.pool
_0813BEAC:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD29
+ ldr r1, =gText_Phoebe
bl StringCopy
b _0813BF04
.pool
_0813BEC0:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD30
+ ldr r1, =gText_Glacia
bl StringCopy
b _0813BF04
.pool
_0813BED4:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD0C
+ ldr r1, =gText_Wallace
bl StringCopy
b _0813BF04
.pool
diff --git a/asm/rom_80A5C6C.s b/asm/rom_80A5C6C.s
index ea75d4e2b..267045179 100644
--- a/asm/rom_80A5C6C.s
+++ b/asm/rom_80A5C6C.s
@@ -1830,8 +1830,8 @@ GetBankIdentity: @ 80A6A44
.pool
thumb_func_end GetBankIdentity
- thumb_func_start GetBankByPlayerAI
-GetBankByPlayerAI: @ 80A6A54
+ thumb_func_start GetBankByIdentity
+GetBankByIdentity: @ 80A6A54
push {r4,lr}
lsls r0, 24
lsrs r3, r0, 24
@@ -1860,7 +1860,7 @@ _080A6A7E:
pop {r1}
bx r1
.pool
- thumb_func_end GetBankByPlayerAI
+ thumb_func_end GetBankByIdentity
thumb_func_start sub_80A6A90
sub_80A6A90: @ 80A6A90
@@ -3496,7 +3496,7 @@ _080A76F2:
cmp r5, 0
beq _080A771A
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
bl b_side_obj__get_some_boolean
@@ -3504,7 +3504,7 @@ _080A76F2:
cmp r0, 0
beq _080A771A
movs r0, 0
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -3514,7 +3514,7 @@ _080A771A:
cmp r6, 0
beq _080A7746
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
bl b_side_obj__get_some_boolean
@@ -3522,7 +3522,7 @@ _080A771A:
cmp r0, 0
beq _080A7746
movs r0, 0x2
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -3534,7 +3534,7 @@ _080A7746:
cmp r7, 0
beq _080A7772
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
bl b_side_obj__get_some_boolean
@@ -3542,7 +3542,7 @@ _080A7746:
cmp r0, 0
beq _080A7772
movs r0, 0x1
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -3555,7 +3555,7 @@ _080A7772:
cmp r0, 0
beq _080A77A0
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
bl b_side_obj__get_some_boolean
@@ -3563,7 +3563,7 @@ _080A7772:
cmp r0, 0
beq _080A77A0
movs r0, 0x3
- bl GetBankByPlayerAI
+ bl GetBankByIdentity
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 GetBankByPlayerAI
+ bl GetBankByIdentity
lsls r0, 24
lsrs r0, 24
pop {r1}
diff --git a/asm/roulette.s b/asm/roulette.s
index 5742e089f..009f30717 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -3273,7 +3273,7 @@ sub_8141E7C: @ 8141E7C
bl ResetPaletteFade
bl ResetSpriteData
bl sub_8140418
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
ldr r0, =c2_exit_to_overworld_2_switch
diff --git a/asm/save.s b/asm/save.s
deleted file mode 100644
index 825da0756..000000000
--- a/asm/save.s
+++ /dev/null
@@ -1,164 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_8153688
-sub_8153688: @ 8153688
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xB
- bls _081536A2
- b _081537C2
-_081536A2:
- lsls r0, 2
- ldr r1, =_081536B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081536B4:
- .4byte _081536E4
- .4byte _081536F4
- .4byte _081536FE
- .4byte _0815371A
- .4byte _0815372C
- .4byte _08153742
- .4byte _08153758
- .4byte _08153762
- .4byte _08153778
- .4byte _0815378C
- .4byte _08153796
- .4byte _081537A8
-_081536E4:
- ldr r0, =gSoftResetDisabled
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- strh r0, [r4]
- b _081537C2
- .pool
-_081536F4:
- bl sub_800ADF8
- movs r0, 0x2
- strh r0, [r4]
- b _081537C2
-_081536FE:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _081537C2
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08153714
- bl save_serialize_map
-_08153714:
- movs r0, 0x3
- strh r0, [r4]
- b _081537C2
-_0815371A:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08153726
- bl sub_8076D5C
-_08153726:
- bl sub_8153380
- b _08153752
-_0815372C:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0x5
- bne _081537C2
- movs r0, 0
- strh r0, [r4, 0x2]
- strh r1, [r4]
- b _081537C2
-_08153742:
- bl sub_81533AC
- lsls r0, 24
- cmp r0, 0
- beq _08153752
- movs r0, 0x6
- strh r0, [r4]
- b _081537C2
-_08153752:
- movs r0, 0x4
- strh r0, [r4]
- b _081537C2
-_08153758:
- bl sub_81533E0
- movs r0, 0x7
- strh r0, [r4]
- b _081537C2
-_08153762:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0815376E
- bl sav2_gender2_inplace_and_xFE
-_0815376E:
- bl sub_800ADF8
- movs r0, 0x8
- strh r0, [r4]
- b _081537C2
-_08153778:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _081537C2
- bl sub_8153408
- movs r0, 0x9
- strh r0, [r4]
- b _081537C2
-_0815378C:
- bl sub_800ADF8
- movs r0, 0xA
- strh r0, [r4]
- b _081537C2
-_08153796:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _081537C2
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _081537C2
-_081537A8:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _081537C2
- ldr r1, =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- adds r0, r2, 0
- bl DestroyTask
-_081537C2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8153688
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s
index 247c765b6..182ff8954 100644
--- a/asm/save_failed_screen.s
+++ b/asm/save_failed_screen.s
@@ -268,7 +268,7 @@ _08178FF8:
ldrb r0, [r4]
movs r1, 0x1
bl CopyWindowToVram
- ldr r0, =gUnknown_085EC816
+ ldr r0, =gText_SaveFailedCheckingBackup
movs r1, 0x1
movs r2, 0
bl sub_8178F44
@@ -340,7 +340,7 @@ _0817929C:
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r0, =gUnknown_085EC917
+ ldr r0, =gText_CheckCompleted
movs r1, 0x1
movs r2, 0
bl sub_8178F44
@@ -353,7 +353,7 @@ _0817929C:
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r0, =gUnknown_085EC816
+ ldr r0, =gText_SaveFailedCheckingBackup
movs r1, 0x1
movs r2, 0
bl sub_8178F44
@@ -373,7 +373,7 @@ _081792EC:
ldrb r0, [r0]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r0, =gUnknown_085EC86F
+ ldr r0, =gText_BackupMemoryDamaged
b _08179330
.pool
_0817931C:
@@ -385,7 +385,7 @@ _0817931C:
ldr r0, [r0]
cmp r0, 0
bne _08179370
- ldr r0, =gUnknown_085EC94F
+ ldr r0, =gText_SaveCompleteGameCannotContinue
_08179330:
movs r1, 0x1
movs r2, 0
@@ -397,7 +397,7 @@ _08179348:
ldrb r0, [r0]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r0, =gUnknown_085EC86F
+ ldr r0, =gText_BackupMemoryDamaged
movs r1, 0x1
movs r2, 0
bl sub_8178F44
@@ -406,7 +406,7 @@ _08179348:
b _08179380
.pool
_08179370:
- ldr r0, =gUnknown_085EC9A2
+ ldr r0, =gText_SaveCompletePressA
movs r1, 0x1
movs r2, 0
bl sub_8178F44
@@ -436,7 +436,7 @@ sub_8179390: @ 8179390
ldrb r0, [r0]
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r0, =gUnknown_085EC8D4
+ ldr r0, =gText_GamePlayCannotBeContinued
movs r1, 0x1
movs r2, 0
bl sub_8178F44
diff --git a/asm/scrcmd.s b/asm/scrcmd.s
index 0598c2310..f2e61a946 100644
--- a/asm/scrcmd.s
+++ b/asm/scrcmd.s
@@ -3977,7 +3977,7 @@ sub_809B114: @ 809B114
adds r4, r0
ldr r0, [r4]
lsrs r1, 11
- ldr r2, =gUnknown_085A5C09
+ ldr r2, =gDecorations + 1
adds r1, r2
bl StringCopy
movs r0, 0
@@ -4183,7 +4183,7 @@ sC6_load_textvar_box_label: @ 809B2C8
ldr r4, [r4]
lsls r0, 24
lsrs r0, 24
- bl sav3_get_box_name
+ bl GetBoxNamePtr
adds r1, r0, 0
adds r0, r4, 0
bl StringCopy
@@ -4468,7 +4468,7 @@ s93_display_money: @ 809B500
bl GetMoney
adds r1, r5, 0
adds r2, r4, 0
- bl sub_80E52EC
+ bl DrawMoneyBox
_0809B530:
movs r0, 0
pop {r4,r5}
@@ -4480,7 +4480,7 @@ _0809B530:
thumb_func_start s94_hide_money
s94_hide_money: @ 809B53C
push {lr}
- bl sub_80E5384
+ bl HideMoneyBox
movs r0, 0
pop {r1}
bx r1
@@ -4505,7 +4505,7 @@ s95_update_money: @ 809B548
lsls r1, 3
adds r0, r1
bl GetMoney
- bl sub_80E52D4
+ bl ChangeAmountInMoneyBox
_0809B56E:
movs r0, 0
pop {r1}
@@ -4874,7 +4874,7 @@ s9D_set_HM_animation_data: @ 809B7F4
lsls r0, 16
lsrs r0, 16
bl VarGet
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
lsls r4, 2
adds r4, r1
lsls r0, 16
diff --git a/asm/script_menu.s b/asm/script_menu.s
index 6c5e6d2bd..8aecbf696 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -724,7 +724,7 @@ _080E23AC:
lsls r0, 24
cmp r0, 0
beq _080E23D4
- ldr r0, =gUnknown_085EB18B
+ ldr r0, =gText_HallOfFame
adds r1, r5, 0
bl display_text_and_get_width
adds r5, r0, 0
@@ -751,7 +751,7 @@ _080E23D4:
adds r0, r6, 0
movs r1, 0
bl SetStandardWindowBorderStyle
- ldr r2, =gUnknown_085EB18B
+ ldr r2, =gText_HallOfFame
movs r0, 0x21
str r0, [sp]
movs r5, 0xFF
@@ -762,7 +762,7 @@ _080E23D4:
movs r1, 0x1
adds r3, r7, 0
bl PrintTextOnWindow
- ldr r2, =gUnknown_085EB198
+ ldr r2, =gText_LogOff
movs r0, 0x31
str r0, [sp]
str r5, [sp, 0x4]
@@ -786,7 +786,7 @@ _080E2448:
adds r0, r6, 0
movs r1, 0
bl SetStandardWindowBorderStyle
- ldr r2, =gUnknown_085EB198
+ ldr r2, =gText_LogOff
movs r0, 0x21
str r0, [sp]
movs r0, 0xFF
@@ -803,7 +803,7 @@ _080E247A:
lsrs r1, r0, 24
cmp r1, 0
beq _080E24B0
- ldr r2, =gUnknown_085EB176
+ ldr r2, =gText_LanettesPC
movs r0, 0x1
str r0, [sp]
movs r0, 0xFF
@@ -817,7 +817,7 @@ _080E247A:
b _080E24C6
.pool
_080E24B0:
- ldr r2, =gUnknown_085EB169
+ ldr r2, =gText_SomeonesPC
movs r0, 0x1
str r0, [sp]
movs r0, 0xFF
@@ -829,7 +829,7 @@ _080E24B0:
bl PrintTextOnWindow
_080E24C6:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EB183
+ ldr r1, =gText_PlayersPC
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r6, 0
@@ -1677,7 +1677,7 @@ CreateStartMenu: @ 80E2BAC
adds r0, r4, 0
movs r1, 0
bl SetStandardWindowBorderStyle
- ldr r2, =gUnknown_085EB25C
+ ldr r2, =gText_MenuOptionPokedex
movs r0, 0x9
str r0, [sp]
movs r5, 0xFF
@@ -1688,7 +1688,7 @@ CreateStartMenu: @ 80E2BAC
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r2, =gUnknown_085EB264
+ ldr r2, =gText_MenuOptionPokemon
movs r0, 0x19
str r0, [sp]
str r5, [sp, 0x4]
@@ -1697,7 +1697,7 @@ CreateStartMenu: @ 80E2BAC
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r2, =gUnknown_085EB26C
+ ldr r2, =gText_MenuOptionBag
movs r0, 0x29
str r0, [sp]
str r5, [sp, 0x4]
@@ -1706,7 +1706,7 @@ CreateStartMenu: @ 80E2BAC
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r2, =gUnknown_085EB270
+ ldr r2, =gText_MenuOptionPokenav
movs r0, 0x39
str r0, [sp]
str r5, [sp, 0x4]
@@ -1725,7 +1725,7 @@ CreateStartMenu: @ 80E2BAC
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r2, =gUnknown_085EB279
+ ldr r2, =gText_MenuOptionSave
movs r0, 0x59
str r0, [sp]
str r5, [sp, 0x4]
@@ -1734,7 +1734,7 @@ CreateStartMenu: @ 80E2BAC
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r2, =gUnknown_085EB27E
+ ldr r2, =gText_MenuOptionOption
movs r0, 0x69
str r0, [sp]
str r5, [sp, 0x4]
@@ -1743,7 +1743,7 @@ CreateStartMenu: @ 80E2BAC
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r2, =gUnknown_085EB285
+ ldr r2, =gText_MenuOptionExit
movs r0, 0x79
str r0, [sp]
str r5, [sp, 0x4]
diff --git a/asm/secret_base.s b/asm/secret_base.s
index 2188e634d..0290e9f7f 100644
--- a/asm/secret_base.s
+++ b/asm/secret_base.s
@@ -686,7 +686,7 @@ _080E900C:
_080E9030:
bl sub_80E8F9C
bl warp_in
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =sub_80AF168
str r1, [r0]
ldr r0, =c2_load_new_map
@@ -751,7 +751,7 @@ sub_80E90C8: @ 80E90C8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -863,7 +863,7 @@ sub_80E916C: @ 80E916C
adds r0, r5, 0
bl warp1_set
bl warp_in
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80E9108
str r0, [r1]
ldr r0, =c2_load_new_map
@@ -1163,13 +1163,13 @@ _080E941E:
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_8089350
+ bl MetatileBehavior_IsMB_B5
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _080E9462
adds r0, r4, 0
- bl sub_8089364
+ bl MetatileBehavior_IsMB_C3
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1486,7 +1486,7 @@ _080E96F4:
movs r0, 0x7E
bl copy_saved_warp2_bank_and_enter_x_to_warp1
bl warp_in
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =mapldr_default
str r1, [r0]
ldr r0, =c2_load_new_map
@@ -1576,7 +1576,7 @@ sub_80E9780: @ 80E9780
ldrb r1, [r0]
adds r0, r6, 0
bl ConvertInternationalString
- ldr r1, =gUnknown_085EA72F
+ ldr r1, =gText_ApostropheSBase
adds r0, r6, 0
bl StringAppend
pop {r3}
@@ -2204,7 +2204,7 @@ sub_80E9C9C: @ 80E9C9C
b _080E9D1A
.pool
_080E9D10:
- ldr r1, =gUnknown_085EA785
+ ldr r1, =gText_NoRegistry
ldr r2, =task_pc_turn_off
adds r0, r6, 0
bl DisplayItemMessageOnField
@@ -2583,7 +2583,7 @@ sub_80E9FFC: @ 80E9FFC
ldrb r1, [r4, 0x8]
bl sub_80E9780
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EA737
+ ldr r1, =gText_OkayToDeleteFromRegistry
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r2, =sub_80EA06C
@@ -2683,7 +2683,7 @@ sub_80EA120: @ 80EA120
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r1, =gUnknown_085EA762
+ ldr r1, =gText_RegisteredDataDeleted
ldr r2, =sub_80EA08C
bl DisplayItemMessageOnField
pop {r0}
@@ -3288,7 +3288,7 @@ _080EA62C:
.pool
_080EA668:
adds r0, r5, 0
- bl sub_80893C8
+ bl MetatileBehavior_IsSecretBaseGlitterMat
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3308,7 +3308,7 @@ _080EA680:
.pool
_080EA698:
adds r0, r5, 0
- bl sub_808938C
+ bl MetatileBehavior_IsSecretBaseBalloon
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3377,7 +3377,7 @@ _080EA714:
.pool
_080EA72C:
adds r0, r5, 0
- bl sub_80893A0
+ bl MetatileBehavior_IsMB_BE
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3409,7 +3409,7 @@ _080EA75E:
.pool
_080EA778:
adds r0, r5, 0
- bl sub_80893B4
+ bl MetatileBehavior_IsSecretBaseSoundMat
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3429,7 +3429,7 @@ _080EA778:
.pool
_080EA7A8:
adds r0, r5, 0
- bl MetatileBehavior_0xBB
+ bl MetatileBehavior_IsSecretBaseJumpMat
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3449,7 +3449,7 @@ _080EA7A8:
.pool
_080EA7D8:
adds r0, r5, 0
- bl MetatileBehavior_0xBC
+ bl MetatileBehavior_IsSecretBaseSpinMat
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/shop.s b/asm/shop.s
index 9e03399fc..08e935bb1 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -227,7 +227,7 @@ HandleShopMenuSell: @ 80DFC0C
@ int CB2_ExitSellMenu()
CB2_ExitSellMenu: @ 80DFC48
push {lr}
- ldr r0, =gUnknown_03005DAC
+ ldr r0, =gFieldCallback
ldr r1, =MapPostLoadHook_ExitBuyOrSellMenu
str r1, [r0]
ldr r0, =c2_exit_to_overworld_2_switch
@@ -325,14 +325,14 @@ Task_ExitSellMenu: @ 80DFCF8
ldrb r0, [r0, 0xF]
cmp r0, 0x2
bne _080DFD2C
- ldr r1, =gUnknown_085E95C7
+ ldr r1, =gText_CanIHelpWithAnythingElse
ldr r2, =ReturnToShopMenuAfterExitingSellMenu
adds r0, r4, 0
bl DisplayItemMessageOnField
b _080DFD36
.pool
_080DFD2C:
- ldr r1, =gUnknown_085E959B
+ ldr r1, =gText_AnythingElseICanHelp
ldr r2, =ReturnToShopMenuAfterExitingSellMenu
adds r0, r5, 0
bl DisplayItemMessageOnField
@@ -657,7 +657,7 @@ BuyMenuSetListEntry: @ 80E0000
.pool
_080E0020:
lsls r1, r4, 5
- ldr r0, =gUnknown_085A5C09
+ ldr r0, =gDecorations + 1
adds r1, r0
adds r0, r5, 0
bl StringCopy
@@ -748,7 +748,7 @@ _080E00D8:
b _080E00EA
.pool
_080E00E8:
- ldr r4, =gUnknown_085E93E0
+ ldr r4, =gText_QuitShopping
_080E00EA:
movs r0, 0x2
movs r1, 0
@@ -817,7 +817,7 @@ _080E0164:
bl ConvertIntToDecimalStringN
_080E0176:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E969C
+ ldr r1, =gText_PokedollarVar1
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0x7
@@ -1125,7 +1125,7 @@ BuyMenuInitBgs: @ 80E036C
BuyMenuDecompressBgGraphics: @ 80E0424
push {lr}
sub sp, 0x4
- ldr r1, =gUnknown_08D9AFBC
+ ldr r1, =gBuyMenuFrame_Gfx
movs r2, 0xE8
lsls r2, 2
ldr r3, =0x000003e3
@@ -1133,11 +1133,11 @@ BuyMenuDecompressBgGraphics: @ 80E0424
str r0, [sp]
movs r0, 0x1
bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gUnknown_08D9B0F0
+ ldr r0, =gBuyMenuFrame_Tilemap
ldr r1, =gUnknown_02039F70
ldr r1, [r1]
bl LZDecompressWram
- ldr r0, =gUnknown_08D9B0C8
+ ldr r0, =gMenuMoneyPal
movs r1, 0xC0
movs r2, 0x20
bl LoadCompressedPalette
@@ -1259,7 +1259,7 @@ BuyMenuDrawGraphics: @ 80E0524
movs r0, 0
movs r1, 0x1
movs r2, 0xD
- bl set_window_border_style_and_print_money_box
+ bl PrintMoneyAmountInMoneyBoxWithBorder
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
@@ -2060,7 +2060,7 @@ _080E0B92:
lsls r0, 24
cmp r0, 0
bne _080E0BD0
- ldr r1, =gUnknown_085E9539
+ ldr r1, =gText_YouDontHaveMoney
ldr r2, =BuyMenuReturnToItemList
b _080E0C28
.pool
@@ -2091,11 +2091,11 @@ _080E0BD0:
adds r1, r0
adds r0, r4, 0
bl StringCopy
- ldr r1, =gUnknown_085E9417
+ ldr r1, =gText_Var1CertainlyHowMany2
b _080E0C26
.pool
_080E0C24:
- ldr r1, =gUnknown_085E93EF
+ ldr r1, =gText_Var1CertainlyHowMany
_080E0C26:
ldr r2, =Task_BuyHowManyDialogueInit
_080E0C28:
@@ -2106,7 +2106,7 @@ _080E0C28:
_080E0C38:
ldr r0, =gStringVar1
lsls r1, r5, 5
- ldr r2, =gUnknown_085A5C09
+ ldr r2, =gDecorations + 1
adds r1, r2
bl StringCopy
ldr r0, =gStringVar2
@@ -2121,13 +2121,13 @@ _080E0C38:
cmp r0, 0x1
bne _080E0C7C
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9468
+ ldr r1, =gText_Var1IsItThatllBeVar2
bl StringExpandPlaceholders
b _080E0C84
.pool
_080E0C7C:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_085E9493
+ ldr r1, =gText_YouWantedVar1ThatllBeVar2
bl StringExpandPlaceholders
_080E0C84:
ldr r1, =gStringVar4
@@ -2171,7 +2171,7 @@ Task_BuyHowManyDialogueInit: @ 80E0CA4
movs r3, 0x4
bl ConvertIntToDecimalStringN
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085E93D5
+ ldr r1, =gText_InBagVar1
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -2319,7 +2319,7 @@ _080E0DF0:
movs r2, 0
movs r3, 0x6
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085E943F
+ ldr r1, =gText_Var1AndYouWantedVar2
ldr r2, =BuyMenuConfirmPurchase
adds r0, r6, 0
bl BuyMenuDisplayMessage
@@ -2400,7 +2400,7 @@ BuyMenuTryMakePurchase: @ 80E0EDC
lsrs r0, 24
cmp r0, 0x1
bne _080E0F30
- ldr r1, =gUnknown_085E94C5
+ ldr r1, =gText_HereYouGoThankYou
ldr r2, =BuyMenuSubtractMoney
adds r0, r5, 0
bl BuyMenuDisplayMessage
@@ -2409,7 +2409,7 @@ BuyMenuTryMakePurchase: @ 80E0EDC
b _080E0F7A
.pool
_080E0F30:
- ldr r1, =gUnknown_085E9558
+ ldr r1, =gText_NoMoreRoomForThis
ldr r2, =BuyMenuReturnToItemList
b _080E0F60
.pool
@@ -2422,11 +2422,11 @@ _080E0F40:
ldrb r0, [r6, 0xF]
cmp r0, 0x1
bne _080E0F5C
- ldr r1, =gUnknown_085E94E7
+ ldr r1, =gText_ThankYouIllSendItHome
b _080E0F5E
.pool
_080E0F5C:
- ldr r1, =gUnknown_085E9510
+ ldr r1, =gText_ThanksIllSendItHome
_080E0F5E:
ldr r2, =BuyMenuSubtractMoney
_080E0F60:
@@ -2435,7 +2435,7 @@ _080E0F60:
b _080E0F7A
.pool
_080E0F70:
- ldr r1, =gUnknown_085E957F
+ ldr r1, =gText_SpaceForVar1Full
ldr r2, =BuyMenuReturnToItemList
adds r0, r7, 0
bl BuyMenuDisplayMessage
@@ -2536,7 +2536,7 @@ Task_ReturnToItemListAfterItemPurchase: @ 80E100C
lsrs r0, 24
cmp r0, 0x1
bne _080E106C
- ldr r1, =gUnknown_085E95EA
+ ldr r1, =gText_ThrowInPremierBall
ldr r2, =BuyMenuReturnToItemList
adds r0, r4, 0
bl BuyMenuDisplayMessage
@@ -2668,7 +2668,7 @@ ExitBuyMenu: @ 80E1168
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =MapPostLoadHook_ExitBuyOrSellMenu
str r0, [r1]
movs r0, 0x1
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 6fdd1a214..6bd62ed9f 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -976,7 +976,7 @@ sub_812ACF4: @ 812ACF4
movs r0, 0
movs r1, 0
bl sub_81973C4
- ldr r2, =gUnknown_085EF734
+ ldr r2, =gText_YouDontHaveThreeCoins
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -1544,7 +1544,7 @@ sub_812B158: @ 812B158
movs r0, 0
movs r1, 0
bl sub_81973C4
- ldr r2, =gUnknown_085EF6E9
+ ldr r2, =gText_QuitTheGame
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -1634,7 +1634,7 @@ sub_812B214: @ 812B214
movs r0, 0
movs r1, 0
bl sub_81973C4
- ldr r2, =gUnknown_085EF6F8
+ ldr r2, =gText_YouveGot9999Coins
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -1687,7 +1687,7 @@ sub_812B280: @ 812B280
movs r0, 0
movs r1, 0
bl sub_81973C4
- ldr r2, =gUnknown_085EF710
+ ldr r2, =gText_YouveRunOutOfCoins
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -7209,7 +7209,7 @@ sub_812DD78: @ 812DD78
str r0, [sp]
movs r4, 0
str r4, [sp, 0x4]
- ldr r0, =gUnknown_085EF750
+ ldr r0, =gText_ReelTimeHelp
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
diff --git a/asm/start_menu.s b/asm/start_menu.s
index f71df1046..4f8544eea 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -1862,7 +1862,7 @@ _080A0710:
bl PrintTextOnWindow
movs r4, 0x11
ldrb r0, [r6]
- ldr r2, =gUnknown_085EED26
+ ldr r2, =gText_SavingPlayer
str r4, [sp]
mov r1, r8
str r1, [sp, 0x4]
@@ -1887,7 +1887,7 @@ _080A0710:
bl sub_819A024
movs r4, 0x21
ldrb r0, [r6]
- ldr r2, =gUnknown_085EED2D
+ ldr r2, =gText_SavingBadges
str r4, [sp]
mov r1, r8
str r1, [sp, 0x4]
@@ -1922,7 +1922,7 @@ _080A0710:
bne _080A0802
movs r4, 0x31
ldrb r0, [r6]
- ldr r2, =gUnknown_085EED34
+ ldr r2, =gText_SavingPokedex
str r4, [sp]
mov r1, r8
str r1, [sp, 0x4]
@@ -1952,7 +1952,7 @@ _080A0710:
_080A0802:
adds r4, 0x10
ldrb r0, [r6]
- ldr r2, =gUnknown_085EED3C
+ ldr r2, =gText_SavingTime
lsls r4, 24
lsrs r4, 24
str r4, [sp]
diff --git a/asm/tileset.s b/asm/tileset.s
deleted file mode 100644
index 0605c7621..000000000
--- a/asm/tileset.s
+++ /dev/null
@@ -1,1793 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80A0954
-@ void sub_80A0954()
-sub_80A0954: @ 80A0954
- push {lr}
- sub sp, 0x4
- ldr r1, =gUnknown_03000F34
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_02037624
- ldr r2, =0x0500003c
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0954
-
- thumb_func_start sub_80A0980
-sub_80A0980: @ 80A0980
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r3, =gUnknown_03000F34
- ldrb r0, [r3]
- cmp r0, 0x13
- bhi _080A09C0
- ldr r2, =gUnknown_02037624
- adds r1, r0, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- str r4, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0x4
- adds r0, r1
- str r5, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r6, [r0, 0x8]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_080A09C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0980
-
- thumb_func_start sub_80A09D0
-sub_80A09D0: @ 80A09D0
- push {r4-r6,lr}
- movs r3, 0
- ldr r4, =gUnknown_03000F34
- adds r6, r4, 0
- ldrb r0, [r4]
- cmp r3, r0
- bge _080A0A02
- ldr r2, =0x040000d4
- ldr r1, =gUnknown_02037624
- movs r5, 0x80
- lsls r5, 24
-_080A09E6:
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [r1, 0x4]
- str r0, [r2, 0x4]
- ldrh r0, [r1, 0x8]
- lsrs r0, 1
- orrs r0, r5
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, 0xC
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _080A09E6
-_080A0A02:
- movs r0, 0
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A09D0
-
- thumb_func_start cur_mapheader_run_tileset_funcs_after_some_cpuset
-cur_mapheader_run_tileset_funcs_after_some_cpuset: @ 80A0A18
- push {lr}
- bl sub_80A0954
- bl cur_mapheader_run_tileset1_func
- bl cur_mapheader_run_tileset2_func
- pop {r0}
- bx r0
- thumb_func_end cur_mapheader_run_tileset_funcs_after_some_cpuset
-
- thumb_func_start sub_80A0A2C
-sub_80A0A2C: @ 80A0A2C
- push {lr}
- bl cur_mapheader_run_tileset2_func
- pop {r0}
- bx r0
- thumb_func_end sub_80A0A2C
-
- thumb_func_start sub_80A0A38
-sub_80A0A38: @ 80A0A38
- push {r4,lr}
- bl sub_80A0954
- ldr r2, =gUnknown_03000F36
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ldr r1, =gUnknown_03000F38
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bcc _080A0A56
- movs r0, 0
- strh r0, [r2]
-_080A0A56:
- ldr r4, =gUnknown_03000F3A
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r1, =gUnknown_03000F3C
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bcc _080A0A6E
- movs r0, 0
- strh r0, [r4]
-_080A0A6E:
- ldr r0, =gUnknown_03000F40
- ldr r1, [r0]
- cmp r1, 0
- beq _080A0A7C
- ldrh r0, [r2]
- bl _call_via_r1
-_080A0A7C:
- ldr r0, =gUnknown_03000F44
- ldr r1, [r0]
- cmp r1, 0
- beq _080A0A8A
- ldrh r0, [r4]
- bl _call_via_r1
-_080A0A8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0A38
-
- thumb_func_start cur_mapheader_run_tileset1_func
-cur_mapheader_run_tileset1_func: @ 80A0AA8
- push {lr}
- ldr r0, =gUnknown_03000F36
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03000F38
- strh r1, [r0]
- ldr r1, =gUnknown_03000F40
- movs r0, 0
- str r0, [r1]
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- beq _080A0ACE
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080A0ACE
- bl _call_via_r0
-_080A0ACE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end cur_mapheader_run_tileset1_func
-
- thumb_func_start cur_mapheader_run_tileset2_func
-cur_mapheader_run_tileset2_func: @ 80A0AE4
- push {lr}
- ldr r0, =gUnknown_03000F3A
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03000F3C
- strh r1, [r0]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080A0B0A
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080A0B0A
- bl _call_via_r0
-_080A0B0A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end cur_mapheader_run_tileset2_func
-
- thumb_func_start TilesetCb_General
-TilesetCb_General: @ 80A0B20
- ldr r1, =gUnknown_03000F36
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F38
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F40
- ldr r0, =sub_80A0B70
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_General
-
- thumb_func_start TilesetCb_InsideBuilding
-TilesetCb_InsideBuilding: @ 80A0B48
- ldr r1, =gUnknown_03000F36
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F38
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F40
- ldr r0, =sub_80A0BB4
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_InsideBuilding
-
- thumb_func_start sub_80A0B70
-sub_80A0B70: @ 80A0B70
- push {r4,r5,lr}
- lsls r5, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r5
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080A0B86
- lsrs r0, r5, 20
- bl sub_80A0BCC
-_080A0B86:
- cmp r4, 0x1
- bne _080A0B90
- lsrs r0, r5, 20
- bl sub_80A0BF4
-_080A0B90:
- cmp r4, 0x2
- bne _080A0B9A
- lsrs r0, r5, 20
- bl sub_80A0C1C
-_080A0B9A:
- cmp r4, 0x3
- bne _080A0BA4
- lsrs r0, r5, 20
- bl sub_80A0C44
-_080A0BA4:
- cmp r4, 0x4
- bne _080A0BAE
- lsrs r0, r5, 20
- bl sub_80A12AC
-_080A0BAE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0B70
-
- thumb_func_start sub_80A0BB4
-sub_80A0BB4: @ 80A0BB4
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A0BC8
- lsrs r0, r1, 19
- bl sub_80A1688
-_080A0BC8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A0BB4
-
- thumb_func_start sub_80A0BCC
-sub_80A0BCC: @ 80A0BCC
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08510764
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003f80
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0BCC
-
- thumb_func_start sub_80A0BF4
-sub_80A0BF4: @ 80A0BF4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- ands r0, r1
- ldr r1, =gUnknown_08512574
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06003600
- movs r2, 0xF0
- lsls r2, 2
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0BF4
-
- thumb_func_start sub_80A0C1C
-sub_80A0C1C: @ 80A0C1C
- push {lr}
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_08512E54
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003a00
- movs r2, 0xA0
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0C1C
-
- thumb_func_start sub_80A0C44
-sub_80A0C44: @ 80A0C44
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08513174
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003e00
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0C44
-
- thumb_func_start TilesetCb_Petalburg
-TilesetCb_Petalburg: @ 80A0C6C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Petalburg
-
- thumb_func_start TilesetCb_Rustboro
-TilesetCb_Rustboro: @ 80A0C94
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A103C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Rustboro
-
- thumb_func_start TilesetCb_Dewford
-TilesetCb_Dewford: @ 80A0CC0
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A10B8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Dewford
-
- thumb_func_start TilesetCb_Slateport
-TilesetCb_Slateport: @ 80A0CEC
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A10D0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Slateport
-
- thumb_func_start TilesetCb_Mauville
-TilesetCb_Mauville: @ 80A0D18
- ldr r1, =gUnknown_03000F3A
- ldr r0, =gUnknown_03000F36
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A10E8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Mauville
-
- thumb_func_start TilesetCb_Lavaridge
-TilesetCb_Lavaridge: @ 80A0D48
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A115C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Lavaridge
-
- thumb_func_start TilesetCb_Fallarbor
-TilesetCb_Fallarbor: @ 80A0D74
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Fallarbor
-
- thumb_func_start TilesetCb_Fortree
-TilesetCb_Fortree: @ 80A0D9C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Fortree
-
- thumb_func_start TilesetCb_Lilycove
-TilesetCb_Lilycove: @ 80A0DC4
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Lilycove
-
- thumb_func_start TilesetCb_Mossdeep
-TilesetCb_Mossdeep: @ 80A0DEC
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Mossdeep
-
- thumb_func_start TilesetCb_EverGrande
-TilesetCb_EverGrande: @ 80A0E14
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1188
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_EverGrande
-
- thumb_func_start TilesetCb_Pacifidlog
-TilesetCb_Pacifidlog: @ 80A0E40
- ldr r1, =gUnknown_03000F3A
- ldr r0, =gUnknown_03000F36
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A11FC
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Pacifidlog
-
- thumb_func_start TilesetCb_Sootopolis
-TilesetCb_Sootopolis: @ 80A0E70
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A122C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Sootopolis
-
- thumb_func_start TilesetCb_BattleFrontierOutsideWest
-TilesetCb_BattleFrontierOutsideWest: @ 80A0E9C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A127C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattleFrontierOutsideWest
-
- thumb_func_start TilesetCb_BattleFrontierOutsideEast
-TilesetCb_BattleFrontierOutsideEast: @ 80A0EC8
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1294
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattleFrontierOutsideEast
-
- thumb_func_start TilesetCb_Underwater
-TilesetCb_Underwater: @ 80A0EF4
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- movs r0, 0x80
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1244
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Underwater
-
- thumb_func_start TilesetCb_SootopolisGym
-TilesetCb_SootopolisGym: @ 80A0F18
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A15D8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_SootopolisGym
-
- thumb_func_start TilesetCb_Cave
-TilesetCb_Cave: @ 80A0F3C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1260
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Cave
-
- thumb_func_start TilesetCb_EliteFour
-TilesetCb_EliteFour: @ 80A0F68
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- movs r0, 0x80
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A15F0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_EliteFour
-
- thumb_func_start TilesetCb_MauvilleGym
-TilesetCb_MauvilleGym: @ 80A0F8C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A15C0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_MauvilleGym
-
- thumb_func_start TilesetCb_BikeShop
-TilesetCb_BikeShop: @ 80A0FB8
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A161C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BikeShop
-
- thumb_func_start TilesetCb_BattlePyramid
-TilesetCb_BattlePyramid: @ 80A0FE4
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1634
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattlePyramid
-
- thumb_func_start TilesetCb_BattleDome
-TilesetCb_BattleDome: @ 80A1010
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1658
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattleDome
-
- thumb_func_start sub_80A103C
-sub_80A103C: @ 80A103C
- push {r4-r6,lr}
- lsls r5, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r5
- lsrs r6, r0, 16
- cmp r6, 0
- bne _080A105C
- lsrs r4, r5, 19
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A1434
- adds r0, r4, 0
- bl sub_80A1470
-_080A105C:
- cmp r6, 0x1
- bne _080A1068
- lsrs r0, r5, 19
- movs r1, 0x1
- bl sub_80A1434
-_080A1068:
- cmp r6, 0x2
- bne _080A1074
- lsrs r0, r5, 19
- movs r1, 0x2
- bl sub_80A1434
-_080A1074:
- cmp r6, 0x3
- bne _080A1080
- lsrs r0, r5, 19
- movs r1, 0x3
- bl sub_80A1434
-_080A1080:
- cmp r6, 0x4
- bne _080A108C
- lsrs r0, r5, 19
- movs r1, 0x4
- bl sub_80A1434
-_080A108C:
- cmp r6, 0x5
- bne _080A1098
- lsrs r0, r5, 19
- movs r1, 0x5
- bl sub_80A1434
-_080A1098:
- cmp r6, 0x6
- bne _080A10A4
- lsrs r0, r5, 19
- movs r1, 0x6
- bl sub_80A1434
-_080A10A4:
- cmp r6, 0x7
- bne _080A10B0
- lsrs r0, r5, 19
- movs r1, 0x7
- bl sub_80A1434
-_080A10B0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A103C
-
- thumb_func_start sub_80A10B8
-sub_80A10B8: @ 80A10B8
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A10CC
- lsrs r0, r1, 19
- bl sub_80A1520
-_080A10CC:
- pop {r0}
- bx r0
- thumb_func_end sub_80A10B8
-
- thumb_func_start sub_80A10D0
-sub_80A10D0: @ 80A10D0
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- bne _080A10E4
- lsrs r0, r1, 20
- bl sub_80A1598
-_080A10E4:
- pop {r0}
- bx r0
- thumb_func_end sub_80A10D0
-
- thumb_func_start sub_80A10E8
-sub_80A10E8: @ 80A10E8
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A1100
- lsrs r0, r4, 19
- movs r1, 0
- bl sub_80A1394
-_080A1100:
- cmp r5, 0x1
- bne _080A110C
- lsrs r0, r4, 19
- movs r1, 0x1
- bl sub_80A1394
-_080A110C:
- cmp r5, 0x2
- bne _080A1118
- lsrs r0, r4, 19
- movs r1, 0x2
- bl sub_80A1394
-_080A1118:
- cmp r5, 0x3
- bne _080A1124
- lsrs r0, r4, 19
- movs r1, 0x3
- bl sub_80A1394
-_080A1124:
- cmp r5, 0x4
- bne _080A1130
- lsrs r0, r4, 19
- movs r1, 0x4
- bl sub_80A1394
-_080A1130:
- cmp r5, 0x5
- bne _080A113C
- lsrs r0, r4, 19
- movs r1, 0x5
- bl sub_80A1394
-_080A113C:
- cmp r5, 0x6
- bne _080A1148
- lsrs r0, r4, 19
- movs r1, 0x6
- bl sub_80A1394
-_080A1148:
- cmp r5, 0x7
- bne _080A1154
- lsrs r0, r4, 19
- movs r1, 0x7
- bl sub_80A1394
-_080A1154:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A10E8
-
- thumb_func_start sub_80A115C
-sub_80A115C: @ 80A115C
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A1176
- lsrs r0, r4, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A12D4
-_080A1176:
- cmp r5, 0x1
- bne _080A1180
- lsrs r0, r4, 20
- bl sub_80A1498
-_080A1180:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A115C
-
- thumb_func_start sub_80A1188
-sub_80A1188: @ 80A1188
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A11A0
- lsrs r0, r4, 19
- movs r1, 0
- bl sub_80A14C0
-_080A11A0:
- cmp r5, 0x1
- bne _080A11AC
- lsrs r0, r4, 19
- movs r1, 0x1
- bl sub_80A14C0
-_080A11AC:
- cmp r5, 0x2
- bne _080A11B8
- lsrs r0, r4, 19
- movs r1, 0x2
- bl sub_80A14C0
-_080A11B8:
- cmp r5, 0x3
- bne _080A11C4
- lsrs r0, r4, 19
- movs r1, 0x3
- bl sub_80A14C0
-_080A11C4:
- cmp r5, 0x4
- bne _080A11D0
- lsrs r0, r4, 19
- movs r1, 0x4
- bl sub_80A14C0
-_080A11D0:
- cmp r5, 0x5
- bne _080A11DC
- lsrs r0, r4, 19
- movs r1, 0x5
- bl sub_80A14C0
-_080A11DC:
- cmp r5, 0x6
- bne _080A11E8
- lsrs r0, r4, 19
- movs r1, 0x6
- bl sub_80A14C0
-_080A11E8:
- cmp r5, 0x7
- bne _080A11F4
- lsrs r0, r4, 19
- movs r1, 0x7
- bl sub_80A14C0
-_080A11F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1188
-
- thumb_func_start sub_80A11FC
-sub_80A11FC: @ 80A11FC
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A1216
- lsrs r0, r4, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A131C
-_080A1216:
- cmp r5, 0x1
- bne _080A1224
- lsrs r0, r4, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A136C
-_080A1224:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A11FC
-
- thumb_func_start sub_80A122C
-sub_80A122C: @ 80A122C
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- bne _080A1240
- lsrs r0, r1, 20
- bl sub_80A1798
-_080A1240:
- pop {r0}
- bx r0
- thumb_func_end sub_80A122C
-
- thumb_func_start sub_80A1244
-sub_80A1244: @ 80A1244
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- bne _080A125C
- lsrs r0, r1, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A1344
-_080A125C:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1244
-
- thumb_func_start sub_80A1260
-sub_80A1260: @ 80A1260
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- lsrs r0, 16
- cmp r0, 0x1
- bne _080A1276
- lsrs r0, r1, 20
- bl sub_80A14F8
-_080A1276:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1260
-
- thumb_func_start sub_80A127C
-sub_80A127C: @ 80A127C
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A1290
- lsrs r0, r1, 19
- bl sub_80A1548
-_080A1290:
- pop {r0}
- bx r0
- thumb_func_end sub_80A127C
-
- thumb_func_start sub_80A1294
-sub_80A1294: @ 80A1294
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A12A8
- lsrs r0, r1, 19
- bl sub_80A1570
-_080A12A8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1294
-
- thumb_func_start sub_80A12AC
-sub_80A12AC: @ 80A12AC
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08513684
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003c00
- movs r2, 0xA0
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A12AC
-
- thumb_func_start sub_80A12D4
-sub_80A12D4: @ 80A12D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x3
- ands r0, r4
- ldr r5, =gUnknown_08513894
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- ldr r1, =0x06006400
- movs r2, 0x80
- bl sub_80A0980
- adds r1, r4, 0x2
- adds r0, r1, 0
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 22
- adds r0, r5
- ldr r0, [r0]
- ldr r1, =0x06006480
- movs r2, 0x80
- bl sub_80A0980
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A12D4
-
- thumb_func_start sub_80A131C
-sub_80A131C: @ 80A131C
- push {lr}
- lsls r0, 24
- movs r1, 0xC0
- lsls r1, 18
- ands r1, r0
- ldr r0, =gUnknown_085143E4
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007a00
- movs r2, 0xF0
- lsls r2, 2
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A131C
-
- thumb_func_start sub_80A1344
-sub_80A1344: @ 80A1344
- push {lr}
- lsls r0, 24
- movs r1, 0xC0
- lsls r1, 18
- ands r1, r0
- ldr r0, =gUnknown_085145F4
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007e00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1344
-
- thumb_func_start sub_80A136C
-sub_80A136C: @ 80A136C
- push {lr}
- lsls r0, 24
- movs r1, 0xE0
- lsls r1, 19
- ands r1, r0
- ldr r0, =gUnknown_08514E04
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007e00
- movs r2, 0x80
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A136C
-
- thumb_func_start sub_80A1394
-sub_80A1394: @ 80A1394
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- subs r0, r5, r6
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xB
- bhi _080A13F0
- adds r0, r5, 0
- movs r1, 0xC
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, =gUnknown_08515384
- lsrs r4, 14
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, =gUnknown_08515344
- lsls r5, r6, 2
- adds r1, r5, r1
- ldr r1, [r1]
- movs r2, 0x80
- bl sub_80A0980
- ldr r0, =gUnknown_085153B4
- adds r4, r0
- ldr r0, [r4]
- ldr r1, =gUnknown_08515364
- adds r5, r1
- ldr r1, [r5]
- movs r2, 0x80
- bl sub_80A0980
- b _080A141C
- .pool
-_080A13F0:
- movs r0, 0x3
- ands r5, r0
- ldr r0, =gUnknown_085153E4
- lsls r5, 2
- adds r0, r5, r0
- ldr r0, [r0]
- ldr r1, =gUnknown_08515344
- lsls r4, r6, 2
- adds r1, r4, r1
- ldr r1, [r1]
- movs r2, 0x80
- bl sub_80A0980
- ldr r0, =gUnknown_085153F4
- adds r5, r0
- ldr r0, [r5]
- ldr r1, =gUnknown_08515364
- adds r4, r1
- ldr r1, [r4]
- movs r2, 0x80
- bl sub_80A0980
-_080A141C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1394
-
- thumb_func_start sub_80A1434
-sub_80A1434: @ 80A1434
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r3, r1, 24
- subs r0, r3
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_08515824
- lsrs r1, 14
- adds r1, r0
- ldr r2, [r1]
- cmp r2, 0
- beq _080A1464
- ldr r0, =gUnknown_08515804
- lsls r1, r3, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- movs r2, 0x80
- bl sub_80A0980
-_080A1464:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1434
-
- thumb_func_start sub_80A1470
-sub_80A1470: @ 80A1470
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08515964
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06007800
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1470
-
- thumb_func_start sub_80A1498
-sub_80A1498: @ 80A1498
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08515D8C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005400
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1498
-
- thumb_func_start sub_80A14C0
-sub_80A14C0: @ 80A14C0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1
- lsls r0, 16
- movs r2, 0xE0
- lsls r2, 11
- ands r2, r0
- ldr r0, =gUnknown_085161DC
- lsrs r2, 14
- adds r2, r0
- ldr r0, [r2]
- ldr r2, =gUnknown_085161BC
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A14C0
-
- thumb_func_start sub_80A14F8
-sub_80A14F8: @ 80A14F8
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08515D8C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007400
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A14F8
-
- thumb_func_start sub_80A1520
-sub_80A1520: @ 80A1520
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_085164FC
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005540
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1520
-
- thumb_func_start sub_80A1548
-sub_80A1548: @ 80A1548
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_0851680C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005b40
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1548
-
- thumb_func_start sub_80A1570
-sub_80A1570: @ 80A1570
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08516B1C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005b40
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1570
-
- thumb_func_start sub_80A1598
-sub_80A1598: @ 80A1598
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08516D2C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005c00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1598
-
- thumb_func_start sub_80A15C0
-sub_80A15C0: @ 80A15C0
- push {lr}
- lsls r2, r0, 16
- lsrs r0, r2, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A15D4
- lsrs r0, r2, 17
- bl sub_80A1748
-_080A15D4:
- pop {r0}
- bx r0
- thumb_func_end sub_80A15C0
-
- thumb_func_start sub_80A15D8
-sub_80A15D8: @ 80A15D8
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A15EC
- lsrs r0, r1, 19
- bl sub_80A16B0
-_080A15EC:
- pop {r0}
- bx r0
- thumb_func_end sub_80A15D8
-
- thumb_func_start sub_80A15F0
-sub_80A15F0: @ 80A15F0
- push {r4,r5,lr}
- lsls r4, r0, 16
- lsrs r0, r4, 16
- adds r5, r0, 0
- movs r0, 0x3F
- ands r0, r5
- cmp r0, 0x1
- bne _080A1606
- lsrs r0, r4, 22
- bl sub_80A1720
-_080A1606:
- movs r0, 0x7
- ands r0, r5
- cmp r0, 0x1
- bne _080A1614
- lsrs r0, r4, 19
- bl sub_80A16F8
-_080A1614:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A15F0
-
- thumb_func_start sub_80A161C
-sub_80A161C: @ 80A161C
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xC0
- lsls r0, 10
- ands r0, r1
- cmp r0, 0
- bne _080A1630
- lsrs r0, r1, 18
- bl sub_80A1770
-_080A1630:
- pop {r0}
- bx r0
- thumb_func_end sub_80A161C
-
- thumb_func_start sub_80A1634
-sub_80A1634: @ 80A1634
- push {r4,lr}
- lsls r4, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r4
- cmp r0, 0
- bne _080A1650
- lsrs r4, 19
- adds r0, r4, 0
- bl sub_80A17C0
- adds r0, r4, 0
- bl sub_80A17EC
-_080A1650:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1634
-
- thumb_func_start sub_80A1658
-sub_80A1658: @ 80A1658
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xC0
- lsls r0, 10
- ands r0, r1
- cmp r0, 0
- bne _080A166C
- lsrs r0, r1, 18
- bl sub_80A1818
-_080A166C:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1658
-
- thumb_func_start sub_80A1670
-sub_80A1670: @ 80A1670
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xC0
- lsls r0, 10
- ands r0, r1
- cmp r0, 0
- bne _080A1684
- lsrs r0, r1, 18
- bl sub_80A1884
-_080A1684:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1670
-
- thumb_func_start sub_80A1688
-sub_80A1688: @ 80A1688
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08516E3C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06003e00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1688
-
- thumb_func_start sub_80A16B0
-sub_80A16B0: @ 80A16B0
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, =gUnknown_08517A44
- lsrs r4, 14
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, =0x06007e00
- movs r2, 0xC0
- lsls r2, 1
- bl sub_80A0980
- ldr r0, =gUnknown_08517A50
- adds r4, r0
- ldr r0, [r4]
- ldr r1, =0x06007a00
- movs r2, 0xA0
- lsls r2, 2
- bl sub_80A0980
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A16B0
-
- thumb_func_start sub_80A16F8
-sub_80A16F8: @ 80A16F8
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08517BFC
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007f00
- movs r2, 0x20
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A16F8
-
- thumb_func_start sub_80A1720
-sub_80A1720: @ 80A1720
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08517C0C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06007c00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1720
-
- thumb_func_start sub_80A1748
-sub_80A1748: @ 80A1748
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08518034
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06005200
- movs r2, 0x80
- lsls r2, 2
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1748
-
- thumb_func_start sub_80A1770
-sub_80A1770: @ 80A1770
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_0851829C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06007e00
- movs r2, 0x90
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1770
-
- thumb_func_start sub_80A1798
-sub_80A1798: @ 80A1798
- push {lr}
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_085202C4
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005e00
- movs r2, 0xC0
- lsls r2, 4
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1798
-
- thumb_func_start sub_80A17C0
-sub_80A17C0: @ 80A17C0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- ldr r1, =gUnknown_08524864
- lsrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x060052e0
- movs r2, 0x80
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A17C0
-
- thumb_func_start sub_80A17EC
-sub_80A17EC: @ 80A17EC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- ldr r1, =gUnknown_08524870
- lsrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x060050e0
- movs r2, 0x80
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A17EC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/title_screen.s b/asm/title_screen.s
index 39247aef4..961b14210 100644
--- a/asm/title_screen.s
+++ b/asm/title_screen.s
@@ -468,7 +468,7 @@ title_screen_vblank_callback: @ 80AA780
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
@@ -590,7 +590,7 @@ _080AA7E0:
b _080AAB1E
.pool
_080AA8C4:
- ldr r0, =gTitleScreenPokemonLogoTiles
+ ldr r0, =gTitleScreenPokemonLogoGfx
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
@@ -602,13 +602,13 @@ _080AA8C4:
lsls r2, 1
movs r1, 0
bl LoadPalette
- ldr r0, =gTitleScreenRayquazaTiles
+ ldr r0, =gTitleScreenRayquazaGfx
ldr r1, =0x06008000
bl LZ77UnCompVram
- ldr r0, =gUnknown_0853F83C
+ ldr r0, =gTitleScreenRayquazaTilemap
ldr r1, =0x0600d000
bl LZ77UnCompVram
- ldr r0, =gTitleScreenCloudsTiles
+ ldr r0, =gTitleScreenCloudsGfx
ldr r1, =0x0600c000
bl LZ77UnCompVram
ldr r0, =gUnknown_08DDE458
@@ -627,7 +627,7 @@ _080AA8C4:
bl LoadCompressedObjectPic
ldr r0, =gUnknown_0854013C
bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08DDE438
+ ldr r0, =gTitleScreenEmeraldVersionPal
movs r1, 0x80
lsls r1, 1
movs r2, 0x20
@@ -1156,14 +1156,14 @@ _080AAE30:
ldrh r0, [r3, 0x10]
adds r0, 0x1
strh r0, [r3, 0x10]
- ldr r2, =gUnknown_02022E1A
+ 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, =gUnknown_02022E18
+ ldr r1, =gBattle_BG1_X
movs r0, 0
strh r0, [r1]
_080AAE72:
@@ -1259,7 +1259,7 @@ c2_berry_program_update_screen_1: @ 80AAF28
cmp r0, 0
bne _080AAF3E
bl m4aMPlayAllStop
- ldr r0, =sub_81BF384
+ ldr r0, =InitBerryFixProgram
bl SetMainCallback2
_080AAF3E:
pop {r0}
diff --git a/asm/trade.s b/asm/trade.s
index 3f9323971..8712567c7 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -9004,7 +9004,7 @@ _0807C0F8:
.pool
_0807C120:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE942
+ ldr r1, =gText_XWillBeSentToY
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -9070,7 +9070,7 @@ _0807C178:
adds r0, 0x1
strh r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE959
+ ldr r1, =gText_ByeByeVar1
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -10471,7 +10471,7 @@ _0807CDDC:
movs r0, 0
bl SetGpuReg
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE966
+ ldr r1, =gText_XSentOverY
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -10542,7 +10542,7 @@ _0807CE70:
movs r5, 0
strh r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE977
+ ldr r1, =gText_TakeGoodCareOfX
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -11066,7 +11066,7 @@ _0807D4D4:
.pool
_0807D4FC:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE942
+ ldr r1, =gText_XWillBeSentToY
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -11132,7 +11132,7 @@ _0807D554:
adds r0, 0x1
strh r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE959
+ ldr r1, =gText_ByeByeVar1
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -12576,7 +12576,7 @@ _0807E228:
movs r0, 0
bl SetGpuReg
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE966
+ ldr r1, =gText_XSentOverY
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -12647,7 +12647,7 @@ _0807E2BC:
movs r5, 0
strh r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EE977
+ ldr r1, =gText_TakeGoodCareOfX
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
@@ -13751,7 +13751,7 @@ _0807ED10:
adds r0, 0x1
strb r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EF6D2
+ ldr r1, =gText_CommunicationStandby5
b _0807EDA6
.pool
_0807ED2C:
@@ -14195,7 +14195,7 @@ sub_807F110: @ 807F110
bne _0807F134
ldr r0, =sub_807B270
bl SetMainCallback2
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
adds r0, r4, 0
@@ -14634,7 +14634,7 @@ _0807F4C0:
movs r0, 0x1
strb r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085EF6D2
+ ldr r1, =gText_CommunicationStandby5
adds r0, r4, 0
bl StringExpandPlaceholders
movs r0, 0
diff --git a/asm/trader.s b/asm/trader.s
index e93bceccb..8c21648fc 100644
--- a/asm/trader.s
+++ b/asm/trader.s
@@ -87,7 +87,7 @@ sub_8133A78: @ 8133A78
ldr r0, [r0]
str r0, [sp, 0xC]
str r1, [sp, 0x10]
- ldr r1, =gUnknown_085EB7EA
+ ldr r1, =gText_Exit
movs r0, 0x1
movs r2, 0
bl GetStringWidth
@@ -113,7 +113,7 @@ _08133AC2:
_08133AF0:
ldrb r1, [r1]
lsls r1, 5
- ldr r0, =gUnknown_085A5C09
+ ldr r0, =gDecorations + 1
adds r1, r0
movs r0, 0x1
movs r2, 0
@@ -172,7 +172,7 @@ _08133B70:
ldrb r0, [r7, 0x6]
ldrb r2, [r1]
lsls r2, 5
- ldr r1, =gUnknown_085A5C09
+ ldr r1, =gDecorations + 1
adds r2, r1
lsls r1, r5, 4
adds r1, 0x1
@@ -193,7 +193,7 @@ _08133B94:
cmp r5, 0x3
bls _08133B3C
ldrb r0, [r7, 0x6]
- ldr r2, =gUnknown_085EB7EA
+ ldr r2, =gText_Exit
lsls r1, r5, 4
adds r1, 0x1
lsls r1, 24
@@ -450,7 +450,7 @@ sub_8133DA0: @ 8133DA0
ldr r1, =gSpecialVar_0x8004
ldrh r1, [r1]
lsls r1, 5
- ldr r4, =gUnknown_085A5C09
+ ldr r4, =gDecorations + 1
adds r1, r4
bl StringCopy
ldr r0, =gStringVar2
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index ec0b58653..7552d7ace 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -410,7 +410,7 @@ _080C2A2C:
movs r0, 0
movs r1, 0x1
bl sub_81973C4
- ldr r2, =gUnknown_085ED042
+ ldr r2, =gText_WaitingTrainerFinishReading
movs r0, 0x1
str r0, [sp]
movs r0, 0xFF
@@ -1714,7 +1714,7 @@ sub_80C3548: @ 80C3548
sub_80C3574: @ 80C3574
push {r4,r5,lr}
sub sp, 0x2C
- ldr r1, =gUnknown_085ECF71
+ ldr r1, =gText_TrainerCardName
add r0, sp, 0xC
bl StringCopy
adds r5, r0, 0
@@ -1775,7 +1775,7 @@ _080C35FA:
sub_80C3608: @ 80C3608
push {r4,lr}
sub sp, 0x2C
- ldr r1, =gUnknown_085ECF78
+ ldr r1, =gText_TrainerCardIDNo
add r0, sp, 0xC
bl StringCopy
ldr r4, =gUnknown_02039CE8
@@ -1842,7 +1842,7 @@ sub_80C3684: @ 80C3684
movs r0, 0x1
negs r0, r0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085ECF7E
+ ldr r0, =gText_TrainerCardMoney
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
@@ -1857,7 +1857,7 @@ _080C36C4:
movs r0, 0x1
negs r0, r0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085ECF7E
+ ldr r0, =gText_TrainerCardMoney
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
@@ -1876,7 +1876,7 @@ _080C36DE:
movs r3, 0x6
bl ConvertIntToDecimalStringN
ldr r5, =gStringVar4
- ldr r1, =gUnknown_085E969C
+ ldr r1, =gText_PokedollarVar1
adds r0, r5, 0
bl StringExpandPlaceholders
ldr r0, [r4]
@@ -1958,7 +1958,7 @@ sub_80C378C: @ 80C378C
movs r0, 0x1
negs r0, r0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085ECF86
+ ldr r0, =gText_TrainerCardPokedex
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
@@ -1973,7 +1973,7 @@ _080C37DC:
movs r0, 0x1
negs r0, r0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085ECF86
+ ldr r0, =gText_TrainerCardPokedex
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
@@ -1992,7 +1992,7 @@ _080C37F6:
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
- ldr r1, =gUnknown_085ECF8E
+ ldr r1, =gText_EmptyString6
bl StringCopy
ldr r0, [r4]
ldr r1, =0x0000052b
@@ -2054,7 +2054,7 @@ sub_80C3880: @ 80C3880
movs r0, 0x1
negs r0, r0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085ECF99
+ ldr r0, =gText_TrainerCardTime
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
@@ -2069,7 +2069,7 @@ _080C38C8:
movs r0, 0x1
negs r0, r0
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085ECF99
+ ldr r0, =gText_TrainerCardTime
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
@@ -2105,7 +2105,7 @@ _080C391C:
bls _080C3922
movs r6, 0x3B
_080C3922:
- ldr r1, =gUnknown_085ECF8F
+ ldr r1, =gText_Colon2
movs r0, 0x1
movs r2, 0
bl GetStringWidth
@@ -2172,7 +2172,7 @@ _080C395C:
ldr r0, [r0]
str r0, [sp]
str r5, [sp, 0x4]
- ldr r0, =gUnknown_085ECF8F
+ ldr r0, =gText_Colon2
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x1
@@ -2331,7 +2331,7 @@ sub_80C3AF0: @ 80C3AF0
bl StringCopy
ldr r0, [r4]
adds r0, 0x4D
- ldr r1, =gUnknown_085ECFA6
+ ldr r1, =gText_Var1sTrainerCard
bl StringExpandPlaceholders
_080C3B30:
pop {r4}
@@ -2512,7 +2512,7 @@ sub_80C3CCC: @ 80C3CCC
ldrb r0, [r2, 0xB]
cmp r0, 0
beq _080C3CE4
- ldr r1, =gUnknown_085ECFB8
+ ldr r1, =gText_HallOfFameDebut
adds r2, 0x93
ldr r3, =gUnknown_0856FB0F
movs r0, 0
@@ -2585,7 +2585,7 @@ sub_80C3D60: @ 80C3D60
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_085ECFED
+ ldr r1, =gText_WinsLosses
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r1, [r5]
@@ -2631,7 +2631,7 @@ sub_80C3DF0: @ 80C3DF0
ldrb r0, [r2, 0x10]
cmp r0, 0
beq _080C3E0A
- ldr r1, =gUnknown_085ED010
+ ldr r1, =gText_PokemonTrades
ldr r0, =0x00000237
adds r2, r0
ldr r3, =gUnknown_0856FB0F
@@ -2685,7 +2685,7 @@ sub_80C3E58: @ 80C3E58
ldr r0, [r0]
cmp r0, 0
beq _080C3E80
- ldr r1, =gUnknown_085ED036
+ ldr r1, =gText_BerryCrush
ldr r0, =0x000002c3
adds r2, r0
ldr r3, =gUnknown_0856FB0F
@@ -2738,7 +2738,7 @@ sub_80C3ED4: @ 80C3ED4
ldr r0, [r0]
cmp r0, 0
beq _080C3EFC
- ldr r1, =gUnknown_085ED01F
+ ldr r1, =gText_UnionTradesAndBattles
ldr r0, =0x0000034f
adds r2, r0
ldr r3, =gUnknown_0856FB0F
@@ -2773,7 +2773,7 @@ sub_80C3F14: @ 80C3F14
ldr r0, [r4]
ldr r1, =0x00000395
adds r0, r1
- ldr r1, =gUnknown_085ED096
+ ldr r1, =gText_Var1DarkGreyShadowLightGrey
bl StringExpandPlaceholders
_080C3F46:
pop {r4}
@@ -2797,7 +2797,7 @@ sub_80C3F64: @ 80C3F64
ldrh r0, [r0]
cmp r0, 0
beq _080C3F8C
- ldr r1, =gUnknown_085ED085
+ ldr r1, =gText_PokeblocksWithFriends
ldr r0, =0x00000395
adds r2, r0
ldr r3, =gUnknown_0856FB0F
@@ -2852,7 +2852,7 @@ sub_80C3FE0: @ 80C3FE0
ldrh r0, [r0]
cmp r0, 0
beq _080C4008
- ldr r1, =gUnknown_085ED09F
+ ldr r1, =gText_WonContestsWFriends
ldr r0, =0x000003db
adds r2, r0
ldr r3, =gUnknown_0856FB0F
@@ -2902,7 +2902,7 @@ _080C4044:
ldr r0, [r4]
ldr r1, =0x00000421
adds r0, r1
- ldr r1, =gUnknown_085ED0E0
+ ldr r1, =gText_WSlashStraightSlash
bl StringExpandPlaceholders
b _080C40B6
.pool
@@ -2920,7 +2920,7 @@ _080C4094:
ldr r0, [r4]
ldr r1, =0x00000421
adds r0, r1
- ldr r1, =gUnknown_085ED0C8
+ ldr r1, =gText_Var1DarkLightGreyBP
bl StringExpandPlaceholders
_080C40B6:
pop {r4}
@@ -2949,7 +2949,7 @@ _080C40F0:
ldrb r0, [r2, 0xD]
cmp r0, 0
beq _080C412C
- ldr r1, =gUnknown_085ED0D3
+ ldr r1, =gText_BattleTower
ldr r0, =0x00000421
adds r2, r0
ldr r3, =gUnknown_0856FB0C
@@ -2963,7 +2963,7 @@ _080C4114:
ldrh r0, [r0]
cmp r0, 0
beq _080C412C
- ldr r1, =gUnknown_085ED0B6
+ ldr r1, =gText_BattlePtsWon
ldr r0, =0x00000421
adds r2, r0
ldr r3, =gUnknown_0856FB0F
@@ -6346,7 +6346,7 @@ _080C5DC2:
lsrs r4, r0, 24
cmp r4, 0x4
bls _080C5DC2
- ldr r4, =gUnknown_085ED8FF
+ ldr r4, =gText_SymbolsEarned
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x60
@@ -6362,7 +6362,7 @@ _080C5DC2:
movs r1, 0x1
movs r3, 0x5
bl box_print
- ldr r4, =gUnknown_085ED90E
+ ldr r4, =gText_BattleRecord
movs r0, 0x1
adds r1, r4, 0
movs r2, 0x60
@@ -6380,7 +6380,7 @@ _080C5DC2:
str r6, [sp]
mov r0, r8
str r0, [sp, 0x4]
- ldr r0, =gUnknown_085ED91C
+ ldr r0, =gText_BattlePoints
str r0, [sp, 0x8]
movs r0, 0x2
movs r1, 0x8
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
index d725b9f15..d57ad1815 100644
--- a/asm/trainer_see.s
+++ b/asm/trainer_see.s
@@ -734,7 +734,7 @@ sub_80B417C: @ 80B417C
push {r4,r5,lr}
adds r5, r1, 0
adds r4, r2, 0
- ldr r1, =gUnknown_02038C08
+ ldr r1, =gFieldEffectSpawnParams
adds r2, r1, 0x4
adds r3, r1, 0
adds r3, 0x8
@@ -882,7 +882,7 @@ _080B427A:
bl sub_808F23C
adds r0, r5, 0
bl sub_808F208
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -901,7 +901,7 @@ _080B427A:
beq _080B4308
_080B42D2:
bl sub_808BCE8
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r0, [r0, 0x5]
lsls r4, r0, 3
adds r4, r0
@@ -936,7 +936,7 @@ sub_80B4318: @ 80B4318
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, =gUnknown_02037590
+ ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -1050,7 +1050,7 @@ sub_80B43E0: @ 80B43E0
lsls r0, 24
cmp r0, 0
beq _080B4426
- ldr r2, =gUnknown_02038C08
+ ldr r2, =gFieldEffectSpawnParams
movs r1, 0x10
ldrsh r0, [r4, r1]
str r0, [r2]
diff --git a/asm/truck_scene.s b/asm/truck_scene.s
deleted file mode 100644
index bc3388cb6..000000000
--- a/asm/truck_scene.s
+++ /dev/null
@@ -1,589 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FB0B0
-sub_80FB0B0: @ 80FB0B0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x78
- bl __modsi3
- cmp r0, 0
- bne _080FB0C4
- movs r0, 0x1
- negs r0, r0
- b _080FB0D6
-_080FB0C4:
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- cmp r0, 0x4
- ble _080FB0D4
- movs r0, 0
- b _080FB0D6
-_080FB0D4:
- movs r0, 0x1
-_080FB0D6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB0B0
-
- thumb_func_start sub_80FB0DC
-sub_80FB0DC: @ 80FB0DC
- push {lr}
- adds r0, 0x78
- movs r1, 0xB4
- bl __modsi3
- cmp r0, 0
- beq _080FB0EE
- movs r0, 0
- b _080FB0F2
-_080FB0EE:
- movs r0, 0x1
- negs r0, r0
-_080FB0F2:
- pop {r1}
- bx r1
- thumb_func_end sub_80FB0DC
-
- thumb_func_start sub_80FB0F8
-sub_80FB0F8: @ 80FB0F8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r0, 0x1E
- bl sub_80FB0DC
- ldr r4, =gSaveBlock1Ptr
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- lsls r0, 18
- movs r3, 0xC0
- lsls r3, 10
- orrs r0, r3
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x1
- movs r3, 0x3
- bl sub_808E82C
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl sub_80FB0DC
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- lsls r0, 17
- ldr r3, =0xfffd0000
- adds r0, r3
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x2
- movs r3, 0
- bl sub_808E82C
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_80FB0DC
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- movs r4, 0
- movs r3, 0x3
- negs r3, r3
- lsls r0, 18
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- bl sub_808E82C
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- ldr r1, =0x75300000
- cmp r0, r1
- bne _080FB180
- strh r4, [r5]
-_080FB180:
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl sub_80FB0B0
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl SetCameraPanning
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB0F8
-
- thumb_func_start sub_80FB1AC
-sub_80FB1AC: @ 80FB1AC
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r3, r0, 3
- ldr r4, =gTasks + 0x8
- adds r7, r3, r4
- ldrh r1, [r7]
- adds r1, 0x1
- strh r1, [r7]
- ldrh r0, [r7, 0x4]
- adds r0, 0x1
- strh r0, [r7, 0x4]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x5
- ble _080FB1DC
- movs r0, 0
- strh r0, [r7]
- ldrh r0, [r7, 0x2]
- adds r0, 0x1
- strh r0, [r7, 0x2]
-_080FB1DC:
- ldrh r0, [r7, 0x2]
- cmp r0, 0x13
- bne _080FB1F0
- adds r0, r2, 0
- bl DestroyTask
- b _080FB2A8
- .pool
-_080FB1F0:
- ldr r2, =gUnknown_0858E898
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- bne _080FB20C
- adds r0, r4, 0
- subs r0, 0x8
- adds r0, r3, r0
- ldr r1, =sub_80FB2C0
- str r1, [r0]
-_080FB20C:
- movs r4, 0x2
- ldrsh r0, [r7, r4]
- adds r0, r2
- movs r5, 0
- ldrsb r5, [r0, r5]
- lsls r5, 16
- lsrs r5, 16
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_80FB0B0
- adds r1, r0, 0
- lsls r5, 16
- asrs r5, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- bl SetCameraPanning
- movs r4, 0x4
- ldrsh r0, [r7, r4]
- adds r0, 0x1E
- bl sub_80FB0DC
- ldr r6, =gSaveBlock1Ptr
- ldr r2, [r6]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- movs r3, 0x3
- subs r3, r5
- lsls r3, 16
- asrs r3, 16
- lsls r0, 18
- movs r4, 0xC0
- lsls r4, 10
- orrs r0, r4
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x1
- bl sub_808E82C
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_80FB0DC
- ldr r2, [r6]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- negs r3, r5
- lsls r3, 16
- asrs r3, 16
- lsls r0, 17
- ldr r4, =0xfffd0000
- adds r0, r4
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x2
- bl sub_808E82C
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_80FB0DC
- ldr r2, [r6]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- movs r4, 0x3
- negs r4, r4
- adds r3, r4, 0
- subs r3, r5
- lsls r3, 16
- asrs r3, 16
- lsls r0, 18
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- bl sub_808E82C
-_080FB2A8:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB1AC
-
- thumb_func_start sub_80FB2C0
-sub_80FB2C0: @ 80FB2C0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080FB2F0
- movs r0, 0
- strh r0, [r2]
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- strh r0, [r2, 0x2]
-_080FB2F0:
- ldrh r0, [r2, 0x2]
- cmp r0, 0x13
- bne _080FB304
- adds r0, r3, 0
- bl DestroyTask
- b _080FB358
- .pool
-_080FB304:
- ldr r1, =gUnknown_0858E898
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- adds r0, r1
- movs r1, 0
- mov r8, r1
- movs r6, 0
- ldrsb r6, [r0, r6]
- adds r0, r6, 0
- bl SetCameraPanning
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r3, 0x3
- subs r3, r6
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- bl sub_808E82C
- ldr r0, [r5]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- negs r3, r6
- mov r4, r8
- subs r4, 0x3
- str r4, [sp]
- movs r0, 0x2
- bl sub_808E82C
- ldr r0, [r5]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- subs r4, r6
- mov r3, r8
- str r3, [sp]
- movs r0, 0x3
- adds r3, r4, 0
- bl sub_808E82C
-_080FB358:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB2C0
-
- thumb_func_start sub_80FB36C
-sub_80FB36C: @ 80FB36C
- 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, 0x5
- bls _080FB386
- b _080FB4D8
-_080FB386:
- lsls r0, 2
- ldr r1, =_080FB398
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FB398:
- .4byte _080FB3B0
- .4byte _080FB3E8
- .4byte _080FB404
- .4byte _080FB450
- .4byte _080FB474
- .4byte _080FB492
-_080FB3B0:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- beq _080FB3C0
- b _080FB4D8
-_080FB3C0:
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r0, =sub_80FB0F8
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- movs r0, 0x1
- strh r0, [r4]
- movs r0, 0x31
- bl PlaySE
- b _080FB4D8
- .pool
-_080FB3E8:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x96
- bne _080FB4D8
- bl pal_fill_black
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r4]
- b _080FB4D8
-_080FB404:
- ldrh r0, [r4, 0x2]
- adds r3, r0, 0x1
- strh r3, [r4, 0x2]
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080FB4D8
- lsls r1, r3, 16
- movs r0, 0x96
- lsls r0, 17
- cmp r1, r0
- ble _080FB4D8
- strh r2, [r4, 0x2]
- ldrb r0, [r4, 0x4]
- bl DestroyTask
- ldr r0, =sub_80FB1AC
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x6]
- movs r0, 0x3
- strh r0, [r4]
- movs r0, 0x32
- bl PlaySE
- b _080FB4D8
- .pool
-_080FB450:
- ldr r2, =gTasks
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r5, [r0, 0x4]
- cmp r5, 0
- bne _080FB4D8
- bl InstallCameraPanAheadCallback
- strh r5, [r4, 0x2]
- movs r0, 0x4
- strh r0, [r4]
- b _080FB4D8
- .pool
-_080FB474:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- bne _080FB4D8
- movs r0, 0x33
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x5
- strh r0, [r4]
- b _080FB4D8
-_080FB492:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bne _080FB4D8
- movs r2, 0x82
- lsls r2, 2
- movs r0, 0xB
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- movs r2, 0x84
- lsls r2, 2
- movs r0, 0xB
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- movs r2, 0x86
- lsls r2, 2
- movs r0, 0xB
- movs r1, 0xA
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- movs r0, 0x34
- bl PlaySE
- adds r0, r5, 0
- bl DestroyTask
- bl ScriptContext2_Disable
-_080FB4D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB36C
-
- thumb_func_start sub_80FB4E0
-sub_80FB4E0: @ 80FB4E0
- push {lr}
- sub sp, 0x4
- ldr r2, =0x0000020d
- movs r0, 0xB
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, =0x00000215
- movs r0, 0xB
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- ldr r2, =0x0000021d
- movs r0, 0xB
- movs r1, 0xA
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- bl ScriptContext2_Enable
- movs r0, 0
- str r0, [sp]
- ldr r1, =gPlttBufferFaded
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuFastSet
- ldr r0, =sub_80FB36C
- movs r1, 0xA
- bl CreateTask
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB4E0
-
- thumb_func_start sub_80FB540
-sub_80FB540: @ 80FB540
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, =sub_80FB36C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _080FB58A
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- movs r3, 0x3
- bl sub_808E82C
- ldr r0, [r4]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r5, 0x3
- negs r5, r5
- str r5, [sp]
- movs r0, 0x2
- movs r3, 0
- bl sub_808E82C
- ldr r0, [r4]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- str r6, [sp]
- movs r0, 0x3
- adds r3, r5, 0
- bl sub_808E82C
-_080FB58A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB540
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/tv.s b/asm/tv.s
index 2ebdfc0a1..d61392fa1 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -7530,7 +7530,7 @@ sub_80EFDDC: @ 80EFDDC
mov r1, r10
adds r2, r5, 0
adds r3, r4, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
add sp, 0x8
pop {r3-r5}
mov r8, r3
@@ -7604,7 +7604,7 @@ sub_80EFEC4: @ 80EFEC4
mov r1, r8
adds r2, r5, 0
adds r3, r4, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
add sp, 0x8
pop {r3}
mov r8, r3
@@ -7811,7 +7811,7 @@ GetMomOrDadStringForTVMessage: @ 80F00A4
cmp r0, 0
bne _080F0104
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD08
+ ldr r1, =gText_Mom
bl StringCopy
ldr r0, =0x00004003
movs r1, 0x1
@@ -7824,7 +7824,7 @@ _080F00EC:
cmp r0, 0x2
bne _080F0104
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD08
+ ldr r1, =gText_Mom
bl StringCopy
ldr r0, =0x00004003
movs r1, 0x1
@@ -7859,13 +7859,13 @@ _080F0104:
bne _080F0158
_080F0142:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD08
+ ldr r1, =gText_Mom
bl StringCopy
b _080F01A8
.pool
_080F0158:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD04
+ ldr r1, =gText_Dad
bl StringCopy
b _080F01A8
.pool
@@ -7878,7 +7878,7 @@ _080F016C:
cmp r0, 0
beq _080F0198
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD08
+ ldr r1, =gText_Mom
bl StringCopy
adds r0, r4, 0
movs r1, 0x1
@@ -7887,7 +7887,7 @@ _080F016C:
.pool
_080F0198:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAD04
+ ldr r1, =gText_Dad
bl StringCopy
adds r0, r4, 0
movs r1, 0x2
@@ -10790,13 +10790,13 @@ _080F1A40:
cmp r0, 0x32
bne _080F1A58
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAEB1
+ ldr r1, =gText_Lv50
bl StringCopy
b _080F1A60
.pool
_080F1A58:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EAEB8
+ ldr r1, =gText_OpenLevel
bl StringCopy
_080F1A60:
ldrh r1, [r4, 0x16]
@@ -12536,31 +12536,31 @@ _080F2C08:
.4byte _080F2C6C
_080F2C1C:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB0E8
+ ldr r1, =gText_Cool
bl StringCopy
b _080F2C74
.pool
_080F2C30:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB0ED
+ ldr r1, =gText_Beauty
bl StringCopy
b _080F2C74
.pool
_080F2C44:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB0F4
+ ldr r1, =gText_Cute
bl StringCopy
b _080F2C74
.pool
_080F2C58:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB0F9
+ ldr r1, =gText_Smart
bl StringCopy
b _080F2C74
.pool
_080F2C6C:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085EB0FF
+ ldr r1, =gText_Tough
bl StringCopy
_080F2C74:
ldr r0, =gStringVar2
@@ -13154,13 +13154,13 @@ _080F31CA:
cmp r0, 0
bne _080F3200
ldr r0, =gStringVar3
- ldr r1, =gUnknown_085ECB64
+ ldr r1, =gText_Single
bl StringCopy
b _080F3208
.pool
_080F3200:
ldr r0, =gStringVar3
- ldr r1, =gUnknown_085ECB6B
+ ldr r1, =gText_Double
bl StringCopy
_080F3208:
ldr r1, =gUnknown_0203A030
@@ -13369,38 +13369,38 @@ _080F3430:
.4byte _080F3494
_080F3444:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB48
+ ldr r1, =gText_Spicy2
bl StringCopy
b _080F349C
.pool
_080F3458:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB4E
+ ldr r1, =gText_Dry2
bl StringCopy
b _080F349C
.pool
_080F346C:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB52
+ ldr r1, =gText_Sweet2
bl StringCopy
b _080F349C
.pool
_080F3480:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB58
+ ldr r1, =gText_Bitter2
bl StringCopy
b _080F349C
.pool
_080F3494:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB5F
+ ldr r1, =gText_Sour2
bl StringCopy
_080F349C:
ldrb r0, [r4, 0x2]
cmp r0, 0x18
bls _080F34BC
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB2A
+ ldr r1, =gText_Excellent
bl StringCopy
b _080F34DC
.pool
@@ -13408,13 +13408,13 @@ _080F34BC:
cmp r0, 0x16
bls _080F34D4
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB20
+ ldr r1, =gText_VeryGood
bl StringCopy
b _080F34DC
.pool
_080F34D4:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB1B
+ ldr r1, =gText_Good
bl StringCopy
_080F34DC:
ldr r0, =gStringVar3
@@ -13454,38 +13454,38 @@ _080F3524:
.4byte _080F3588
_080F3538:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB48
+ ldr r1, =gText_Spicy2
bl StringCopy
b _080F3590
.pool
_080F354C:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB4E
+ ldr r1, =gText_Dry2
bl StringCopy
b _080F3590
.pool
_080F3560:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB52
+ ldr r1, =gText_Sweet2
bl StringCopy
b _080F3590
.pool
_080F3574:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB58
+ ldr r1, =gText_Bitter2
bl StringCopy
b _080F3590
.pool
_080F3588:
ldr r0, =gStringVar1
- ldr r1, =gUnknown_085ECB5F
+ ldr r1, =gText_Sour2
bl StringCopy
_080F3590:
ldrb r0, [r4, 0x2]
cmp r0, 0x10
bls _080F35B0
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB34
+ ldr r1, =gText_SoSo
bl StringCopy
b _080F35D0
.pool
@@ -13493,13 +13493,13 @@ _080F35B0:
cmp r0, 0xD
bls _080F35C8
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB3A
+ ldr r1, =gText_Bad
bl StringCopy
b _080F35D0
.pool
_080F35C8:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB3E
+ ldr r1, =gText_TheWorst
bl StringCopy
_080F35D0:
ldr r0, =gStringVar3
@@ -14418,13 +14418,13 @@ _080F3ECC:
.pool
_080F3EE8:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB0C
+ ldr r1, =gText_Slots
bl StringCopy
b _080F3F04
.pool
_080F3EFC:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB12
+ ldr r1, =gText_Roulette
bl StringCopy
_080F3F04:
ldrb r1, [r4, 0x2]
@@ -14455,13 +14455,13 @@ _080F3F28:
.pool
_080F3F44:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB0C
+ ldr r1, =gText_Slots
bl StringCopy
b _080F3F60
.pool
_080F3F58:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB12
+ ldr r1, =gText_Roulette
bl StringCopy
_080F3F60:
ldrh r1, [r4, 0x4]
@@ -14485,13 +14485,13 @@ _080F3F78:
.pool
_080F3F94:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB0C
+ ldr r1, =gText_Slots
bl StringCopy
b _080F3FB0
.pool
_080F3FA8:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB12
+ ldr r1, =gText_Roulette
bl StringCopy
_080F3FB0:
ldrh r1, [r4, 0x4]
@@ -14517,13 +14517,13 @@ _080F3FCC:
.pool
_080F3FE8:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB12
+ ldr r1, =gText_Roulette
bl StringCopy
b _080F4004
.pool
_080F3FFC:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB0C
+ ldr r1, =gText_Slots
bl StringCopy
_080F4004:
bl TVShowDone
@@ -14911,7 +14911,7 @@ _080F4414:
ldr r0, =gStringVar2
ldrb r1, [r5, 0x4]
lsls r1, 5
- ldr r2, =gUnknown_085A5C09
+ ldr r2, =gDecorations + 1
adds r1, r2
bl StringCopy
ldrb r0, [r5, 0x3]
@@ -14932,7 +14932,7 @@ _080F4448:
ldr r0, =gStringVar2
ldrb r1, [r5, 0x5]
lsls r1, 5
- ldr r2, =gUnknown_085A5C09
+ ldr r2, =gDecorations + 1
adds r1, r2
bl StringCopy
ldrb r1, [r5, 0x3]
@@ -14970,7 +14970,7 @@ _080F449C:
ldr r0, =gStringVar2
ldrb r1, [r5, 0x6]
lsls r1, 5
- ldr r4, =gUnknown_085A5C09
+ ldr r4, =gDecorations + 1
adds r1, r4
bl StringCopy
ldr r0, =gStringVar3
@@ -14983,7 +14983,7 @@ _080F44C0:
ldr r0, =gStringVar2
ldrb r1, [r5, 0x6]
lsls r1, 5
- ldr r2, =gUnknown_085A5C09
+ ldr r2, =gDecorations + 1
adds r1, r2
_080F44CA:
bl StringCopy
@@ -15097,7 +15097,7 @@ DoTVShowPokemonLotterWinnerFlashReport: @ 80F45A0
cmp r0, 0
bne _080F45FC
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB72
+ ldr r1, =gText_Jackpot
bl StringCopy
b _080F4634
.pool
@@ -15105,7 +15105,7 @@ _080F45FC:
cmp r0, 0x1
bne _080F4614
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB7A
+ ldr r1, =gText_First
bl StringCopy
b _080F4634
.pool
@@ -15113,13 +15113,13 @@ _080F4614:
cmp r0, 0x2
bne _080F462C
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB80
+ ldr r1, =gText_Second
bl StringCopy
b _080F4634
.pool
_080F462C:
ldr r0, =gStringVar2
- ldr r1, =gUnknown_085ECB87
+ ldr r1, =gText_Third
bl StringCopy
_080F4634:
ldr r4, =gStringVar3
diff --git a/asm/unk_text_util_2.s b/asm/unk_text_util_2.s
deleted file mode 100755
index 7f1a5ef70..000000000
--- a/asm/unk_text_util_2.s
+++ /dev/null
@@ -1,583 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start Font6Func
-@ int Font6Func(struct TextPrinter *x)
-Font6Func: @ 81BA250
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r6, 0
- adds r4, 0x14
- ldrb r0, [r6, 0x1C]
- cmp r0, 0x6
- bls _081BA260
- b _081BA660
-_081BA260:
- lsls r0, 2
- ldr r1, =_081BA270
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BA270:
- .4byte _081BA28C
- .4byte _081BA554
- .4byte _081BA566
- .4byte _081BA590
- .4byte _081BA5C8
- .4byte _081BA63C
- .4byte _081BA64E
-_081BA28C:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081BA2A6
- ldrb r1, [r4]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081BA2A6
- movs r0, 0
- strb r0, [r6, 0x1E]
-_081BA2A6:
- ldrb r1, [r6, 0x1E]
- cmp r1, 0
- beq _081BA2E8
- ldrb r0, [r6, 0x1D]
- cmp r0, 0
- beq _081BA2E8
- subs r0, r1, 0x1
- strb r0, [r6, 0x1E]
- ldr r0, =gTextFlags
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081BA2C4
- b _081BA50E
-_081BA2C4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081BA2D0
- b _081BA50E
-_081BA2D0:
- ldrb r0, [r4]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0
- strb r0, [r6, 0x1E]
- b _081BA50E
- .pool
-_081BA2E8:
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081BA2FC
- movs r0, 0x3
- b _081BA2FE
- .pool
-_081BA2FC:
- ldrb r0, [r6, 0x1D]
-_081BA2FE:
- strb r0, [r6, 0x1E]
- ldr r0, [r6]
- ldrb r3, [r0]
- adds r0, 0x1
- str r0, [r6]
- adds r0, r3, 0
- subs r0, 0xF8
- cmp r0, 0x7
- bls _081BA312
- b _081BA52E
-_081BA312:
- lsls r0, 2
- ldr r1, =_081BA320
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BA320:
- .4byte _081BA524
- .4byte _081BA512
- .4byte _081BA504
- .4byte _081BA500
- .4byte _081BA36E
- .4byte _081BA368
- .4byte _081BA340
- .4byte _081BA660
-_081BA340:
- ldrb r0, [r6, 0x6]
- strb r0, [r6, 0x8]
- ldrb r1, [r6, 0x5]
- ldr r0, =gFonts
- ldr r2, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r6, 0xB]
- ldrb r0, [r0, 0x5]
- adds r1, r0
- ldrb r0, [r6, 0x9]
- adds r0, r1
- strb r0, [r6, 0x9]
-_081BA35E:
- movs r0, 0x2
- b _081BA662
- .pool
-_081BA368:
- ldr r0, [r6]
- adds r0, 0x1
- b _081BA4C4
-_081BA36E:
- ldr r0, [r6]
- ldrb r3, [r0]
- adds r0, 0x1
- str r0, [r6]
- subs r0, r3, 0x1
- cmp r0, 0xF
- bls _081BA37E
- b _081BA52E
-_081BA37E:
- lsls r0, 2
- ldr r1, =_081BA38C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BA38C:
- .4byte _081BA3CC
- .4byte _081BA3EE
- .4byte _081BA412
- .4byte _081BA42C
- .4byte _081BA478
- .4byte _081BA47E
- .4byte _081BA35E
- .4byte _081BA498
- .4byte _081BA4A8
- .4byte _081BA4BC
- .4byte _081BA4C0
- .4byte _081BA4C8
- .4byte _081BA4D2
- .4byte _081BA4DE
- .4byte _081BA4EE
- .4byte _081BA4C0
-_081BA3CC:
- ldr r2, [r6]
- ldrb r1, [r2]
- lsls r1, 4
- ldrb r3, [r6, 0xC]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r1
- strb r0, [r6, 0xC]
- adds r2, 0x1
- str r2, [r6]
- lsls r0, 24
- lsrs r0, 28
- ldrb r2, [r6, 0xD]
- lsls r1, r2, 28
- lsrs r1, 28
- lsrs r2, 4
- b _081BA472
-_081BA3EE:
- ldr r1, [r6]
- ldrb r2, [r1]
- movs r0, 0xF
- ands r0, r2
- ldrb r3, [r6, 0xD]
- movs r2, 0x10
- negs r2, r2
- ands r2, r3
- orrs r2, r0
- strb r2, [r6, 0xD]
- adds r1, 0x1
- str r1, [r6]
- ldrb r0, [r6, 0xC]
- lsrs r0, 4
- lsls r1, r2, 28
- lsrs r1, 28
- lsrs r2, 4
- b _081BA472
-_081BA412:
- ldr r1, [r6]
- ldrb r0, [r1]
- lsls r0, 4
- ldrb r3, [r6, 0xD]
- movs r2, 0xF
- ands r2, r3
- orrs r2, r0
- strb r2, [r6, 0xD]
- adds r1, 0x1
- str r1, [r6]
- ldrb r0, [r6, 0xC]
- lsrs r0, 4
- b _081BA46A
-_081BA42C:
- ldr r3, [r6]
- ldrb r1, [r3]
- lsls r1, 4
- ldrb r4, [r6, 0xC]
- movs r2, 0xF
- adds r0, r2, 0
- ands r0, r4
- orrs r0, r1
- strb r0, [r6, 0xC]
- adds r5, r3, 0x1
- str r5, [r6]
- ldrb r3, [r3, 0x1]
- adds r1, r2, 0
- ands r1, r3
- ldrb r4, [r6, 0xD]
- movs r3, 0x10
- negs r3, r3
- ands r3, r4
- orrs r3, r1
- strb r3, [r6, 0xD]
- adds r4, r5, 0x1
- str r4, [r6]
- ldrb r1, [r5, 0x1]
- lsls r1, 4
- ands r2, r3
- orrs r2, r1
- strb r2, [r6, 0xD]
- adds r4, 0x1
- str r4, [r6]
- lsls r0, 24
- lsrs r0, 28
-_081BA46A:
- lsls r1, r2, 28
- lsrs r1, 28
- lsls r2, 24
- lsrs r2, 28
-_081BA472:
- bl GenerateFontHalfRowLookupTable
- b _081BA35E
-_081BA478:
- ldr r0, [r6]
- adds r0, 0x1
- b _081BA4C4
-_081BA47E:
- ldr r0, [r6]
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- ldrb r2, [r4]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldr r0, [r6]
- adds r0, 0x1
- b _081BA4C4
-_081BA498:
- ldr r0, [r6]
- ldrb r1, [r0]
- strb r1, [r6, 0x1E]
- adds r0, 0x1
- str r0, [r6]
- movs r0, 0x6
- strb r0, [r6, 0x1C]
- b _081BA35E
-_081BA4A8:
- movs r0, 0x1
- strb r0, [r6, 0x1C]
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081BA50E
- movs r0, 0
- strb r0, [r4, 0x2]
- b _081BA50E
-_081BA4BC:
- movs r0, 0x5
- b _081BA64A
-_081BA4C0:
- ldr r0, [r6]
- adds r0, 0x2
-_081BA4C4:
- str r0, [r6]
- b _081BA35E
-_081BA4C8:
- ldr r1, [r6]
- adds r0, r1, 0x1
- str r0, [r6]
- ldrb r3, [r1, 0x1]
- b _081BA52E
-_081BA4D2:
- ldr r1, [r6]
- ldrb r0, [r1]
- ldrb r2, [r6, 0x6]
- adds r0, r2
- strb r0, [r6, 0x8]
- b _081BA4E8
-_081BA4DE:
- ldr r1, [r6]
- ldrb r0, [r1]
- ldrb r2, [r6, 0x7]
- adds r0, r2
- strb r0, [r6, 0x9]
-_081BA4E8:
- adds r1, 0x1
- str r1, [r6]
- b _081BA35E
-_081BA4EE:
- ldrb r0, [r6, 0x4]
- ldrb r2, [r6, 0xD]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- bl FillWindowPixelBuffer
- b _081BA35E
-_081BA500:
- movs r0, 0x2
- b _081BA506
-_081BA504:
- movs r0, 0x3
-_081BA506:
- strb r0, [r6, 0x1C]
- adds r0, r6, 0
- bl TextPrinterInitDownArrowCounters
-_081BA50E:
- movs r0, 0x3
- b _081BA662
-_081BA512:
- ldr r0, [r6]
- ldrb r3, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r3, r1
- adds r0, 0x1
- str r0, [r6]
- b _081BA52E
-_081BA524:
- ldr r0, [r6]
- adds r0, 0x1
- str r0, [r6]
- movs r0, 0
- b _081BA662
-_081BA52E:
- adds r0, r3, 0
- bl DecompressGlyphFont6
- adds r0, r6, 0
- bl CopyGlyphToWindow
- ldr r0, =gUnknown_03002F90
- adds r0, 0x80
- ldrb r1, [r6, 0xA]
- ldrb r0, [r0]
- adds r1, r0
- ldrb r0, [r6, 0x8]
- adds r0, r1
- strb r0, [r6, 0x8]
- movs r0, 0
- b _081BA662
- .pool
-_081BA554:
- adds r0, r6, 0
- bl TextPrinterWait
- lsls r0, 16
- cmp r0, 0
- beq _081BA50E
- movs r0, 0
- strb r0, [r6, 0x1C]
- b _081BA50E
-_081BA566:
- adds r0, r6, 0
- bl TextPrinterWaitWithDownArrow
- lsls r0, 16
- cmp r0, 0
- beq _081BA50E
- ldrb r0, [r6, 0x4]
- ldrb r2, [r6, 0xD]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0x6]
- movs r1, 0
- strb r0, [r6, 0x8]
- ldrb r0, [r6, 0x7]
- strb r0, [r6, 0x9]
- strb r1, [r6, 0x1C]
- b _081BA50E
-_081BA590:
- adds r0, r6, 0
- bl TextPrinterWaitWithDownArrow
- lsls r0, 16
- cmp r0, 0
- beq _081BA50E
- adds r0, r6, 0
- bl TextPrinterClearDownArrow
- ldrb r1, [r6, 0x5]
- ldr r0, =gFonts
- ldr r2, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r6, 0xB]
- ldrb r0, [r0, 0x5]
- adds r1, r0
- strb r1, [r6, 0x1F]
- ldrb r0, [r6, 0x6]
- strb r0, [r6, 0x8]
- movs r0, 0x4
- strb r0, [r6, 0x1C]
- b _081BA50E
- .pool
-_081BA5C8:
- ldrb r2, [r6, 0x1F]
- cmp r2, 0
- beq _081BA638
- ldr r4, =gUnknown_08616124
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldrb r0, [r0, 0x14]
- lsls r1, r0, 29
- lsrs r0, r1, 29
- adds r0, r4
- ldrb r0, [r0]
- cmp r2, r0
- bcs _081BA604
- ldrb r0, [r6, 0x4]
- ldrb r1, [r6, 0xD]
- lsls r1, 28
- lsrs r3, r1, 4
- orrs r3, r1
- lsrs r3, 24
- movs r1, 0
- bl ScrollWindow
- movs r0, 0
- strb r0, [r6, 0x1F]
- b _081BA62E
- .pool
-_081BA604:
- ldrb r0, [r6, 0x4]
- lsrs r1, 29
- adds r1, r4
- ldrb r2, [r1]
- ldrb r1, [r6, 0xD]
- lsls r1, 28
- lsrs r3, r1, 4
- orrs r3, r1
- lsrs r3, 24
- movs r1, 0
- bl ScrollWindow
- ldr r0, [r5]
- ldrb r0, [r0, 0x14]
- lsls r0, 29
- lsrs r0, 29
- adds r0, r4
- ldrb r1, [r6, 0x1F]
- ldrb r0, [r0]
- subs r1, r0
- strb r1, [r6, 0x1F]
-_081BA62E:
- ldrb r0, [r6, 0x4]
- movs r1, 0x2
- bl CopyWindowToVram
- b _081BA50E
-_081BA638:
- strb r2, [r6, 0x1C]
- b _081BA50E
-_081BA63C:
- bl IsSEPlaying
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081BA64A
- b _081BA50E
-_081BA64A:
- strb r0, [r6, 0x1C]
- b _081BA50E
-_081BA64E:
- ldrb r0, [r6, 0x1E]
- adds r1, r0, 0
- cmp r1, 0
- beq _081BA65C
- subs r0, 0x1
- strb r0, [r6, 0x1E]
- b _081BA50E
-_081BA65C:
- strb r1, [r6, 0x1C]
- b _081BA50E
-_081BA660:
- movs r0, 0x1
-_081BA662:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end Font6Func
-
- thumb_func_start DecompressGlyphFont6
-DecompressGlyphFont6: @ 81BA668
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r2, r0, 19
- lsls r2, 9
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 11
- ldr r0, =gFont6BrailleGlyphs
- adds r1, r0
- adds r5, r2, r1
- ldr r4, =gUnknown_03002F90
- adds r0, r5, 0
- adds r1, r4, 0
- bl DecompressGlyphTile
- adds r0, r5, 0
- adds r0, 0x10
- adds r1, r4, 0
- adds r1, 0x20
- bl DecompressGlyphTile
- movs r1, 0x80
- lsls r1, 1
- adds r0, r5, r1
- adds r1, r4, 0
- adds r1, 0x40
- bl DecompressGlyphTile
- movs r1, 0x88
- lsls r1, 1
- adds r0, r5, r1
- adds r1, r4, 0
- adds r1, 0x60
- bl DecompressGlyphTile
- adds r0, r4, 0
- adds r0, 0x80
- movs r1, 0x10
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DecompressGlyphFont6
-
- thumb_func_start GetGlyphWidthFont6
-GetGlyphWidthFont6: @ 81BA6CC
- movs r0, 0x10
- bx lr
- thumb_func_end GetGlyphWidthFont6
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unknown_task.s b/asm/unknown_task.s
index e3526c809..99a614e37 100644
--- a/asm/unknown_task.s
+++ b/asm/unknown_task.s
@@ -275,23 +275,23 @@ _080BA21C:
b _080BA24E
.pool
_080BA224:
- ldr r0, =gUnknown_02022E18
+ ldr r0, =gBattle_BG1_X
b _080BA24E
.pool
_080BA22C:
- ldr r0, =gUnknown_02022E1A
+ ldr r0, =gBattle_BG1_Y
b _080BA24E
.pool
_080BA234:
- ldr r0, =gUnknown_02022E1C
+ ldr r0, =gBattle_BG2_X
b _080BA24E
.pool
_080BA23C:
- ldr r0, =gUnknown_02022E1E
+ ldr r0, =gBattle_BG2_Y
b _080BA24E
.pool
_080BA244:
- ldr r0, =gUnknown_02022E20
+ ldr r0, =gBattle_BG3_X
b _080BA24E
.pool
_080BA24C:
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index 67441ee8b..20d23a878 100755
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -1196,7 +1196,7 @@ sub_8166D44: @ 8166D44
bl GetMonData
add r0, sp, 0xC
bl StringGetEnd10
- ldr r1, =gUnknown_085EC7A0
+ ldr r1, =gText_GetsAPokeBlockQuestion
add r0, sp, 0xC
bl StringAppend
ldr r4, =gStringVar4
@@ -1426,7 +1426,7 @@ sub_8166F50: @ 8166F50
movs r1, 0x97
movs r2, 0xE
bl sub_8098858
- ldr r2, =gUnknown_085EC800
+ ldr r2, =gText_WontEatAnymore
movs r0, 0x1
str r0, [sp]
movs r0, 0
@@ -1503,13 +1503,13 @@ _08166FEC:
ldr r1, [r0]
adds r0, r4, 0
bl StringCopy
- ldr r1, =gUnknown_085EC7E1
+ ldr r1, =gText_WasEnhanced
adds r0, r4, 0
bl StringAppend
b _08167018
.pool
_08167010:
- ldr r1, =gUnknown_085EC7EF
+ ldr r1, =gText_NothingChanged
adds r0, r4, 0
bl StringCopy
_08167018:
@@ -2895,7 +2895,7 @@ sub_8167BA0: @ 8167BA0
ldr r0, [r7]
ldr r6, =0x0000804a
adds r0, r6
- ldr r1, =gUnknown_085EBF8D
+ ldr r1, =gText_NatureSlash
bl StringCopy
ldr r1, =gNatureNamePointers
lsls r4, 2
diff --git a/asm/walda_phrase.s b/asm/walda_phrase.s
index 2f1f7da60..be754f386 100755
--- a/asm/walda_phrase.s
+++ b/asm/walda_phrase.s
@@ -22,7 +22,7 @@ walda_maybe: @ 81D99E4
adds r1, r4, 0
movs r2, 0
movs r3, 0
- bl do_choose_name_or_words_screen
+ bl DoNamingScreen
add sp, 0x8
pop {r4}
pop {r0}
@@ -53,7 +53,7 @@ _081D9A44:
bl sub_80D2578
cmp r0, 0
beq _081D9A5C
- ldr r0, =gUnknown_085EE49A
+ ldr r0, =gText_Peekaboo
bl sub_80D255C
b _081D9A68
.pool
@@ -70,7 +70,7 @@ _081D9A68:
adds r1, r0, 0
adds r0, r4, 0
bl StringCopy
- ldr r1, =gUnknown_03005DAC
+ ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
ldr r0, =c2_exit_to_overworld_2_switch
diff --git a/asm/wallclock.s b/asm/wallclock.s
index 0d6f05a23..f8cc87fe8 100644
--- a/asm/wallclock.s
+++ b/asm/wallclock.s
@@ -353,7 +353,7 @@ Cb2_StartWallClock: @ 81349F4
movs r0, 0x5A
strh r0, [r1, 0x30]
bl sub_813498C
- ldr r2, =gUnknown_085EFAE0
+ ldr r2, =gText_Confirm3
movs r0, 0x1
str r0, [sp]
mov r1, r8
@@ -500,7 +500,7 @@ _08134BA4:
ldrh r0, [r0, 0xC]
strh r0, [r1, 0x30]
bl sub_813498C
- ldr r2, =gUnknown_085EFAE8
+ ldr r2, =gText_Cancel4
movs r0, 0x1
str r0, [sp]
mov r1, r9
@@ -683,7 +683,7 @@ sub_8134DC4: @ 8134DC4
adds r2, r5, 0
movs r3, 0xD
bl SetWindowBorderStyle
- ldr r2, =gUnknown_085EFAC6
+ ldr r2, =gText_IsThisTheCorrectTime
movs r0, 0x1
str r0, [sp]
movs r0, 0
diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s
index 2c628a5e4..9b6c901f6 100644
--- a/asm/wild_encounter.s
+++ b/asm/wild_encounter.s
@@ -68,7 +68,7 @@ _080B4920:
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8089660
+ bl MetatileBehavior_IsSurfableAndNotWaterfall
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1424,7 +1424,7 @@ _080B539C:
lsls r0, r6, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl sub_808952C
+ bl MetatileBehavior_IsLandWildEncounter
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1498,7 +1498,7 @@ _080B5418:
.pool
_080B543C:
adds r0, r4, 0
- bl sub_8089558
+ bl MetatileBehavior_IsWaterWildEncounter
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1509,7 +1509,7 @@ _080B543C:
cmp r0, 0
beq _080B54FE
adds r0, r4, 0
- bl sub_80894AC
+ bl MetatileBehavior_IsBridge
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1726,7 +1726,7 @@ _080B562C:
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_808952C
+ bl MetatileBehavior_IsLandWildEncounter
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1769,7 +1769,7 @@ _080B568C:
bl MapGridGetMetatileBehaviorAt
lsls r0, 24
lsrs r0, 24
- bl sub_8089558
+ bl MetatileBehavior_IsWaterWildEncounter
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1