summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_1.s26
-rw-r--r--asm/battle_7.s78
-rw-r--r--asm/battle_anim_80A5C6C.s (renamed from asm/rom_80A5C6C.s)8
-rw-r--r--asm/battle_anim_80A9C70.s2
-rw-r--r--asm/battle_anim_80FE840.s6
-rw-r--r--asm/battle_controller_linkopponent.s401
-rw-r--r--asm/battle_controller_linkpartner.s38
-rw-r--r--asm/battle_controller_opponent.s424
-rw-r--r--asm/battle_controller_player.s10419
-rw-r--r--asm/battle_controller_player_partner.s6347
-rw-r--r--asm/battle_controller_recorded_opponent.s62
-rw-r--r--asm/battle_controller_recorded_player.s6144
-rw-r--r--asm/battle_controller_safari.s1412
-rw-r--r--asm/battle_controller_wally.s414
-rwxr-xr-xasm/battle_frontier_1.s12
-rwxr-xr-xasm/battle_frontier_2.s20
-rw-r--r--asm/battle_link_817C95C.s103
-rwxr-xr-xasm/battle_tower.s6
-rw-r--r--asm/battle_transition.s2
-rw-r--r--asm/evolution_scene.s44
-rwxr-xr-xasm/item_menu.s6
-rwxr-xr-xasm/party_menu.s4
-rwxr-xr-xasm/pokeball.s6
-rw-r--r--asm/pokedex.s2
-rw-r--r--asm/pokemon_animation.s94
-rwxr-xr-xasm/pokemon_summary_screen.s2
-rw-r--r--asm/recorded_battle.s10
-rw-r--r--asm/rom6.s2
28 files changed, 853 insertions, 25241 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
index 9a981e222..9665b0d11 100644
--- a/asm/battle_1.s
+++ b/asm/battle_1.s
@@ -1888,7 +1888,7 @@ sub_8035C4C: @ 8035C4C
bne _08035C68
ldr r0, =gText_Draw
movs r1, 0x15
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
b _08035D68
.pool
_08035C68:
@@ -1964,10 +1964,10 @@ _08035CE2:
_08035CFC:
ldr r0, =gText_Win
movs r1, 0x17
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Loss
movs r1, 0x16
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
b _08035D68
.pool
_08035D20:
@@ -1985,19 +1985,19 @@ _08035D20:
_08035D36:
ldr r0, =gText_Win
movs r1, 0x16
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Loss
movs r1, 0x17
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
b _08035D68
.pool
_08035D58:
ldr r0, =gText_Win
movs r1, 0x17
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Loss
movs r1, 0x16
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
_08035D68:
pop {r0}
bx r0
@@ -2068,14 +2068,14 @@ _08035DDC:
_08035DE6:
adds r0, r1, 0
movs r1, 0x11
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldrb r1, [r4, 0x18]
movs r0, 0x4
b _08035E14
_08035DF4:
adds r0, r1, 0
movs r1, 0x12
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldrb r1, [r4, 0x18]
movs r0, 0x4
str r0, [sp]
@@ -2085,7 +2085,7 @@ _08035DF4:
_08035E08:
adds r0, r1, 0
movs r1, 0x13
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldrb r1, [r4, 0x18]
movs r0, 0x8
_08035E14:
@@ -2099,7 +2099,7 @@ _08035E1A:
_08035E22:
adds r0, r1, 0
movs r1, 0x14
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
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 sub_814F9EC
+ bl BattleHandleAddTextPrinter
lsls r0, r6, 3
subs r0, r6
lsls r0, 2
adds r1, r0, r4
adds r0, r1, 0
movs r1, 0x10
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
movs r4, 0x7
str r4, [sp]
adds r0, r7, 0
diff --git a/asm/battle_7.s b/asm/battle_7.s
index ea6fc40b3..d86c68dfc 100644
--- a/asm/battle_7.s
+++ b/asm/battle_7.s
@@ -67,8 +67,8 @@ _0805D192:
.pool
thumb_func_end FreeBattleSpritesData
- thumb_func_start sub_805D19C
-sub_805D19C: @ 805D19C
+ thumb_func_start ChooseMoveAndTargetInBattlePalace
+ChooseMoveAndTargetInBattlePalace: @ 805D19C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -448,7 +448,7 @@ _0805D496:
pop {r1}
bx r1
.pool
- thumb_func_end sub_805D19C
+ thumb_func_end ChooseMoveAndTargetInBattlePalace
thumb_func_start sub_805D4A8
sub_805D4A8: @ 805D4A8
@@ -834,8 +834,8 @@ _0805D800:
.pool
thumb_func_end sub_805D7EC
- thumb_func_start move_anim_start_t2_for_situation
-move_anim_start_t2_for_situation: @ 805D808
+ thumb_func_start DoStatusAnimation
+DoStatusAnimation: @ 805D808
push {r4-r6,lr}
adds r4, r1, 0
lsls r0, 24
@@ -962,10 +962,10 @@ _0805D902:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end move_anim_start_t2_for_situation
+ thumb_func_end DoStatusAnimation
- thumb_func_start move_anim_start_t3
-move_anim_start_t3: @ 805D908
+ thumb_func_start DoBattleAnimationFromTable
+DoBattleAnimationFromTable: @ 805D908
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1070,7 +1070,7 @@ _0805D9CC:
ldr r0, =gUnknown_082C9320
adds r1, r5, 0
movs r2, 0
- bl DoBattleAnim
+ bl LaunchBattleAnimation
ldr r0, =task0A_0803415C
movs r1, 0xA
bl CreateTask
@@ -1105,7 +1105,7 @@ _0805DA1E:
pop {r1}
bx r1
.pool
- thumb_func_end move_anim_start_t3
+ thumb_func_end DoBattleAnimationFromTable
thumb_func_start task0A_0803415C
task0A_0803415C: @ 805DA48
@@ -1172,8 +1172,8 @@ _0805DABE:
bx r1
thumb_func_end sub_805DAA0
- thumb_func_start move_anim_start_t4
-move_anim_start_t4: @ 805DAC4
+ thumb_func_start DoSpecialBattleAnimation
+DoSpecialBattleAnimation: @ 805DAC4
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -1187,7 +1187,7 @@ move_anim_start_t4: @ 805DAC4
ldr r0, =gUnknown_082C937C
adds r1, r3, 0
movs r2, 0
- bl DoBattleAnim
+ bl LaunchBattleAnimation
ldr r0, =task0A_08034248
movs r1, 0xA
bl CreateTask
@@ -1216,7 +1216,7 @@ move_anim_start_t4: @ 805DAC4
pop {r0}
bx r0
.pool
- thumb_func_end move_anim_start_t4
+ thumb_func_end DoSpecialBattleAnimation
thumb_func_start task0A_08034248
task0A_08034248: @ 805DB34
@@ -1258,11 +1258,11 @@ _0805DB76:
.pool
thumb_func_end task0A_08034248
- thumb_func_start sub_805DB8C
-sub_805DB8C: @ 805DB8C
+ thumb_func_start IsMoveWithoutAnimation
+IsMoveWithoutAnimation: @ 805DB8C
movs r0, 0
bx lr
- thumb_func_end sub_805DB8C
+ thumb_func_end IsMoveWithoutAnimation
thumb_func_start mplay_80342A4
mplay_80342A4: @ 805DB90
@@ -1357,7 +1357,7 @@ BattleLoadOpponentMonSpriteGfx: @ 805DC0C
.pool
_0805DC50:
ldrh r5, [r2, 0x2]
- ldr r0, =gUnknown_020244BC
+ ldr r0, =gTransformedPersonalities
adds r0, r1, r0
ldr r6, [r0]
_0805DC58:
@@ -1510,7 +1510,7 @@ BattleLoadPlayerMonSpriteGfx: @ 805DD7C
.pool
_0805DDC0:
ldrh r5, [r2, 0x2]
- ldr r0, =gUnknown_020244BC
+ ldr r0, =gTransformedPersonalities
adds r0, r1, r0
ldr r4, [r0]
_0805DDC8:
@@ -1670,8 +1670,8 @@ nullsub_24: @ 805DF34
bx lr
thumb_func_end nullsub_24
- thumb_func_start sub_805DF38
-sub_805DF38: @ 805DF38
+ thumb_func_start DecompressTrainerFrontPic
+DecompressTrainerFrontPic: @ 805DF38
push {r4,lr}
adds r4, r0, 0
adds r0, r1, 0
@@ -1701,10 +1701,10 @@ sub_805DF38: @ 805DF38
pop {r0}
bx r0
.pool
- thumb_func_end sub_805DF38
+ thumb_func_end DecompressTrainerFrontPic
- thumb_func_start LoadBackTrainerBankSpriteGfx
-LoadBackTrainerBankSpriteGfx: @ 805DF84
+ thumb_func_start DecompressTrainerBackPic
+DecompressTrainerBackPic: @ 805DF84
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -1742,15 +1742,15 @@ LoadBackTrainerBankSpriteGfx: @ 805DF84
pop {r0}
bx r0
.pool
- thumb_func_end LoadBackTrainerBankSpriteGfx
+ thumb_func_end DecompressTrainerBackPic
thumb_func_start nullsub_25
nullsub_25: @ 805DFE0
bx lr
thumb_func_end nullsub_25
- thumb_func_start sub_805DFE4
-sub_805DFE4: @ 805DFE4
+ thumb_func_start FreeTrainerFrontPicPalette
+FreeTrainerFrontPicPalette: @ 805DFE4
push {lr}
lsls r0, 16
ldr r1, =gTrainerFrontPicPaletteTable
@@ -1761,7 +1761,7 @@ sub_805DFE4: @ 805DFE4
pop {r0}
bx r0
.pool
- thumb_func_end sub_805DFE4
+ thumb_func_end FreeTrainerFrontPicPalette
thumb_func_start sub_805DFFC
sub_805DFFC: @ 805DFFC
@@ -2229,8 +2229,8 @@ _0805E3EA:
.pool
thumb_func_end sub_805E394
- thumb_func_start sub_805E408
-sub_805E408: @ 805E408
+ thumb_func_start SetBattleSpriteInvisibilityBitToSpriteInvisibility
+SetBattleSpriteInvisibilityBitToSpriteInvisibility: @ 805E408
lsls r0, 24
lsrs r0, 24
ldr r1, =gBattleSpritesDataPtr
@@ -2258,7 +2258,7 @@ sub_805E408: @ 805E408
strb r0, [r3]
bx lr
.pool
- thumb_func_end sub_805E408
+ thumb_func_end SetBattleSpriteInvisibilityBitToSpriteInvisibility
thumb_func_start sub_805E448
sub_805E448: @ 805E448
@@ -2441,7 +2441,7 @@ _0805E59C:
adds r1, 0x4
adds r1, r2
ldr r1, [r1]
- ldr r3, =gUnknown_020244BC
+ ldr r3, =gTransformedPersonalities
lsls r2, r7, 2
adds r2, r3
ldr r3, [r2]
@@ -2479,7 +2479,7 @@ _0805E618:
adds r1, 0x4
adds r1, r2
ldr r1, [r1]
- ldr r3, =gUnknown_020244BC
+ ldr r3, =gTransformedPersonalities
lsls r2, r7, 2
adds r2, r3
ldr r3, [r2]
@@ -2795,8 +2795,8 @@ _0805E93E:
bx r0
thumb_func_end refresh_graphics_maybe
- thumb_func_start sub_805E94C
-sub_805E94C: @ 805E94C
+ thumb_func_start TrySetBehindSubstituteSpriteBit
+TrySetBehindSubstituteSpriteBit: @ 805E94C
push {lr}
lsls r0, 24
lsrs r2, r0, 24
@@ -2817,7 +2817,7 @@ _0805E96C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_805E94C
+ thumb_func_end TrySetBehindSubstituteSpriteBit
thumb_func_start sub_805E974
sub_805E974: @ 805E974
@@ -3572,8 +3572,8 @@ _0805EF6A:
.pool
thumb_func_end sub_805EF14
- thumb_func_start sub_805EF84
-sub_805EF84: @ 805EF84
+ thumb_func_start ClearTemporarySpeciesSpriteData
+ClearTemporarySpeciesSpriteData: @ 805EF84
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -3598,7 +3598,7 @@ _0805EFAC:
pop {r0}
bx r0
.pool
- thumb_func_end sub_805EF84
+ thumb_func_end ClearTemporarySpeciesSpriteData
thumb_func_start AllocateMonSpritesGfx
AllocateMonSpritesGfx: @ 805EFBC
diff --git a/asm/rom_80A5C6C.s b/asm/battle_anim_80A5C6C.s
index bf273ac53..fa05e36ce 100644
--- a/asm/rom_80A5C6C.s
+++ b/asm/battle_anim_80A5C6C.s
@@ -217,7 +217,7 @@ _080A5E04:
b _080A5E42
.pool
_080A5E3C:
- ldr r0, =gUnknown_020244BC
+ ldr r0, =gTransformedPersonalities
adds r0, r1, r0
ldr r2, [r0]
_080A5E42:
@@ -307,7 +307,7 @@ _080A5EC8:
b _080A5F0A
.pool
_080A5F04:
- ldr r0, =gUnknown_020244BC
+ ldr r0, =gTransformedPersonalities
adds r0, r1, r0
ldr r2, [r0]
_080A5F0A:
@@ -5522,7 +5522,7 @@ _080A86C4:
.pool
_080A871C:
ldrh r7, [r1, 0x2]
- ldr r0, =gUnknown_020244BC
+ ldr r0, =gTransformedPersonalities
adds r0, r2, r0
ldr r2, [r0]
_080A8724:
@@ -5612,7 +5612,7 @@ _080A8790:
.pool
_080A87DC:
ldrh r7, [r1, 0x2]
- ldr r0, =gUnknown_020244BC
+ ldr r0, =gTransformedPersonalities
adds r0, r2, r0
ldr r2, [r0]
_080A87E4:
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s
index 9b2939673..681802e12 100644
--- a/asm/battle_anim_80A9C70.s
+++ b/asm/battle_anim_80A9C70.s
@@ -869,7 +869,7 @@ move_anim_start_t2: @ 80AA364
strb r4, [r0]
ldr r0, =gUnknown_082C92FC
movs r2, 0
- bl DoBattleAnim
+ bl LaunchBattleAnimation
ldr r0, =task0A_80788BC
movs r1, 0xA
bl CreateTask
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
index dc927cacc..315f884cf 100644
--- a/asm/battle_anim_80FE840.s
+++ b/asm/battle_anim_80FE840.s
@@ -50443,8 +50443,8 @@ _081181CA:
bx r1
thumb_func_end sub_8118140
- thumb_func_start battle_intro_launch
-battle_intro_launch: @ 81181D4
+ thumb_func_start HandleIntroSlide
+HandleIntroSlide: @ 81181D4
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -50521,7 +50521,7 @@ _08118258:
pop {r0}
bx r0
.pool
- thumb_func_end battle_intro_launch
+ thumb_func_end HandleIntroSlide
thumb_func_start sub_811828C
sub_811828C: @ 811828C
diff --git a/asm/battle_controller_linkopponent.s b/asm/battle_controller_linkopponent.s
index d4e248d8c..f719ab59d 100644
--- a/asm/battle_controller_linkopponent.s
+++ b/asm/battle_controller_linkopponent.s
@@ -6,23 +6,6 @@
.text
- thumb_func_start nullsub_28
-nullsub_28: @ 8064390
- bx lr
- thumb_func_end nullsub_28
-
- thumb_func_start SetBankFuncToLinkOpponentBufferRunCommand
-SetBankFuncToLinkOpponentBufferRunCommand: @ 8064394
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =LinkOpponentBufferRunCommand
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToLinkOpponentBufferRunCommand
thumb_func_start LinkOpponentBufferRunCommand
LinkOpponentBufferRunCommand: @ 80643B0
@@ -130,7 +113,7 @@ sub_8064470: @ 8064470
bne _080644C2
adds r0, r2, r5
ldrh r0, [r0, 0x6]
- bl sub_805DFE4
+ bl FreeTrainerFrontPicPalette
ldrb r0, [r4]
adds r0, r6
ldrb r1, [r0]
@@ -1180,7 +1163,7 @@ sub_8064D60: @ 8064D60
adds r1, r3, 0
adds r2, r3, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08064DA0:
ldr r0, =gBattleBankFunc
ldrb r1, [r4]
@@ -1329,7 +1312,7 @@ sub_8064E50: @ 8064E50
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
ldrb r0, [r5]
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -1525,8 +1508,8 @@ _080650CE:
.pool
thumb_func_end LinkOpponentBufferExecCompleted
- thumb_func_start dp01t_00_2_getattr
-dp01t_00_2_getattr: @ 80650E0
+ thumb_func_start LinkOpponentHandleGetMonData
+LinkOpponentHandleGetMonData: @ 80650E0
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
@@ -1578,7 +1561,7 @@ _0806513A:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end dp01t_00_2_getattr
+ thumb_func_end LinkOpponentHandleGetMonData
thumb_func_start dp01_getattr_by_ch1_for_opponent_pokemon
dp01_getattr_by_ch1_for_opponent_pokemon: @ 8065154
@@ -2458,16 +2441,16 @@ _080658EA:
.pool
thumb_func_end dp01_getattr_by_ch1_for_opponent_pokemon
- thumb_func_start sub_8065900
-sub_8065900: @ 8065900
+ thumb_func_start LinkOpponentHandleGetRawMonData
+LinkOpponentHandleGetRawMonData: @ 8065900
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8065900
+ thumb_func_end LinkOpponentHandleGetRawMonData
- thumb_func_start sub_806590C
-sub_806590C: @ 806590C
+ thumb_func_start LinkOpponentHandleSetMonData
+LinkOpponentHandleSetMonData: @ 806590C
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -2507,7 +2490,7 @@ _0806595A:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_806590C
+ thumb_func_end LinkOpponentHandleSetMonData
thumb_func_start sub_8065964
sub_8065964: @ 8065964
@@ -3494,8 +3477,8 @@ _08066270:
.pool
thumb_func_end sub_8065964
- thumb_func_start sub_8066284
-sub_8066284: @ 8066284
+ thumb_func_start LinkOpponentHandleSetRawMonData
+LinkOpponentHandleSetRawMonData: @ 8066284
push {r4-r7,lr}
ldr r1, =gBattlePartyID
ldr r7, =gActiveBank
@@ -3547,10 +3530,10 @@ _080662DC:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066284
+ thumb_func_end LinkOpponentHandleSetRawMonData
- thumb_func_start sub_80662F8
-sub_80662F8: @ 80662F8
+ thumb_func_start LinkOpponentHandleLoadMonSprite
+LinkOpponentHandleLoadMonSprite: @ 80662F8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -3688,10 +3671,10 @@ sub_80662F8: @ 80662F8
pop {r0}
bx r0
.pool
- thumb_func_end sub_80662F8
+ thumb_func_end LinkOpponentHandleLoadMonSprite
- thumb_func_start sub_8066448
-sub_8066448: @ 8066448
+ thumb_func_start LinkOpponentHandleSwitchInAnim
+LinkOpponentHandleSwitchInAnim: @ 8066448
push {r4,lr}
ldr r1, =gBattlePartyID
ldr r4, =gActiveBank
@@ -3720,7 +3703,7 @@ sub_8066448: @ 8066448
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066448
+ thumb_func_end LinkOpponentHandleSwitchInAnim
thumb_func_start sub_8066494
sub_8066494: @ 8066494
@@ -3735,7 +3718,7 @@ sub_8066494: @ 8066494
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
- bl sub_805EF84
+ bl ClearTemporarySpeciesSpriteData
ldr r0, =gBattlePartyID
lsls r4, r6, 1
adds r4, r0
@@ -3895,8 +3878,8 @@ sub_8066494: @ 8066494
.pool
thumb_func_end sub_8066494
- thumb_func_start sub_8066624
-sub_8066624: @ 8066624
+ thumb_func_start LinkOpponentHandleReturnMonToBall
+LinkOpponentHandleReturnMonToBall: @ 8066624
push {r4-r6,lr}
ldr r1, =gBattleBufferA
ldr r6, =gActiveBank
@@ -3954,7 +3937,7 @@ _080666A8:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066624
+ thumb_func_end LinkOpponentHandleReturnMonToBall
thumb_func_start sub_80666BC
sub_80666BC: @ 80666BC
@@ -3987,7 +3970,7 @@ _080666E4:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_080666FE:
ldr r0, [r6]
ldrb r1, [r5]
@@ -4012,7 +3995,7 @@ _08066712:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x2
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -4026,8 +4009,8 @@ _0806673A:
.pool
thumb_func_end sub_80666BC
- thumb_func_start sub_8066748
-sub_8066748: @ 8066748
+ thumb_func_start LinkOpponentHandleDrawTrainerPic
+LinkOpponentHandleDrawTrainerPic: @ 8066748
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -4064,7 +4047,7 @@ _08066794:
ldr r0, =gTrainerBattleOpponent_B
_08066796:
ldrh r0, [r0]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
lsls r0, 24
lsrs r0, 24
b _0806694C
@@ -4265,7 +4248,7 @@ _0806693A:
lsls r1, 2
adds r1, r6
ldrb r0, [r1, 0x13]
- bl sub_806F000
+ bl PlayerGenderToFrontTrainerPicId
_08066948:
lsls r0, 16
lsrs r0, 16
@@ -4273,7 +4256,7 @@ _0806694C:
mov r8, r0
ldr r5, =gActiveBank
ldrb r1, [r5]
- bl sub_805DF38
+ bl DecompressTrainerFrontPic
ldrb r0, [r5]
bl GetBankIdentity
adds r1, r0, 0
@@ -4378,10 +4361,10 @@ _0806694C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066748
+ thumb_func_end LinkOpponentHandleDrawTrainerPic
- thumb_func_start sub_8066A58
-sub_8066A58: @ 8066A58
+ thumb_func_start LinkOpponentHandleTrainerSlide
+LinkOpponentHandleTrainerSlide: @ 8066A58
push {r4-r6,lr}
mov r6, r8
push {r6}
@@ -4396,13 +4379,13 @@ _08066A74:
ldr r0, =gTrainerBattleOpponent_B
_08066A76:
ldrh r0, [r0]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r6, =gActiveBank
ldrb r1, [r6]
- bl sub_805DF38
+ bl DecompressTrainerFrontPic
ldrb r0, [r6]
bl GetBankIdentity
adds r1, r0, 0
@@ -4510,10 +4493,10 @@ _08066A76:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066A58
+ thumb_func_end LinkOpponentHandleTrainerSlide
- thumb_func_start sub_8066B94
-sub_8066B94: @ 8066B94
+ thumb_func_start LinkOpponentHandleTrainerSlideBack
+LinkOpponentHandleTrainerSlideBack: @ 8066B94
push {r4-r6,lr}
ldr r6, =gBankSpriteIds
ldr r4, =gActiveBank
@@ -4584,10 +4567,10 @@ sub_8066B94: @ 8066B94
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066B94
+ thumb_func_end LinkOpponentHandleTrainerSlideBack
- thumb_func_start sub_8066C40
-sub_8066C40: @ 8066C40
+ thumb_func_start LinkOpponentHandleFaintAnimation
+LinkOpponentHandleFaintAnimation: @ 8066C40
push {r4-r6,lr}
ldr r6, =gBattleSpritesDataPtr
ldr r4, [r6]
@@ -4612,7 +4595,7 @@ sub_8066C40: @ 8066C40
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08066C74:
ldr r0, [r6]
ldrb r1, [r5]
@@ -4661,42 +4644,42 @@ _08066CD0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066C40
+ thumb_func_end LinkOpponentHandleFaintAnimation
- thumb_func_start sub_8066CEC
-sub_8066CEC: @ 8066CEC
+ thumb_func_start LinkOpponentHandleCmd11
+LinkOpponentHandleCmd11: @ 8066CEC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8066CEC
+ thumb_func_end LinkOpponentHandleCmd11
- thumb_func_start sub_8066CF8
-sub_8066CF8: @ 8066CF8
+ thumb_func_start LinkOpponentHandleCmd12
+LinkOpponentHandleCmd12: @ 8066CF8
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8066CF8
+ thumb_func_end LinkOpponentHandleCmd12
- thumb_func_start sub_8066D04
-sub_8066D04: @ 8066D04
+ thumb_func_start LinkOpponentHandleBallThrow
+LinkOpponentHandleBallThrow: @ 8066D04
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8066D04
+ thumb_func_end LinkOpponentHandleBallThrow
- thumb_func_start sub_8066D10
-sub_8066D10: @ 8066D10
+ thumb_func_start LinkOpponentHandlePause
+LinkOpponentHandlePause: @ 8066D10
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8066D10
+ thumb_func_end LinkOpponentHandlePause
- thumb_func_start sub_8066D1C
-sub_8066D1C: @ 8066D1C
+ thumb_func_start LinkOpponentHandleMoveAnimation
+LinkOpponentHandleMoveAnimation: @ 8066D1C
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -4798,7 +4781,7 @@ _08066D32:
adds r0, 0x10
adds r1, r0
str r1, [r7]
- ldr r2, =gUnknown_020244BC
+ ldr r2, =gTransformedPersonalities
ldrb r0, [r5]
lsls r0, 2
adds r0, r2
@@ -4807,7 +4790,7 @@ _08066D32:
mov r0, r8
ldrb r1, [r0]
adds r0, r6, 0
- bl sub_805DB8C
+ bl IsMoveWithoutAnimation
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0
@@ -4842,7 +4825,7 @@ _08066E58:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066D1C
+ thumb_func_end LinkOpponentHandleMoveAnimation
thumb_func_start sub_8066E70
sub_8066E70: @ 8066E70
@@ -4907,7 +4890,7 @@ _08066ED2:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08066EF4:
ldr r0, [r7]
ldrb r1, [r6]
@@ -4965,7 +4948,7 @@ _08066F32:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r0, [r7]
ldrb r1, [r6]
ldr r0, [r0]
@@ -5008,7 +4991,7 @@ _08066FA8:
ldrb r2, [r2]
lsls r2, 8
orrs r1, r2
- bl sub_805E94C
+ bl TrySetBehindSubstituteSpriteBit
ldr r0, [r7]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -5028,8 +5011,8 @@ _08066FE4:
bx r0
thumb_func_end sub_8066E70
- thumb_func_start sub_8066FF4
-sub_8066FF4: @ 8066FF4
+ thumb_func_start LinkOpponentHandlePrintString
+LinkOpponentHandlePrintString: @ 8066FF4
push {r4,r5,lr}
ldr r0, =gBattle_BG0_X
movs r1, 0
@@ -5045,7 +5028,7 @@ sub_8066FF4: @ 8066FF4
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -5058,66 +5041,66 @@ sub_8066FF4: @ 8066FF4
pop {r0}
bx r0
.pool
- thumb_func_end sub_8066FF4
+ thumb_func_end LinkOpponentHandlePrintString
- thumb_func_start sub_806704C
-sub_806704C: @ 806704C
+ thumb_func_start LinkOpponentHandlePrintStringPlayerOnly
+LinkOpponentHandlePrintStringPlayerOnly: @ 806704C
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_806704C
+ thumb_func_end LinkOpponentHandlePrintStringPlayerOnly
- thumb_func_start sub_8067058
-sub_8067058: @ 8067058
+ thumb_func_start LinkOpponentHandleChooseAction
+LinkOpponentHandleChooseAction: @ 8067058
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067058
+ thumb_func_end LinkOpponentHandleChooseAction
- thumb_func_start sub_8067064
-sub_8067064: @ 8067064
+ thumb_func_start LinkOpponentHandleCmd19
+LinkOpponentHandleCmd19: @ 8067064
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067064
+ thumb_func_end LinkOpponentHandleCmd19
- thumb_func_start sub_8067070
-sub_8067070: @ 8067070
+ thumb_func_start LinkOpponentHandleChooseMove
+LinkOpponentHandleChooseMove: @ 8067070
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067070
+ thumb_func_end LinkOpponentHandleChooseMove
- thumb_func_start sub_806707C
-sub_806707C: @ 806707C
+ thumb_func_start LinkOpponentHandleOpenBag
+LinkOpponentHandleOpenBag: @ 806707C
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_806707C
+ thumb_func_end LinkOpponentHandleOpenBag
- thumb_func_start sub_8067088
-sub_8067088: @ 8067088
+ thumb_func_start LinkOpponentHandleChoosePokemon
+LinkOpponentHandleChoosePokemon: @ 8067088
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067088
+ thumb_func_end LinkOpponentHandleChoosePokemon
- thumb_func_start sub_8067094
-sub_8067094: @ 8067094
+ thumb_func_start LinkOpponentHandleCmd23
+LinkOpponentHandleCmd23: @ 8067094
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067094
+ thumb_func_end LinkOpponentHandleCmd23
- thumb_func_start sub_80670A0
-sub_80670A0: @ 80670A0
+ thumb_func_start LinkOpponentHandleHealthBarUpdate
+LinkOpponentHandleHealthBarUpdate: @ 80670A0
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -5210,18 +5193,18 @@ _0806715A:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80670A0
+ thumb_func_end LinkOpponentHandleHealthBarUpdate
- thumb_func_start sub_8067190
-sub_8067190: @ 8067190
+ thumb_func_start LinkOpponentHandleExpUpdate
+LinkOpponentHandleExpUpdate: @ 8067190
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067190
+ thumb_func_end LinkOpponentHandleExpUpdate
- thumb_func_start sub_806719C
-sub_806719C: @ 806719C
+ thumb_func_start LinkOpponentHandleStatusIconUpdate
+LinkOpponentHandleStatusIconUpdate: @ 806719C
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@@ -5267,10 +5250,10 @@ _080671F0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_806719C
+ thumb_func_end LinkOpponentHandleStatusIconUpdate
- thumb_func_start sub_8067214
-sub_8067214: @ 8067214
+ thumb_func_start LinkOpponentHandleStatusAnimation
+LinkOpponentHandleStatusAnimation: @ 8067214
push {r4,r5,lr}
ldr r5, =gActiveBank
ldrb r0, [r5]
@@ -5302,7 +5285,7 @@ sub_8067214: @ 8067214
ldrb r2, [r3]
lsls r2, 24
orrs r1, r2
- bl move_anim_start_t2_for_situation
+ bl DoStatusAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -5314,82 +5297,82 @@ _08067264:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067214
+ thumb_func_end LinkOpponentHandleStatusAnimation
- thumb_func_start sub_806727C
-sub_806727C: @ 806727C
+ thumb_func_start LinkOpponentHandleStatusXor
+LinkOpponentHandleStatusXor: @ 806727C
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_806727C
+ thumb_func_end LinkOpponentHandleStatusXor
- thumb_func_start sub_8067288
-sub_8067288: @ 8067288
+ thumb_func_start LinkOpponentHandleDataTransfer
+LinkOpponentHandleDataTransfer: @ 8067288
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067288
+ thumb_func_end LinkOpponentHandleDataTransfer
- thumb_func_start sub_8067294
-sub_8067294: @ 8067294
+ thumb_func_start LinkOpponentHandleDMA3Transfer
+LinkOpponentHandleDMA3Transfer: @ 8067294
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8067294
+ thumb_func_end LinkOpponentHandleDMA3Transfer
- thumb_func_start sub_80672A0
-sub_80672A0: @ 80672A0
+ thumb_func_start LinkOpponentHandlePlayBGM
+LinkOpponentHandlePlayBGM: @ 80672A0
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80672A0
+ thumb_func_end LinkOpponentHandlePlayBGM
- thumb_func_start sub_80672AC
-sub_80672AC: @ 80672AC
+ thumb_func_start LinkOpponentHandleCmd32
+LinkOpponentHandleCmd32: @ 80672AC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80672AC
+ thumb_func_end LinkOpponentHandleCmd32
- thumb_func_start sub_80672B8
-sub_80672B8: @ 80672B8
+ thumb_func_start LinkOpponentHandleCmd33
+LinkOpponentHandleCmd33: @ 80672B8
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80672B8
+ thumb_func_end LinkOpponentHandleCmd33
- thumb_func_start sub_80672C4
-sub_80672C4: @ 80672C4
+ thumb_func_start LinkOpponentHandleCmd34
+LinkOpponentHandleCmd34: @ 80672C4
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80672C4
+ thumb_func_end LinkOpponentHandleCmd34
- thumb_func_start sub_80672D0
-sub_80672D0: @ 80672D0
+ thumb_func_start LinkOpponentHandleCmd35
+LinkOpponentHandleCmd35: @ 80672D0
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80672D0
+ thumb_func_end LinkOpponentHandleCmd35
- thumb_func_start sub_80672DC
-sub_80672DC: @ 80672DC
+ thumb_func_start LinkOpponentHandleCmd36
+LinkOpponentHandleCmd36: @ 80672DC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80672DC
+ thumb_func_end LinkOpponentHandleCmd36
- thumb_func_start sub_80672E8
-sub_80672E8: @ 80672E8
+ thumb_func_start LinkOpponentHandleCmd37
+LinkOpponentHandleCmd37: @ 80672E8
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@@ -5401,10 +5384,10 @@ sub_80672E8: @ 80672E8
pop {r0}
bx r0
.pool
- thumb_func_end sub_80672E8
+ thumb_func_end LinkOpponentHandleCmd37
- thumb_func_start sub_8067304
-sub_8067304: @ 8067304
+ thumb_func_start LinkOpponentHandleCmd38
+LinkOpponentHandleCmd38: @ 8067304
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, =gBattleBufferA
@@ -5426,10 +5409,10 @@ sub_8067304: @ 8067304
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067304
+ thumb_func_end LinkOpponentHandleCmd38
- thumb_func_start sub_806733C
-sub_806733C: @ 806733C
+ thumb_func_start LinkOpponentHandleCmd39
+LinkOpponentHandleCmd39: @ 806733C
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@@ -5440,10 +5423,10 @@ sub_806733C: @ 806733C
pop {r0}
bx r0
.pool
- thumb_func_end sub_806733C
+ thumb_func_end LinkOpponentHandleCmd39
- thumb_func_start sub_8067354
-sub_8067354: @ 8067354
+ thumb_func_start LinkOpponentHandleCmd40
+LinkOpponentHandleCmd40: @ 8067354
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, [r3]
@@ -5461,10 +5444,10 @@ sub_8067354: @ 8067354
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067354
+ thumb_func_end LinkOpponentHandleCmd40
- thumb_func_start sub_806737C
-sub_806737C: @ 806737C
+ thumb_func_start LinkOpponentHandleHitAnimation
+LinkOpponentHandleHitAnimation: @ 806737C
push {r4,lr}
ldr r3, =gSprites
ldr r2, =gBankSpriteIds
@@ -5498,7 +5481,7 @@ _080673B0:
movs r1, 0
strh r1, [r0, 0x30]
ldrb r0, [r4]
- bl sub_80769F4
+ bl DoHitAnimHealthboxEffect
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -5510,18 +5493,18 @@ _080673DA:
pop {r0}
bx r0
.pool
- thumb_func_end sub_806737C
+ thumb_func_end LinkOpponentHandleHitAnimation
- thumb_func_start sub_80673EC
-sub_80673EC: @ 80673EC
+ thumb_func_start LinkOpponentHandleCmd42
+LinkOpponentHandleCmd42: @ 80673EC
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80673EC
+ thumb_func_end LinkOpponentHandleCmd42
- thumb_func_start sub_80673F8
-sub_80673F8: @ 80673F8
+ thumb_func_start LinkOpponentHandleEffectivenessSound
+LinkOpponentHandleEffectivenessSound: @ 80673F8
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@@ -5551,10 +5534,10 @@ _0806740C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80673F8
+ thumb_func_end LinkOpponentHandleEffectivenessSound
- thumb_func_start sub_806743C
-sub_806743C: @ 806743C
+ thumb_func_start LinkOpponentHandlePlayFanfareOrBGM
+LinkOpponentHandlePlayFanfareOrBGM: @ 806743C
push {r4,r5,lr}
ldr r4, =gBattleBufferA
ldr r5, =gActiveBank
@@ -5594,10 +5577,10 @@ _0806748C:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_806743C
+ thumb_func_end LinkOpponentHandlePlayFanfareOrBGM
- thumb_func_start sub_8067498
-sub_8067498: @ 8067498
+ thumb_func_start LinkOpponentHandleFaintingCry
+LinkOpponentHandleFaintingCry: @ 8067498
push {lr}
ldr r1, =gBattlePartyID
ldr r0, =gActiveBank
@@ -5620,10 +5603,10 @@ sub_8067498: @ 8067498
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067498
+ thumb_func_end LinkOpponentHandleFaintingCry
- thumb_func_start sub_80674D4
-sub_80674D4: @ 80674D4
+ thumb_func_start LinkOpponentHandleIntroSlide
+LinkOpponentHandleIntroSlide: @ 80674D4
push {lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -5632,7 +5615,7 @@ sub_80674D4: @ 80674D4
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl battle_intro_launch
+ bl HandleIntroSlide
ldr r2, =gUnknown_020243FC
ldrh r0, [r2]
movs r1, 0x1
@@ -5642,10 +5625,10 @@ sub_80674D4: @ 80674D4
pop {r0}
bx r0
.pool
- thumb_func_end sub_80674D4
+ thumb_func_end LinkOpponentHandleIntroSlide
- thumb_func_start sub_8067508
-sub_8067508: @ 8067508
+ thumb_func_start LinkOpponentHandleIntroTrainerBallThrow
+LinkOpponentHandleIntroTrainerBallThrow: @ 8067508
push {r4-r6,lr}
ldr r5, =gBankSpriteIds
ldr r6, =gActiveBank
@@ -5757,7 +5740,7 @@ _080675CA:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067508
+ thumb_func_end LinkOpponentHandleIntroTrainerBallThrow
thumb_func_start c3_08038DC4
c3_08038DC4: @ 8067618
@@ -5862,7 +5845,7 @@ sub_80676FC: @ 80676FC
push {r4,lr}
adds r4, r0, 0
ldrh r0, [r4, 0x6]
- bl sub_805DFE4
+ bl FreeTrainerFrontPicPalette
adds r0, r4, 0
bl FreeSpriteOamMatrix
adds r0, r4, 0
@@ -5872,8 +5855,8 @@ sub_80676FC: @ 80676FC
bx r0
thumb_func_end sub_80676FC
- thumb_func_start sub_8067718
-sub_8067718: @ 8067718
+ thumb_func_start LinkOpponentHandleDrawPartyStatusSummary
+LinkOpponentHandleDrawPartyStatusSummary: @ 8067718
push {r4-r7,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -5995,7 +5978,7 @@ _08067812:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067718
+ thumb_func_end LinkOpponentHandleDrawPartyStatusSummary
thumb_func_start sub_806782C
sub_806782C: @ 806782C
@@ -6033,8 +6016,8 @@ _08067864:
.pool
thumb_func_end sub_806782C
- thumb_func_start sub_8067874
-sub_8067874: @ 8067874
+ thumb_func_start LinkOpponentHandleCmd49
+LinkOpponentHandleCmd49: @ 8067874
push {lr}
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
@@ -6065,18 +6048,18 @@ _080678A6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067874
+ thumb_func_end LinkOpponentHandleCmd49
- thumb_func_start sub_80678C4
-sub_80678C4: @ 80678C4
+ thumb_func_start LinkOpponentHandleCmd50
+LinkOpponentHandleCmd50: @ 80678C4
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80678C4
+ thumb_func_end LinkOpponentHandleCmd50
- thumb_func_start sub_80678D0
-sub_80678D0: @ 80678D0
+ thumb_func_start LinkOpponentHandleSpriteInvisibility
+LinkOpponentHandleSpriteInvisibility: @ 80678D0
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@@ -6109,17 +6092,17 @@ sub_80678D0: @ 80678D0
orrs r0, r1
strb r0, [r2]
ldrb r0, [r4]
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
_08067916:
bl LinkOpponentBufferExecCompleted
pop {r4}
pop {r0}
bx r0
.pool
- thumb_func_end sub_80678D0
+ thumb_func_end LinkOpponentHandleSpriteInvisibility
- thumb_func_start sub_8067930
-sub_8067930: @ 8067930
+ thumb_func_start LinkOpponentHandleBattleAnimation
+LinkOpponentHandleBattleAnimation: @ 8067930
push {r4-r6,lr}
sub sp, 0x4
ldr r5, =gActiveBank
@@ -6146,7 +6129,7 @@ sub_8067930: @ 8067930
adds r0, r2, 0
adds r1, r2, 0
adds r3, r6, 0
- bl move_anim_start_t3
+ bl DoBattleAnimationFromTable
lsls r0, 24
cmp r0, 0
beq _08067980
@@ -6169,10 +6152,10 @@ _08067992:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8067930
+ thumb_func_end LinkOpponentHandleBattleAnimation
- thumb_func_start sub_80679A4
-sub_80679A4: @ 80679A4
+ thumb_func_start LinkOpponentHandleLinkStandbyMsg
+LinkOpponentHandleLinkStandbyMsg: @ 80679A4
push {lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@@ -6184,18 +6167,18 @@ sub_80679A4: @ 80679A4
pop {r0}
bx r0
.pool
- thumb_func_end sub_80679A4
+ thumb_func_end LinkOpponentHandleLinkStandbyMsg
- thumb_func_start sub_80679C4
-sub_80679C4: @ 80679C4
+ thumb_func_start LinkOpponentHandleResetActionMoveSelection
+LinkOpponentHandleResetActionMoveSelection: @ 80679C4
push {lr}
bl LinkOpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80679C4
+ thumb_func_end LinkOpponentHandleResetActionMoveSelection
- thumb_func_start sub_80679D0
-sub_80679D0: @ 80679D0
+ thumb_func_start LinkOpponentHandleCmd55
+LinkOpponentHandleCmd55: @ 80679D0
push {r4,r5,lr}
ldr r5, =gActiveBank
ldrb r0, [r5]
@@ -6255,7 +6238,7 @@ _08067A08:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80679D0
+ thumb_func_end LinkOpponentHandleCmd55
thumb_func_start nullsub_92
nullsub_92: @ 8067A70
diff --git a/asm/battle_controller_linkpartner.s b/asm/battle_controller_linkpartner.s
index adc5cdb84..e8581c396 100644
--- a/asm/battle_controller_linkpartner.s
+++ b/asm/battle_controller_linkpartner.s
@@ -736,7 +736,7 @@ sub_814B4E0: @ 814B4E0
cmp r1, r0
bne _0814B532
adds r0, r3, 0
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
ldr r0, =gBattleSpritesDataPtr
ldr r0, [r0]
ldrb r2, [r4]
@@ -751,7 +751,7 @@ sub_814B4E0: @ 814B4E0
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_0814B526:
ldr r0, =gBattleBankFunc
ldrb r1, [r4]
@@ -3265,7 +3265,7 @@ sub_814CC28: @ 814CC28
adds r6, r4, 0x2
adds r1, r6
ldrb r1, [r1]
- bl sub_805EF84
+ bl ClearTemporarySpeciesSpriteData
ldr r2, =gBattlePartyID
ldrb r0, [r5]
lsls r1, r0, 1
@@ -3314,7 +3314,7 @@ sub_814CC98: @ 814CC98
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
- bl sub_805EF84
+ bl ClearTemporarySpeciesSpriteData
ldr r0, =gBattlePartyID
lsls r2, r6, 1
adds r2, r0
@@ -3554,7 +3554,7 @@ _0814CECC:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_0814CEE6:
ldr r0, [r6]
ldrb r1, [r5]
@@ -3579,7 +3579,7 @@ _0814CEFA:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x1
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -3696,7 +3696,7 @@ _0814D002:
ldr r5, =gActiveBank
ldrb r1, [r5]
adds r0, r4, 0
- bl LoadBackTrainerBankSpriteGfx
+ bl DecompressTrainerBackPic
ldrb r0, [r5]
bl GetBankIdentity
adds r1, r0, 0
@@ -3893,7 +3893,7 @@ sub_814D19C: @ 814D19C
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_0814D1D0:
ldr r0, [r6]
ldrb r1, [r5]
@@ -4107,7 +4107,7 @@ _0814D2CE:
adds r0, 0x10
adds r1, r0
str r1, [r7]
- ldr r2, =gUnknown_020244BC
+ ldr r2, =gTransformedPersonalities
ldrb r0, [r5]
lsls r0, 2
adds r0, r2
@@ -4116,7 +4116,7 @@ _0814D2CE:
mov r0, r8
ldrb r1, [r0]
adds r0, r6, 0
- bl sub_805DB8C
+ bl IsMoveWithoutAnimation
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0
@@ -4216,7 +4216,7 @@ _0814D46E:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_0814D490:
ldr r0, [r7]
ldrb r1, [r6]
@@ -4274,7 +4274,7 @@ _0814D4CE:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r0, [r7]
ldrb r1, [r6]
ldr r0, [r0]
@@ -4317,7 +4317,7 @@ _0814D544:
ldrb r2, [r2]
lsls r2, 8
orrs r1, r2
- bl sub_805E94C
+ bl TrySetBehindSubstituteSpriteBit
ldr r0, [r7]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -4354,7 +4354,7 @@ sub_814D590: @ 814D590
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -4611,7 +4611,7 @@ sub_814D7B0: @ 814D7B0
ldrb r2, [r3]
lsls r2, 24
orrs r1, r2
- bl move_anim_start_t2_for_situation
+ bl DoStatusAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -4807,7 +4807,7 @@ _0814D94C:
movs r1, 0
strh r1, [r0, 0x30]
ldrb r0, [r4]
- bl sub_80769F4
+ bl DoHitAnimHealthboxEffect
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -4942,7 +4942,7 @@ dp01t_2E_4_battle_intro: @ 814DA74
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl battle_intro_launch
+ bl HandleIntroSlide
ldr r2, =gUnknown_020243FC
ldrh r0, [r2]
movs r1, 0x1
@@ -5503,7 +5503,7 @@ sub_814DF40: @ 814DF40
orrs r0, r1
strb r0, [r2]
ldrb r0, [r4]
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
_0814DF86:
bl LinkPartnerBufferExecCompleted
pop {r4}
@@ -5540,7 +5540,7 @@ sub_814DFA0: @ 814DFA0
adds r0, r2, 0
adds r1, r2, 0
adds r3, r6, 0
- bl move_anim_start_t3
+ bl DoBattleAnimationFromTable
lsls r0, 24
cmp r0, 0
beq _0814DFF0
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
index b66e373ca..1fc43b9e9 100644
--- a/asm/battle_controller_opponent.s
+++ b/asm/battle_controller_opponent.s
@@ -5,24 +5,6 @@
.text
-
- thumb_func_start nullsub_26
-nullsub_26: @ 805F160
- bx lr
- thumb_func_end nullsub_26
-
- thumb_func_start SetBankFuncToOpponentBufferRunCommand
-SetBankFuncToOpponentBufferRunCommand: @ 805F164
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =OpponentBufferRunCommand
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToOpponentBufferRunCommand
thumb_func_start OpponentBufferRunCommand
OpponentBufferRunCommand: @ 805F180
@@ -130,7 +112,7 @@ sub_805F240: @ 805F240
bne _0805F292
adds r0, r2, r5
ldrh r0, [r0, 0x6]
- bl sub_805DFE4
+ bl FreeTrainerFrontPicPalette
ldrb r0, [r4]
adds r0, r6
ldrb r1, [r0]
@@ -1274,7 +1256,7 @@ sub_805FC10: @ 805FC10
adds r1, r3, 0
adds r2, r3, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_0805FC50:
ldr r0, =gBattleBankFunc
ldrb r1, [r4]
@@ -1423,7 +1405,7 @@ sub_805FD00: @ 805FD00
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
ldrb r0, [r5]
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -1619,8 +1601,8 @@ _0805FF7E:
.pool
thumb_func_end OpponentBufferExecCompleted
- thumb_func_start dp01t_00_7_getattr
-dp01t_00_7_getattr: @ 805FF90
+ thumb_func_start OpponentHandleGetMonData
+OpponentHandleGetMonData: @ 805FF90
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
@@ -1672,7 +1654,7 @@ _0805FFEA:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end dp01t_00_7_getattr
+ thumb_func_end OpponentHandleGetMonData
thumb_func_start sub_8060004
sub_8060004: @ 8060004
@@ -2552,8 +2534,8 @@ _0806079A:
.pool
thumb_func_end sub_8060004
- thumb_func_start dp01t_01_2_read_pokmon_data_slice
-dp01t_01_2_read_pokmon_data_slice: @ 80607B0
+ thumb_func_start OpponentHandleGetRawMonData
+OpponentHandleGetRawMonData: @ 80607B0
push {r4-r7,lr}
sub sp, 0x58
ldr r2, =gBattlePartyID
@@ -2614,10 +2596,10 @@ _08060806:
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_01_2_read_pokmon_data_slice
+ thumb_func_end OpponentHandleGetRawMonData
- thumb_func_start dp01t_02_7_setattr
-dp01t_02_7_setattr: @ 8060838
+ thumb_func_start OpponentHandleSetMonData
+OpponentHandleSetMonData: @ 8060838
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -2657,7 +2639,7 @@ _08060886:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end dp01t_02_7_setattr
+ thumb_func_end OpponentHandleSetMonData
thumb_func_start sub_8060890
sub_8060890: @ 8060890
@@ -3644,8 +3626,8 @@ _0806119C:
.pool
thumb_func_end sub_8060890
- thumb_func_start sub_80611B0
-sub_80611B0: @ 80611B0
+ thumb_func_start OpponentHandleSetRawMonData
+OpponentHandleSetRawMonData: @ 80611B0
push {r4-r7,lr}
ldr r1, =gBattlePartyID
ldr r7, =gActiveBank
@@ -3697,10 +3679,10 @@ _08061208:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80611B0
+ thumb_func_end OpponentHandleSetRawMonData
- thumb_func_start sub_8061224
-sub_8061224: @ 8061224
+ thumb_func_start OpponentHandleLoadMonSprite
+OpponentHandleLoadMonSprite: @ 8061224
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -3843,10 +3825,10 @@ sub_8061224: @ 8061224
pop {r0}
bx r0
.pool
- thumb_func_end sub_8061224
+ thumb_func_end OpponentHandleLoadMonSprite
- thumb_func_start sub_806137C
-sub_806137C: @ 806137C
+ thumb_func_start OpponentHandleSwitchInAnim
+OpponentHandleSwitchInAnim: @ 806137C
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@@ -3882,7 +3864,7 @@ sub_806137C: @ 806137C
pop {r0}
bx r0
.pool
- thumb_func_end sub_806137C
+ thumb_func_end OpponentHandleSwitchInAnim
thumb_func_start sub_80613DC
sub_80613DC: @ 80613DC
@@ -3897,7 +3879,7 @@ sub_80613DC: @ 80613DC
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
- bl sub_805EF84
+ bl ClearTemporarySpeciesSpriteData
ldr r0, =gBattlePartyID
lsls r4, r6, 1
adds r4, r0
@@ -4057,8 +4039,8 @@ sub_80613DC: @ 80613DC
.pool
thumb_func_end sub_80613DC
- thumb_func_start sub_806156C
-sub_806156C: @ 806156C
+ thumb_func_start OpponentHandleReturnMonToBall
+OpponentHandleReturnMonToBall: @ 806156C
push {r4-r6,lr}
ldr r1, =gBattleBufferA
ldr r6, =gActiveBank
@@ -4116,7 +4098,7 @@ _080615F0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_806156C
+ thumb_func_end OpponentHandleReturnMonToBall
thumb_func_start sub_8061604
sub_8061604: @ 8061604
@@ -4149,7 +4131,7 @@ _0806162C:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08061646:
ldr r0, [r6]
ldrb r1, [r5]
@@ -4174,7 +4156,7 @@ _0806165A:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x2
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -4188,8 +4170,8 @@ _08061682:
.pool
thumb_func_end sub_8061604
- thumb_func_start sub_8061690
-sub_8061690: @ 8061690
+ thumb_func_start OpponentHandleDrawTrainerPic
+OpponentHandleDrawTrainerPic: @ 8061690
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -4256,18 +4238,18 @@ _08061708:
cmp r0, 0x1
bne _08061734
ldrh r0, [r3]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
b _0806175A
.pool
_08061734:
ldr r0, =gTrainerBattleOpponent_B
ldrh r0, [r0]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
b _0806175A
.pool
_08061744:
ldrh r0, [r3]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
b _0806175A
_0806174C:
movs r0, 0x80
@@ -4329,7 +4311,7 @@ _080617CA:
ldr r5, =gActiveBank
ldrb r1, [r5]
mov r0, r8
- bl sub_805DF38
+ bl DecompressTrainerFrontPic
ldrb r0, [r5]
bl GetBankIdentity
adds r1, r0, 0
@@ -4434,10 +4416,10 @@ _080617CA:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8061690
+ thumb_func_end OpponentHandleDrawTrainerPic
- thumb_func_start sub_80618D8
-sub_80618D8: @ 80618D8
+ thumb_func_start OpponentHandleTrainerSlide
+OpponentHandleTrainerSlide: @ 80618D8
push {r4-r6,lr}
mov r6, r8
push {r6}
@@ -4503,18 +4485,18 @@ _08061950:
cmp r0, 0x1
bne _0806197C
ldrh r0, [r3]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
b _080619A2
.pool
_0806197C:
ldr r0, =gTrainerBattleOpponent_B
ldrh r0, [r0]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
b _080619A2
.pool
_0806198C:
ldrh r0, [r3]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
b _080619A2
_08061994:
movs r0, 0x80
@@ -4555,7 +4537,7 @@ _080619DE:
mov r8, r0
ldr r6, =gActiveBank
ldrb r1, [r6]
- bl sub_805DF38
+ bl DecompressTrainerFrontPic
ldrb r0, [r6]
bl GetBankIdentity
adds r1, r0, 0
@@ -4662,10 +4644,10 @@ _080619DE:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80618D8
+ thumb_func_end OpponentHandleTrainerSlide
- thumb_func_start sub_8061AF0
-sub_8061AF0: @ 8061AF0
+ thumb_func_start OpponentHandleTrainerSlideBack
+OpponentHandleTrainerSlideBack: @ 8061AF0
push {r4-r6,lr}
ldr r6, =gBankSpriteIds
ldr r4, =gActiveBank
@@ -4736,10 +4718,10 @@ sub_8061AF0: @ 8061AF0
pop {r0}
bx r0
.pool
- thumb_func_end sub_8061AF0
+ thumb_func_end OpponentHandleTrainerSlideBack
- thumb_func_start sub_8061B9C
-sub_8061B9C: @ 8061B9C
+ thumb_func_start OpponentHandleFaintAnimation
+OpponentHandleFaintAnimation: @ 8061B9C
push {r4-r6,lr}
ldr r6, =gBattleSpritesDataPtr
ldr r4, [r6]
@@ -4764,7 +4746,7 @@ sub_8061B9C: @ 8061B9C
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08061BD0:
ldr r0, [r6]
ldrb r1, [r5]
@@ -4813,42 +4795,42 @@ _08061C2C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8061B9C
+ thumb_func_end OpponentHandleFaintAnimation
- thumb_func_start sub_8061C48
-sub_8061C48: @ 8061C48
+ thumb_func_start OpponentHandleCmd11
+OpponentHandleCmd11: @ 8061C48
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8061C48
+ thumb_func_end OpponentHandleCmd11
- thumb_func_start sub_8061C54
-sub_8061C54: @ 8061C54
+ thumb_func_start OpponentHandleCmd12
+OpponentHandleCmd12: @ 8061C54
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8061C54
+ thumb_func_end OpponentHandleCmd12
- thumb_func_start sub_8061C60
-sub_8061C60: @ 8061C60
+ thumb_func_start OpponentHandleBallThrow
+OpponentHandleBallThrow: @ 8061C60
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8061C60
+ thumb_func_end OpponentHandleBallThrow
- thumb_func_start sub_8061C6C
-sub_8061C6C: @ 8061C6C
+ thumb_func_start OpponentHandlePause
+OpponentHandlePause: @ 8061C6C
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8061C6C
+ thumb_func_end OpponentHandlePause
- thumb_func_start sub_8061C78
-sub_8061C78: @ 8061C78
+ thumb_func_start OpponentHandleMoveAnimation
+OpponentHandleMoveAnimation: @ 8061C78
push {r4-r6,lr}
ldr r6, =gActiveBank
ldrb r0, [r6]
@@ -4946,14 +4928,14 @@ _08061C8A:
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, =gUnknown_020244BC
+ ldr r3, =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
ldr r2, [r2]
str r2, [r1]
ldrb r1, [r5]
- bl sub_805DB8C
+ bl IsMoveWithoutAnimation
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0
@@ -4982,7 +4964,7 @@ _08061D9E:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8061C78
+ thumb_func_end OpponentHandleMoveAnimation
thumb_func_start bx_move_anim_7
bx_move_anim_7: @ 8061DB0
@@ -5047,7 +5029,7 @@ _08061E12:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08061E34:
ldr r0, [r7]
ldrb r1, [r6]
@@ -5105,7 +5087,7 @@ _08061E72:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r0, [r7]
ldrb r1, [r6]
ldr r0, [r0]
@@ -5148,7 +5130,7 @@ _08061EE8:
ldrb r2, [r2]
lsls r2, 8
orrs r1, r2
- bl sub_805E94C
+ bl TrySetBehindSubstituteSpriteBit
ldr r0, [r7]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -5168,8 +5150,8 @@ _08061F24:
bx r0
thumb_func_end bx_move_anim_7
- thumb_func_start sub_8061F34
-sub_8061F34: @ 8061F34
+ thumb_func_start OpponentHandlePrintString
+OpponentHandlePrintString: @ 8061F34
push {r4,r5,lr}
ldr r0, =gBattle_BG0_X
movs r1, 0
@@ -5185,7 +5167,7 @@ sub_8061F34: @ 8061F34
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -5199,35 +5181,35 @@ sub_8061F34: @ 8061F34
pop {r0}
bx r0
.pool
- thumb_func_end sub_8061F34
+ thumb_func_end OpponentHandlePrintString
- thumb_func_start sub_8061F90
-sub_8061F90: @ 8061F90
+ thumb_func_start OpponentHandlePrintStringPlayerOnly
+OpponentHandlePrintStringPlayerOnly: @ 8061F90
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8061F90
+ thumb_func_end OpponentHandlePrintStringPlayerOnly
- thumb_func_start sub_8061F9C
-sub_8061F9C: @ 8061F9C
+ thumb_func_start OpponentHandleChooseAction
+OpponentHandleChooseAction: @ 8061F9C
push {lr}
bl AI_TrySwitchOrUseItem
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8061F9C
+ thumb_func_end OpponentHandleChooseAction
- thumb_func_start sub_8061FAC
-sub_8061FAC: @ 8061FAC
+ thumb_func_start OpponentHandleCmd19
+OpponentHandleCmd19: @ 8061FAC
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8061FAC
+ thumb_func_end OpponentHandleCmd19
- thumb_func_start sub_8061FB8
-sub_8061FB8: @ 8061FB8
+ thumb_func_start OpponentHandleChooseMove
+OpponentHandleChooseMove: @ 8061FB8
push {r4-r6,lr}
ldr r0, =gBattleTypeFlags
ldr r2, [r0]
@@ -5236,14 +5218,14 @@ sub_8061FB8: @ 8061FB8
ands r0, r2
cmp r0, 0
beq _08061FE4
- bl sub_805D19C
+ bl ChooseMoveAndTargetInBattlePalace
adds r2, r0, 0
lsls r2, 16
lsrs r2, 16
movs r0, 0x1
movs r1, 0xA
_08061FD6:
- bl EmitCmd33
+ bl EmitTwoReturnValues
_08061FDA:
bl OpponentBufferExecCompleted
b _08062156
@@ -5347,7 +5329,7 @@ _0806209C:
movs r0, 0x1
movs r1, 0xA
adds r2, r4, 0
- bl EmitCmd33
+ bl EmitTwoReturnValues
b _08061FDA
.pool
_080620C4:
@@ -5378,7 +5360,7 @@ _080620C6:
movs r0, 0x1
movs r1, 0xA
adds r2, r4, 0
- bl EmitCmd33
+ bl EmitTwoReturnValues
b _08062152
.pool
_08062108:
@@ -5401,7 +5383,7 @@ _08062108:
orrs r2, r4
movs r0, 0x1
movs r1, 0xA
- bl EmitCmd33
+ bl EmitTwoReturnValues
b _08062152
.pool
_0806213C:
@@ -5413,17 +5395,17 @@ _0806213C:
orrs r2, r4
movs r0, 0x1
movs r1, 0xA
- bl EmitCmd33
+ bl EmitTwoReturnValues
_08062152:
bl OpponentBufferExecCompleted
_08062156:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end sub_8061FB8
+ thumb_func_end OpponentHandleChooseMove
- thumb_func_start sub_806215C
-sub_806215C: @ 806215C
+ thumb_func_start OpponentHandleOpenBag
+OpponentHandleOpenBag: @ 806215C
push {lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@@ -5435,15 +5417,15 @@ sub_806215C: @ 806215C
adds r0, 0xC0
ldrb r1, [r0]
movs r0, 0x1
- bl EmitCmd35
+ bl EmitOneReturnValue
bl OpponentBufferExecCompleted
pop {r0}
bx r0
.pool
- thumb_func_end sub_806215C
+ thumb_func_end OpponentHandleOpenBag
- thumb_func_start sub_8062188
-sub_8062188: @ 8062188
+ thumb_func_start OpponentHandleChoosePokemon
+OpponentHandleChoosePokemon: @ 8062188
push {r4-r7,lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@@ -5550,24 +5532,24 @@ _0806225A:
lsrs r1, 24
movs r0, 0x1
movs r2, 0
- bl EmitCmd34
+ bl EmitChosenMonReturnValue
bl OpponentBufferExecCompleted
pop {r4-r7}
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062188
+ thumb_func_end OpponentHandleChoosePokemon
- thumb_func_start sub_8062288
-sub_8062288: @ 8062288
+ thumb_func_start OpponentHandleCmd23
+OpponentHandleCmd23: @ 8062288
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062288
+ thumb_func_end OpponentHandleCmd23
- thumb_func_start sub_8062294
-sub_8062294: @ 8062294
+ thumb_func_start OpponentHandleHealthBarUpdate
+OpponentHandleHealthBarUpdate: @ 8062294
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -5660,18 +5642,18 @@ _0806234E:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062294
+ thumb_func_end OpponentHandleHealthBarUpdate
- thumb_func_start sub_8062384
-sub_8062384: @ 8062384
+ thumb_func_start OpponentHandleExpUpdate
+OpponentHandleExpUpdate: @ 8062384
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062384
+ thumb_func_end OpponentHandleExpUpdate
- thumb_func_start sub_8062390
-sub_8062390: @ 8062390
+ thumb_func_start OpponentHandleStatusIconUpdate
+OpponentHandleStatusIconUpdate: @ 8062390
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@@ -5717,10 +5699,10 @@ _080623E4:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062390
+ thumb_func_end OpponentHandleStatusIconUpdate
- thumb_func_start sub_8062408
-sub_8062408: @ 8062408
+ thumb_func_start OpponentHandleStatusAnimation
+OpponentHandleStatusAnimation: @ 8062408
push {r4,r5,lr}
ldr r5, =gActiveBank
ldrb r0, [r5]
@@ -5752,7 +5734,7 @@ sub_8062408: @ 8062408
ldrb r2, [r3]
lsls r2, 24
orrs r1, r2
- bl move_anim_start_t2_for_situation
+ bl DoStatusAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -5764,82 +5746,82 @@ _08062458:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062408
+ thumb_func_end OpponentHandleStatusAnimation
- thumb_func_start sub_8062470
-sub_8062470: @ 8062470
+ thumb_func_start OpponentHandleStatusXor
+OpponentHandleStatusXor: @ 8062470
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062470
+ thumb_func_end OpponentHandleStatusXor
- thumb_func_start sub_806247C
-sub_806247C: @ 806247C
+ thumb_func_start OpponentHandleDataTransfer
+OpponentHandleDataTransfer: @ 806247C
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_806247C
+ thumb_func_end OpponentHandleDataTransfer
- thumb_func_start sub_8062488
-sub_8062488: @ 8062488
+ thumb_func_start OpponentHandleDMA3Transfer
+OpponentHandleDMA3Transfer: @ 8062488
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062488
+ thumb_func_end OpponentHandleDMA3Transfer
- thumb_func_start sub_8062494
-sub_8062494: @ 8062494
+ thumb_func_start OpponentHandlePlayBGM
+OpponentHandlePlayBGM: @ 8062494
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062494
+ thumb_func_end OpponentHandlePlayBGM
- thumb_func_start sub_80624A0
-sub_80624A0: @ 80624A0
+ thumb_func_start OpponentHandleCmd32
+OpponentHandleCmd32: @ 80624A0
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80624A0
+ thumb_func_end OpponentHandleCmd32
- thumb_func_start sub_80624AC
-sub_80624AC: @ 80624AC
+ thumb_func_start OpponentHandleCmd33
+OpponentHandleCmd33: @ 80624AC
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80624AC
+ thumb_func_end OpponentHandleCmd33
- thumb_func_start sub_80624B8
-sub_80624B8: @ 80624B8
+ thumb_func_start OpponentHandleCmd34
+OpponentHandleCmd34: @ 80624B8
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80624B8
+ thumb_func_end OpponentHandleCmd34
- thumb_func_start sub_80624C4
-sub_80624C4: @ 80624C4
+ thumb_func_start OpponentHandleCmd35
+OpponentHandleCmd35: @ 80624C4
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80624C4
+ thumb_func_end OpponentHandleCmd35
- thumb_func_start sub_80624D0
-sub_80624D0: @ 80624D0
+ thumb_func_start OpponentHandleCmd36
+OpponentHandleCmd36: @ 80624D0
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80624D0
+ thumb_func_end OpponentHandleCmd36
- thumb_func_start sub_80624DC
-sub_80624DC: @ 80624DC
+ thumb_func_start OpponentHandleCmd37
+OpponentHandleCmd37: @ 80624DC
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@@ -5851,10 +5833,10 @@ sub_80624DC: @ 80624DC
pop {r0}
bx r0
.pool
- thumb_func_end sub_80624DC
+ thumb_func_end OpponentHandleCmd37
- thumb_func_start sub_80624F8
-sub_80624F8: @ 80624F8
+ thumb_func_start OpponentHandleCmd38
+OpponentHandleCmd38: @ 80624F8
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, =gBattleBufferA
@@ -5876,10 +5858,10 @@ sub_80624F8: @ 80624F8
pop {r0}
bx r0
.pool
- thumb_func_end sub_80624F8
+ thumb_func_end OpponentHandleCmd38
- thumb_func_start sub_8062530
-sub_8062530: @ 8062530
+ thumb_func_start OpponentHandleCmd39
+OpponentHandleCmd39: @ 8062530
push {lr}
ldr r2, =gUnknown_02022D0C
ldrb r1, [r2]
@@ -5890,10 +5872,10 @@ sub_8062530: @ 8062530
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062530
+ thumb_func_end OpponentHandleCmd39
- thumb_func_start sub_8062548
-sub_8062548: @ 8062548
+ thumb_func_start OpponentHandleCmd40
+OpponentHandleCmd40: @ 8062548
push {lr}
ldr r3, =gUnknown_02022D0C
ldr r1, [r3]
@@ -5911,10 +5893,10 @@ sub_8062548: @ 8062548
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062548
+ thumb_func_end OpponentHandleCmd40
- thumb_func_start dp01t_29_7_blink
-dp01t_29_7_blink: @ 8062570
+ thumb_func_start OpponentHandleHitAnimation
+OpponentHandleHitAnimation: @ 8062570
push {r4,lr}
ldr r3, =gSprites
ldr r2, =gBankSpriteIds
@@ -5948,7 +5930,7 @@ _080625A4:
movs r1, 0
strh r1, [r0, 0x30]
ldrb r0, [r4]
- bl sub_80769F4
+ bl DoHitAnimHealthboxEffect
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -5960,18 +5942,18 @@ _080625CE:
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_29_7_blink
+ thumb_func_end OpponentHandleHitAnimation
- thumb_func_start sub_80625E0
-sub_80625E0: @ 80625E0
+ thumb_func_start OpponentHandleCmd42
+OpponentHandleCmd42: @ 80625E0
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_80625E0
+ thumb_func_end OpponentHandleCmd42
- thumb_func_start sub_80625EC
-sub_80625EC: @ 80625EC
+ thumb_func_start OpponentHandleEffectivenessSound
+OpponentHandleEffectivenessSound: @ 80625EC
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@@ -6001,10 +5983,10 @@ _08062600:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80625EC
+ thumb_func_end OpponentHandleEffectivenessSound
- thumb_func_start sub_8062630
-sub_8062630: @ 8062630
+ thumb_func_start OpponentHandlePlayFanfareOrBGM
+OpponentHandlePlayFanfareOrBGM: @ 8062630
push {r4,r5,lr}
ldr r4, =gBattleBufferA
ldr r5, =gActiveBank
@@ -6044,10 +6026,10 @@ _08062680:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_8062630
+ thumb_func_end OpponentHandlePlayFanfareOrBGM
- thumb_func_start sub_806268C
-sub_806268C: @ 806268C
+ thumb_func_start OpponentHandleFaintingCry
+OpponentHandleFaintingCry: @ 806268C
push {lr}
ldr r1, =gBattlePartyID
ldr r0, =gActiveBank
@@ -6070,10 +6052,10 @@ sub_806268C: @ 806268C
pop {r0}
bx r0
.pool
- thumb_func_end sub_806268C
+ thumb_func_end OpponentHandleFaintingCry
- thumb_func_start dp01t_2E_7_battle_intro
-dp01t_2E_7_battle_intro: @ 80626C8
+ thumb_func_start OpponentHandleIntroSlide
+OpponentHandleIntroSlide: @ 80626C8
push {lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -6082,7 +6064,7 @@ dp01t_2E_7_battle_intro: @ 80626C8
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl battle_intro_launch
+ bl HandleIntroSlide
ldr r2, =gUnknown_020243FC
ldrh r0, [r2]
movs r1, 0x1
@@ -6092,10 +6074,10 @@ dp01t_2E_7_battle_intro: @ 80626C8
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_2E_7_battle_intro
+ thumb_func_end OpponentHandleIntroSlide
- thumb_func_start sub_80626FC
-sub_80626FC: @ 80626FC
+ thumb_func_start OpponentHandleIntroTrainerBallThrow
+OpponentHandleIntroTrainerBallThrow: @ 80626FC
push {r4-r6,lr}
ldr r5, =gBankSpriteIds
ldr r6, =gActiveBank
@@ -6207,14 +6189,14 @@ _080627BE:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80626FC
+ thumb_func_end OpponentHandleIntroTrainerBallThrow
thumb_func_start sub_806280C
sub_806280C: @ 806280C
push {r4,lr}
adds r4, r0, 0
ldrh r0, [r4, 0x6]
- bl sub_805DFE4
+ bl FreeTrainerFrontPicPalette
adds r0, r4, 0
bl FreeSpriteOamMatrix
adds r0, r4, 0
@@ -6327,8 +6309,8 @@ _080628E0:
.pool
thumb_func_end sub_8062828
- thumb_func_start dp01t_30_7_0803D67C
-dp01t_30_7_0803D67C: @ 8062918
+ thumb_func_start OpponentHandleDrawPartyStatusSummary
+OpponentHandleDrawPartyStatusSummary: @ 8062918
push {r4-r7,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -6450,7 +6432,7 @@ _08062A12:
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_30_7_0803D67C
+ thumb_func_end OpponentHandleDrawPartyStatusSummary
thumb_func_start bx_0803D790_t7
bx_0803D790_t7: @ 8062A2C
@@ -6488,8 +6470,8 @@ _08062A64:
.pool
thumb_func_end bx_0803D790_t7
- thumb_func_start sub_8062A74
-sub_8062A74: @ 8062A74
+ thumb_func_start OpponentHandleCmd49
+OpponentHandleCmd49: @ 8062A74
push {lr}
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
@@ -6520,18 +6502,18 @@ _08062AA6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062A74
+ thumb_func_end OpponentHandleCmd49
- thumb_func_start sub_8062AC4
-sub_8062AC4: @ 8062AC4
+ thumb_func_start OpponentHandleCmd50
+OpponentHandleCmd50: @ 8062AC4
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062AC4
+ thumb_func_end OpponentHandleCmd50
- thumb_func_start sub_8062AD0
-sub_8062AD0: @ 8062AD0
+ thumb_func_start OpponentHandleSpriteInvisibility
+OpponentHandleSpriteInvisibility: @ 8062AD0
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
@@ -6564,17 +6546,17 @@ sub_8062AD0: @ 8062AD0
orrs r0, r1
strb r0, [r2]
ldrb r0, [r4]
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
_08062B16:
bl OpponentBufferExecCompleted
pop {r4}
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062AD0
+ thumb_func_end OpponentHandleSpriteInvisibility
- thumb_func_start dp01t_34_7_move_anim_start_t3
-dp01t_34_7_move_anim_start_t3: @ 8062B30
+ thumb_func_start OpponentHandleBattleAnimation
+OpponentHandleBattleAnimation: @ 8062B30
push {r4-r6,lr}
sub sp, 0x4
ldr r6, =gActiveBank
@@ -6600,7 +6582,7 @@ dp01t_34_7_move_anim_start_t3: @ 8062B30
str r4, [sp]
adds r0, r2, 0
adds r1, r2, 0
- bl move_anim_start_t3
+ bl DoBattleAnimationFromTable
lsls r0, 24
cmp r0, 0
beq _08062B7C
@@ -6620,26 +6602,26 @@ _08062B88:
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_34_7_move_anim_start_t3
+ thumb_func_end OpponentHandleBattleAnimation
- thumb_func_start sub_8062B98
-sub_8062B98: @ 8062B98
+ thumb_func_start OpponentHandleLinkStandbyMsg
+OpponentHandleLinkStandbyMsg: @ 8062B98
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062B98
+ thumb_func_end OpponentHandleLinkStandbyMsg
- thumb_func_start sub_8062BA4
-sub_8062BA4: @ 8062BA4
+ thumb_func_start OpponentHandleResetActionMoveSelection
+OpponentHandleResetActionMoveSelection: @ 8062BA4
push {lr}
bl OpponentBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8062BA4
+ thumb_func_end OpponentHandleResetActionMoveSelection
- thumb_func_start sub_8062BB0
-sub_8062BB0: @ 8062BB0
+ thumb_func_start OpponentHandleCmd55
+OpponentHandleCmd55: @ 8062BB0
push {lr}
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -6665,7 +6647,7 @@ _08062BDA:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8062BB0
+ thumb_func_end OpponentHandleCmd55
thumb_func_start nullsub_91
nullsub_91: @ 8062BF4
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
deleted file mode 100644
index 10b675714..000000000
--- a/asm/battle_controller_player.s
+++ /dev/null
@@ -1,10419 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start nullsub_21
-nullsub_21: @ 8057458
- bx lr
- thumb_func_end nullsub_21
-
- thumb_func_start SetBankFuncToPlayerBufferRunCommand
-SetBankFuncToPlayerBufferRunCommand: @ 805745C
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =PlayerBufferRunCommand
- str r1, [r0]
- ldr r0, =gDoingBattleAnim
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_020244CC
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToPlayerBufferRunCommand
-
- thumb_func_start PlayerBufferExecCompleted
-PlayerBufferExecCompleted: @ 805748C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gBattleBankFunc
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =PlayerBufferRunCommand
- str r1, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080574E0
- bl GetMultiplayerId
- mov r1, sp
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- mov r2, sp
- bl PrepareBufferDataTransferLink
- ldr r1, =gBattleBufferA
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r1
- movs r1, 0x38
- strb r1, [r0]
- b _080574F2
- .pool
-_080574E0:
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
-_080574F2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PlayerBufferExecCompleted
-
- thumb_func_start PlayerBufferRunCommand
-PlayerBufferRunCommand: @ 8057504
- push {lr}
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08057550
- ldr r0, =gBattleBufferA
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _0805754C
- ldr r0, =gPlayerBufferCommands
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _08057550
- .pool
-_0805754C:
- bl PlayerBufferExecCompleted
-_08057550:
- pop {r0}
- bx r0
- thumb_func_end PlayerBufferRunCommand
-
- thumb_func_start bx_0802E404
-bx_0802E404: @ 8057554
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08057576
- bl PlayerBufferExecCompleted
-_08057576:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_0802E404
-
- thumb_func_start sub_8057588
-sub_8057588: @ 8057588
- push {r4-r7,lr}
- ldr r3, =gBattleBufferA
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r2, r0, 9
- adds r1, r3, 0x2
- adds r1, r2, r1
- ldrb r5, [r1]
- adds r3, 0x3
- adds r2, r3
- ldrb r1, [r2]
- lsls r1, 8
- orrs r5, r1
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _080575EC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _080575EC
- ldr r1, =gUnknown_020244CC
- ldrb r0, [r1]
- adds r0, 0x1
- b _080575F0
- .pool
-_080575EC:
- ldr r1, =gUnknown_020244CC
- movs r0, 0
-_080575F0:
- strb r0, [r1]
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _08057658
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gActionSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08057640
- cmp r0, 0x1
- bgt _08057630
- cmp r0, 0
- beq _0805763A
- b _080577C2
- .pool
-_08057630:
- cmp r0, 0x2
- beq _08057646
- cmp r0, 0x3
- beq _0805764C
- b _080577C2
-_0805763A:
- movs r0, 0x1
- movs r1, 0
- b _080577BC
-_08057640:
- movs r0, 0x1
- movs r1, 0x1
- b _080577BC
-_08057646:
- movs r0, 0x1
- movs r1, 0x2
- b _080577BC
-_0805764C:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl EmitCmd33
- b _080577C2
-_08057658:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08057698
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08057674
- b _080577E8
-_08057674:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _08057732
- .pool
-_08057698:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080576D8
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080576B4
- b _080577E8
-_080576B4:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _08057732
- .pool
-_080576D8:
- movs r7, 0x40
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _08057700
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080577E8
- b _0805771A
- .pool
-_08057700:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0805774C
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080577E8
-_0805771A:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
-_08057732:
- eors r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- b _080577E8
- .pool
-_0805774C:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _0805775A
- ldrb r0, [r1]
- cmp r0, 0x3B
- bls _080577DC
-_0805775A:
- ldr r4, =gBattleTypeFlags
- ldr r0, [r4]
- ands r0, r3
- cmp r0, 0
- beq _080577E8
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080577E8
- movs r0, 0
- bl GetBankByIdentity
- ldr r1, =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _080577E8
- ldr r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080577E8
- ldr r0, =gBattleBufferA
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _080577B2
- cmp r5, 0xC
- bhi _080577E8
- adds r0, r5, 0
- movs r1, 0x1
- bl AddBagItem
-_080577B2:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- movs r1, 0xC
-_080577BC:
- movs r2, 0
- bl EmitCmd33
-_080577C2:
- bl PlayerBufferExecCompleted
- b _080577E8
- .pool
-_080577DC:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080577E8
- bl SwapHpBarsWithHpText
-_080577E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8057588
-
- thumb_func_start sub_80577F0
-sub_80577F0: @ 80577F0
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057824
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80577F0
-
- thumb_func_start sub_8057824
-sub_8057824: @ 8057824
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_0831C5F8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0x1
- bl dp11b_obj_instanciate
- movs r4, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r0, 0
- beq _08057866
-_0805784A:
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- cmp r4, r0
- beq _0805785C
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x1
- bl dp11b_obj_free
-_0805785C:
- adds r4, 0x1
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r4, r0
- blt _0805784A
-_08057866:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _0805789C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _0805789C
- ldr r1, =gUnknown_020244CC
- ldrb r0, [r1]
- adds r0, 0x1
- b _080578A0
- .pool
-_0805789C:
- ldr r1, =gUnknown_020244CC
- movs r0, 0
-_080578A0:
- strb r0, [r1]
- ldrh r2, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08057910
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r2, [r0]
- ldrb r0, [r4]
- lsls r0, 8
- orrs r2, r0
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- bl PlayerBufferExecCompleted
- b _08057BC8
- .pool
-_08057910:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _0805791E
- ldrb r0, [r1]
- cmp r0, 0x3B
- bls _0805798C
-_0805791E:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r5, =gUnknown_03005D74
- ldrb r0, [r5]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
- ldrb r0, [r4]
- movs r1, 0x1
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x1
- bl dp11b_obj_instanciate
- ldrb r0, [r5]
- movs r1, 0x1
- bl dp11b_obj_free
- b _08057BC8
- .pool
-_0805798C:
- movs r0, 0x60
- ands r0, r2
- cmp r0, 0
- bne _08057996
- b _08057AB0
-_08057996:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r3, =gUnknown_03005D74
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- adds r5, r3, 0
-_080579B8:
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- mov r0, sp
- b _080579E2
- .pool
-_080579D8:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080579E8
- mov r2, sp
- adds r0, r2, r4
-_080579E2:
- ldrb r0, [r0]
- cmp r1, r0
- bne _080579D8
-_080579E8:
- subs r4, 0x1
- cmp r4, 0
- bge _080579F0
- movs r4, 0x4
-_080579F0:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl GetBankByIdentity
- strb r0, [r5]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _080579E8
- movs r4, 0
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08057A6E
- cmp r0, 0x1
- bgt _08057A28
- cmp r0, 0
- beq _08057A32
- b _08057A70
- .pool
-_08057A28:
- cmp r0, 0x2
- beq _08057A32
- cmp r0, 0x3
- beq _08057A6E
- b _08057A70
-_08057A32:
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- ldrb r1, [r5]
- cmp r0, r1
- bne _08057A6E
- ldr r1, =gBattlePartyID
- ldrb r2, [r2]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gMoveSelectionCursor
- adds r2, r1
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- ldr r2, =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08057A70
-_08057A6E:
- adds r4, 0x1
-_08057A70:
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- ldr r0, =gUnknown_03005D74
- cmp r1, 0
- beq _08057A88
- movs r4, 0
-_08057A88:
- cmp r4, 0
- beq _080579B8
- b _08057BB0
- .pool
-_08057AB0:
- movs r0, 0x90
- ands r0, r2
- cmp r0, 0
- bne _08057ABA
- b _08057BC8
-_08057ABA:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r3, =gUnknown_03005D74
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039B2C
- str r1, [r0]
- adds r5, r3, 0
-_08057ADC:
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- mov r0, sp
- b _08057B06
- .pool
-_08057AFC:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08057B0C
- mov r2, sp
- adds r0, r2, r4
-_08057B06:
- ldrb r0, [r0]
- cmp r1, r0
- bne _08057AFC
-_08057B0C:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08057B14
- movs r4, 0
-_08057B14:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl GetBankByIdentity
- strb r0, [r5]
- ldr r1, =gNoOfAllBanks
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _08057B0C
- movs r4, 0
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08057B92
- cmp r0, 0x1
- bgt _08057B4C
- cmp r0, 0
- beq _08057B56
- b _08057B94
- .pool
-_08057B4C:
- cmp r0, 0x2
- beq _08057B56
- cmp r0, 0x3
- beq _08057B92
- b _08057B94
-_08057B56:
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- ldrb r1, [r5]
- cmp r0, r1
- bne _08057B92
- ldr r1, =gBattlePartyID
- ldrb r2, [r2]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gMoveSelectionCursor
- adds r2, r1
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- ldr r2, =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08057B94
-_08057B92:
- adds r4, 0x1
-_08057B94:
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- ldr r0, =gUnknown_03005D74
- cmp r1, 0
- beq _08057BAC
- movs r4, 0
-_08057BAC:
- cmp r4, 0
- beq _08057ADC
-_08057BB0:
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039AD8
- str r1, [r0]
-_08057BC8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8057824
-
- thumb_func_start sub_8057BFC
-sub_8057BFC: @ 8057BFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- mov r8, r0
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- ldr r1, =gBattleBufferA + 4
- adds r6, r0, r1
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0xF0
- ands r0, r1
- adds r7, r3, 0
- cmp r0, 0
- beq _08057C44
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _08057C44
- ldr r1, =gUnknown_020244CC
- ldrb r0, [r1]
- adds r0, 0x1
- b _08057C48
- .pool
-_08057C44:
- ldr r1, =gUnknown_020244CC
- movs r0, 0
-_08057C48:
- strb r0, [r1]
- ldrh r2, [r2, 0x2E]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- bne _08057C58
- b _08057E04
-_08057C58:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, r6, r0
- ldrh r0, [r1]
- cmp r0, 0xAE
- bne _08057C98
- ldrb r0, [r6, 0x12]
- movs r4, 0
- cmp r0, 0x7
- beq _08057CA6
- ldrb r1, [r6, 0x13]
- movs r0, 0x7
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r4, r0, 31
- movs r0, 0x10
- ands r4, r0
- b _08057CA6
- .pool
-_08057C98:
- ldr r2, =gBattleMoves
- ldrh r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0, 0x6]
-_08057CA6:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _08057CC4
- ldr r0, =gUnknown_03005D74
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- strb r1, [r0]
- b _08057CDE
- .pool
-_08057CC4:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r2, 0x1
- movs r0, 0x1
- ands r0, r1
- eors r0, r2
- bl GetBankByIdentity
- ldr r1, =gUnknown_03005D74
- strb r0, [r1]
-_08057CDE:
- ldr r5, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- lsls r2, r3, 9
- adds r1, r5, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r7, r0, 0
- cmp r1, 0
- bne _08057D18
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _08057D5A
- adds r0, r5, 0x2
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08057D5A
- movs r0, 0x1
- add r8, r0
- b _08057D5A
- .pool
-_08057D18:
- movs r0, 0x7D
- ands r0, r4
- cmp r0, 0
- bne _08057D24
- movs r0, 0x1
- add r8, r0
-_08057D24:
- ldr r0, =gMoveSelectionCursor
- adds r0, r3, r0
- adds r1, r6, 0
- adds r1, 0x8
- ldrb r0, [r0]
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08057D62
- movs r0, 0x12
- ands r0, r4
- cmp r0, 0
- bne _08057D5A
- movs r0, 0
- bl CountAliveMonsInBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08057D5A
- ldrb r0, [r7]
- bl sub_8069F34
- ldr r1, =gUnknown_03005D74
- strb r0, [r1]
- movs r0, 0
- mov r8, r0
-_08057D5A:
- ldr r7, =gActiveBank
- mov r0, r8
- cmp r0, 0
- bne _08057D80
-_08057D62:
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r0, r1
- ldrb r2, [r0]
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- lsls r0, 8
- orrs r2, r0
- b _08057E1C
- .pool
-_08057D80:
- ldr r1, =gBattleBankFunc
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057824
- str r1, [r0]
- movs r0, 0x12
- ands r4, r0
- cmp r4, 0
- beq _08057DA8
- ldr r1, =gUnknown_03005D74
- ldrb r0, [r7]
- b _08057DD8
- .pool
-_08057DA8:
- movs r0, 0x1
- bl GetBankByIdentity
- ldr r1, =gAbsentBankFlags
- ldrb r1, [r1]
- ldr r2, =gBitTable
- lsls r0, 24
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08057DD0
- movs r0, 0x3
- b _08057DD2
- .pool
-_08057DD0:
- movs r0, 0x1
-_08057DD2:
- bl GetBankByIdentity
- ldr r1, =gUnknown_03005D74
-_08057DD8:
- strb r0, [r1]
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039AD8
- b _08057F9C
- .pool
-_08057E04:
- movs r6, 0x2
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- bne _08057E14
- ldrb r0, [r1]
- cmp r0, 0x3B
- bls _08057E30
-_08057E14:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =0x0000ffff
-_08057E1C:
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- bl PlayerBufferExecCompleted
- b _08057F9E
- .pool
-_08057E30:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08057E60
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08057E4A
- b _08057F9E
-_08057E4A:
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- movs r2, 0x1
- eors r0, r2
- b _08057F08
- .pool
-_08057E60:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _08057EA4
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r3, r0, r4
- ldrb r2, [r3]
- movs r6, 0x1
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08057E7C
- b _08057F9E
-_08057E7C:
- ldr r1, =gUnknown_03005D78
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08057E8A
- b _08057F9E
-_08057E8A:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- eors r0, r6
- b _08057F08
- .pool
-_08057EA4:
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _08057ED4
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08057F9E
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- b _08057F08
- .pool
-_08057ED4:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08057F30
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r3, r0, r4
- ldrb r2, [r3]
- movs r5, 0x2
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- bne _08057F9E
- ldr r1, =gUnknown_03005D78
- adds r0, r5, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08057F9E
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r7]
- adds r1, r4
- ldrb r0, [r1]
- eors r0, r5
-_08057F08:
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- bl sub_8059B3C
- bl sub_8059BB0
- b _08057F9E
- .pool
-_08057F30:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _08057F9E
- ldr r0, =gUnknown_03005D78
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08057F9E
- ldr r0, =gBattleTypeFlags
- ldr r5, [r0]
- ands r5, r6
- cmp r5, 0
- bne _08057F9E
- ldr r4, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08057F78
- ldr r0, =gUnknown_03005D74
- strb r5, [r0]
- b _08057F80
- .pool
-_08057F78:
- ldr r1, =gUnknown_03005D74
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r1, 0
-_08057F80:
- ldrb r0, [r0]
- movs r1, 0x1B
- bl battle_menu_cursor_related_2
- ldr r0, =gText_BattleSwitchWhich
- movs r1, 0xB
- bl sub_814F9EC
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058138
-_08057F9C:
- str r1, [r0]
-_08057F9E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8057BFC
-
- thumb_func_start sub_8057FBC
-sub_8057FBC: @ 8057FBC
- push {r4-r7,lr}
- movs r7, 0
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08057FD6
- movs r0, 0x5
- bl PlaySE
- movs r7, 0x1
-_08057FD6:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08057FF8
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gBattle_BG0_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG0_Y
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- movs r7, 0xFF
-_08057FF8:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08058038
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r2, r0, r5
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08058038
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- eors r0, r2
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_08058038:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08058086
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r3, r0, r5
- ldrb r2, [r3]
- movs r6, 0x1
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _08058086
- ldr r1, =gUnknown_03005D78
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08058086
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- eors r0, r6
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_08058086:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080580C8
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r2, r0, r5
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080580C8
- ldrb r0, [r2]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_080580C8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08058116
- ldr r5, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r3, r0, r5
- ldrb r2, [r3]
- movs r6, 0x2
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _08058116
- ldr r1, =gUnknown_03005D78
- adds r0, r6, 0
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08058116
- ldrb r0, [r3]
- bl battle_menu_cursor_related
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- eors r0, r6
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
-_08058116:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8057FBC
-
- thumb_func_start sub_8058138
-sub_8058138: @ 8058138
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x5
- ands r0, r1
- cmp r0, 0
- bne _08058152
- b _08058500
-_08058152:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gMoveSelectionCursor
- mov r10, r0
- ldr r1, =gActiveBank
- mov r8, r1
- ldrb r1, [r1]
- adds r2, r1, r0
- ldr r5, =gUnknown_03005D74
- ldrb r0, [r2]
- ldrb r3, [r5]
- cmp r0, r3
- bne _08058170
- b _080584A8
-_08058170:
- lsls r1, 9
- ldr r0, =gBattleBufferA + 4
- adds r1, r0
- mov r9, r1
- ldrb r1, [r2]
- lsls r1, 1
- add r1, r9
- ldrh r6, [r1]
- ldrb r0, [r5]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- strh r0, [r1]
- ldrb r0, [r5]
- lsls r0, 1
- add r0, r9
- strh r6, [r0]
- mov r1, r8
- ldrb r0, [r1]
- add r0, r10
- ldrb r1, [r0]
- mov r7, r9
- adds r7, 0x8
- adds r1, r7, r1
- ldrb r6, [r1]
- ldrb r0, [r5]
- adds r0, r7, r0
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r5]
- adds r0, r7, r0
- strb r6, [r0]
- mov r2, r8
- ldrb r0, [r2]
- add r0, r10
- ldrb r1, [r0]
- mov r2, r9
- adds r2, 0xC
- adds r1, r2, r1
- ldrb r6, [r1]
- ldrb r0, [r5]
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r5]
- adds r2, r0
- strb r6, [r2]
- mov r3, r8
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r2, =gDisableStructs
- adds r6, r0, r2
- ldrb r4, [r6, 0x18]
- lsls r3, r4, 24
- lsrs r2, r3, 28
- ldr r0, =gBitTable
- mov r12, r0
- add r1, r10
- ldrb r0, [r1]
- lsls r0, 2
- add r0, r12
- ldr r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _0805822A
- lsrs r1, r3, 28
- bics r1, r0
- lsls r1, 4
- movs r2, 0xF
- adds r0, r2, 0
- ands r0, r4
- orrs r0, r1
- strb r0, [r6, 0x18]
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r3, =gDisableStructs
- adds r1, r3
- ldrb r4, [r1, 0x18]
- lsrs r3, r4, 4
- ldrb r0, [r5]
- lsls r0, 2
- add r0, r12
- ldr r0, [r0]
- orrs r0, r3
- lsls r0, 4
- ands r2, r4
- orrs r2, r0
- strb r2, [r1, 0x18]
-_0805822A:
- bl sub_8059AAC
- movs r6, 0
- mov r12, r7
- mov r5, sp
- adds r5, 0x18
- str r5, [sp, 0x1C]
- ldr r2, =gBattleMons
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r4, r0, 0
- adds r4, 0x3B
- mov r7, r8
- mov r10, r2
- movs r5, 0x3
-_0805824E:
- mov r1, sp
- adds r3, r1, r6
- ldrb r1, [r4]
- lsls r2, r6, 1
- adds r0, r5, 0
- lsls r0, r2
- ands r1, r0
- asrs r1, r2
- strb r1, [r3]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805824E
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r7]
- adds r0, r1
- ldrb r0, [r0]
- add r0, sp
- ldrb r0, [r0]
- ldr r2, [sp, 0x1C]
- strb r0, [r2]
- ldrb r0, [r7]
- adds r0, r1
- ldrb r0, [r0]
- mov r3, sp
- adds r2, r3, r0
- ldr r1, =gUnknown_03005D74
- ldrb r0, [r1]
- add r0, sp
- ldrb r0, [r0]
- movs r3, 0
- strb r0, [r2]
- ldrb r0, [r1]
- mov r5, sp
- adds r1, r5, r0
- ldr r2, [sp, 0x1C]
- ldrb r0, [r2]
- strb r0, [r1]
- strb r3, [r2]
- movs r6, 0
- ldr r2, [sp, 0x1C]
-_0805829E:
- mov r3, sp
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r6, 1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805829E
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- add r0, r10
- adds r0, 0x3B
- ldr r5, [sp, 0x1C]
- ldrb r1, [r5]
- strb r1, [r0]
- movs r6, 0
- adds r4, r7, 0
- movs r3, 0x58
- movs r0, 0x24
- add r0, r10
- mov r8, r0
- mov r2, r9
- mov r7, r10
- adds r7, 0xC
- mov r5, r12
-_080582D8:
- lsls r1, r6, 1
- ldrb r0, [r4]
- muls r0, r3
- adds r1, r0
- adds r1, r7
- ldrh r0, [r2]
- strh r0, [r1]
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r3
- adds r1, r6, r1
- add r1, r8
- adds r0, r5, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _080582D8
- ldr r2, =gActiveBank
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- mov r1, r10
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- beq _0805831A
- b _080584A8
-_0805831A:
- movs r6, 0
- mov r1, sp
- adds r1, 0x4
- str r1, [sp, 0x20]
- add r3, sp, 0xC
- mov r10, r3
- ldr r5, =gBattlePartyID
- mov r9, r5
- mov r8, r2
- movs r7, 0x64
- ldr r5, =gPlayerParty
- adds r4, r1, 0
-_08058332:
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- adds r0, r5
- adds r1, r6, 0
- adds r1, 0xD
- bl GetMonData
- strh r0, [r4]
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- muls r0, r7
- adds r0, r5
- adds r1, r6, 0
- adds r1, 0x11
- bl GetMonData
- mov r3, r10
- adds r1, r3, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08058332
- ldr r1, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- ldr r5, [sp, 0x1C]
- strb r0, [r5]
- movs r6, 0
- movs r5, 0x3
- ldr r4, [sp, 0x1C]
-_08058392:
- mov r0, sp
- adds r3, r0, r6
- lsls r2, r6, 1
- adds r1, r5, 0
- lsls r1, r2
- ldrb r0, [r4]
- ands r0, r1
- asrs r0, r2
- strb r0, [r3]
- adds r6, 0x1
- cmp r6, 0x3
- ble _08058392
- ldr r4, =gMoveSelectionCursor
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r1, 1
- ldr r2, [sp, 0x20]
- adds r1, r2, r1
- ldrh r6, [r1]
- ldr r2, =gUnknown_03005D74
- ldrb r0, [r2]
- lsls r0, 1
- ldr r5, [sp, 0x20]
- adds r0, r5, r0
- ldrh r0, [r0]
- movs r5, 0
- strh r0, [r1]
- ldrb r0, [r2]
- lsls r0, 1
- ldr r1, [sp, 0x20]
- adds r0, r1, r0
- strh r6, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- add r1, r10
- ldrb r6, [r1]
- ldrb r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- add r0, r10
- strb r6, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- add r0, sp
- ldrb r0, [r0]
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- mov r3, sp
- adds r1, r3, r0
- ldrb r0, [r2]
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2]
- adds r1, r3, r0
- ldr r2, [sp, 0x1C]
- ldrb r0, [r2]
- strb r0, [r1]
- strb r5, [r2]
- movs r6, 0
- ldr r2, [sp, 0x1C]
-_0805841E:
- mov r3, sp
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r6, 1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805841E
- movs r6, 0
- ldr r5, =gBattlePartyID
- mov r10, r5
- ldr r0, =gActiveBank
- mov r9, r0
- movs r1, 0x64
- mov r8, r1
- ldr r7, =gPlayerParty
- ldr r5, [sp, 0x20]
- adds r5, 0x8
- ldr r4, [sp, 0x20]
-_0805844A:
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r0, r7
- adds r1, r6, 0
- adds r1, 0xD
- adds r2, r4, 0
- bl SetMonData
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- adds r1, r6, 0
- adds r1, 0x11
- adds r2, r5, 0
- bl SetMonData
- adds r5, 0x1
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805844A
- ldr r1, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- ldr r2, [sp, 0x1C]
- bl SetMonData
-_080584A8:
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
- ldr r3, =gMoveSelectionCursor
- ldrb r0, [r2]
- adds r0, r3
- ldr r1, =gUnknown_03005D74
- ldrb r1, [r1]
- strb r1, [r0]
- ldrb r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- b _08058532
- .pool
-_08058500:
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _08058554
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- bl battle_menu_cursor_related
- ldr r1, =gMoveSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
-_08058532:
- bl sub_8059B18
- bl sub_8059B3C
- bl sub_8059BB0
- b _080586E8
- .pool
-_08058554:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080585A4
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _0805856A
- b _080586E8
-_0805856A:
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- cmp r2, r5
- bne _08058590
-_08058578:
- ldrb r0, [r1]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- b _08058596
- .pool
-_08058590:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
-_08058596:
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- movs r1, 0x1
- b _0805862C
- .pool
-_080585A4:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080585E8
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080585BA
- b _080586E8
-_080585BA:
- ldr r1, =gUnknown_03005D78
- movs r0, 0x1
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080585C8
- b _080586E8
-_080585C8:
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- cmp r2, r0
- beq _08058578
- b _08058590
- .pool
-_080585E8:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0805865C
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080586E8
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r5, [r1]
- cmp r2, r5
- bne _08058620
- ldrb r0, [r1]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- b _08058626
- .pool
-_08058620:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
-_08058626:
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- movs r1, 0x2
-_0805862C:
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- beq _080586CA
- ldrb r0, [r4]
- movs r1, 0x1B
- bl battle_menu_cursor_related_2
- b _080586E8
- .pool
-_0805865C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080586E8
- ldr r3, =gUnknown_03005D74
- ldrb r2, [r3]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _080586E8
- ldr r1, =gUnknown_03005D78
- movs r0, 0x2
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080586E8
- ldr r0, =gMoveSelectionCursor
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- cmp r2, r0
- bne _080586A4
- ldrb r0, [r1]
- movs r1, 0x1D
- bl battle_menu_cursor_related_2
- b _080586AA
- .pool
-_080586A4:
- ldrb r0, [r3]
- bl battle_menu_cursor_related
-_080586AA:
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- bne _080586E0
-_080586CA:
- adds r0, r1, 0
- movs r1, 0
- bl battle_menu_cursor_related_2
- b _080586E8
- .pool
-_080586E0:
- ldrb r0, [r4]
- movs r1, 0x1B
- bl battle_menu_cursor_related_2
-_080586E8:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8058138
-
- thumb_func_start sub_80586F8
-sub_80586F8: @ 80586F8
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805875C
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08058798
- movs r0, 0x5A
- bl m4aSongNumStop
- ldr r3, =gMain
- ldr r0, =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, =sub_8038D64
- bl SetMainCallback2
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08058738
- bl sub_817E3F4
-_08058738:
- bl FreeAllWindowBuffers
- b _08058798
- .pool
-_0805875C:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08058798
- movs r0, 0x5A
- bl m4aSongNumStop
- ldr r3, =gMain
- ldr r0, =0x00000439
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, =sub_8038D64
- bl SetMainCallback2
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08058794
- bl sub_817E3F4
-_08058794:
- bl FreeAllWindowBuffers
-_08058798:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80586F8
-
- thumb_func_start sub_80587B0
-sub_80587B0: @ 80587B0
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08058832
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08058810
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08058832
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _080587F0
- bl sub_800AC34
- b _080587F4
- .pool
-_080587F0:
- bl sub_800ADF8
-_080587F4:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80586F8
- str r1, [r0]
- b _08058832
- .pool
-_08058810:
- movs r0, 0x5A
- bl m4aSongNumStop
- ldr r2, =gMain
- ldr r0, =0x00000439
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldr r0, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r2, 0x8]
- bl SetMainCallback2
-_08058832:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80587B0
-
- thumb_func_start sub_8058844
-sub_8058844: @ 8058844
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08058868
- bl PlayerBufferExecCompleted
-_08058868:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058844
-
- thumb_func_start sub_805887C
-sub_805887C: @ 805887C
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _080588A0
- bl PlayerBufferExecCompleted
-_080588A0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805887C
-
- thumb_func_start bx_802F7A0
-bx_802F7A0: @ 80588B4
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08058908
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl nullsub_25
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl FreeSpriteOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- bl PlayerBufferExecCompleted
-_08058908:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_802F7A0
-
- thumb_func_start sub_8058924
-sub_8058924: @ 8058924
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r1, [r4]
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x9]
- subs r0, 0x1
- strb r0, [r1, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0805895C
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x9]
- bl PlayerBufferExecCompleted
-_0805895C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058924
-
- thumb_func_start sub_805896C
-sub_805896C: @ 805896C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r7, 0
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058998
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080589D0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080589D0
-_08058998:
- ldr r2, =gSprites
- ldr r1, =gHealthBoxesIds
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- mov r10, r3
- cmp r1, r0
- bne _08058A0A
- b _08058A0E
- .pool
-_080589D0:
- ldr r3, =gSprites
- ldr r6, =gHealthBoxesIds
- ldr r2, =gActiveBank
- ldrb r4, [r2]
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r3, 0
- adds r5, 0x1C
- adds r0, r5
- ldr r3, [r0]
- ldr r0, =SpriteCallbackDummy
- mov r10, r2
- cmp r3, r0
- bne _08058A0A
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- cmp r0, r3
- bne _08058A0A
- movs r7, 0x1
-_08058A0A:
- cmp r7, 0
- beq _08058B08
-_08058A0E:
- ldr r0, =gBattleSpritesDataPtr
- mov r9, r0
- ldr r0, [r0]
- mov r6, r10
- ldrb r2, [r6]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r3
- ldrb r1, [r4, 0x1]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08058B08
- movs r1, 0x2
- mov r8, r1
- mov r1, r8
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08058B08
- ldrb r1, [r4]
- movs r3, 0x7F
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r4]
- mov r2, r9
- ldr r0, [r2]
- ldrb r2, [r6]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- mov r0, r9
- ldr r2, [r0]
- ldrb r0, [r6]
- mov r1, r8
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- mov r1, r9
- ldr r2, [r1]
- ldrb r0, [r6]
- mov r1, r8
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- ands r4, r1
- strb r4, [r0, 0x1]
- ldr r4, =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r7, =gBattlePartyID
- ldrb r1, [r6]
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- bl sub_805E990
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058AE4
- ldrb r0, [r6]
- mov r1, r8
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- bl sub_805E990
-_08058AE4:
- mov r2, r9
- ldr r0, [r2]
- mov r2, r10
- ldrb r1, [r2]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x9]
- ldr r1, =gBattleBankFunc
- mov r2, r10
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058924
- str r1, [r0]
-_08058B08:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805896C
-
- thumb_func_start sub_8058B40
-sub_8058B40: @ 8058B40
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r9, r0
- mov r8, r0
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r7, =gActiveBank
- ldrb r2, [r7]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r5, 0x88
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058B80
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_08058B80:
- ldr r1, [r4]
- ldrb r0, [r7]
- movs r6, 0x2
- adds r2, r6, 0
- eors r2, r0
- ldr r1, [r1, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058BB2
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_08058BB2:
- ldr r0, [r4]
- ldrb r2, [r7]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r3
- ldrb r1, [r4]
- movs r5, 0x8
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058C82
- adds r1, r6, 0
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08058C82
- ldrb r1, [r4, 0x1]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08058C68
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058C38
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08058C38
- ldr r4, =gHealthBoxesIds
- ldrb r0, [r7]
- adds r1, r6, 0
- eors r1, r0
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r7]
- eors r0, r6
- bl sub_8076918
- ldrb r0, [r7]
- eors r0, r6
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_08058C38:
- ldr r5, =gHealthBoxesIds
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r4]
- bl sub_8076918
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_08058C68:
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x1]
-_08058C82:
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x80
- bne _08058D32
- movs r1, 0x2
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08058D32
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08058D32
- ldr r0, [r5]
- ldrb r1, [r4]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08058D14
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x42
- ands r0, r1
- cmp r0, 0x42
- bne _08058D08
- ldr r0, =gMPlay_BGM
- bl m4aMPlayContinue
- b _08058D14
- .pool
-_08058D08:
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_08058D14:
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r0, 0x1
- mov r9, r0
-_08058D32:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058D52
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058DAC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08058DAC
-_08058D52:
- ldr r2, =gSprites
- ldr r0, =gUnknown_03005D7C
- ldr r1, =gActiveBank
- ldrb r4, [r1]
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r3, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r3, r0
- bne _08058E0A
- ldr r0, =gBankSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r3
- bne _08058E0A
- b _08058E06
- .pool
-_08058DAC:
- ldr r2, =gSprites
- ldr r7, =gUnknown_03005D7C
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- adds r0, r3, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r4, r0
- bne _08058E0A
- ldr r6, =gBankSpriteIds
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r5, [r0]
- cmp r5, r4
- bne _08058E0A
- movs r0, 0x2
- eors r3, r0
- adds r0, r3, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r4, [r0]
- cmp r4, r5
- bne _08058E0A
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _08058E0A
-_08058E06:
- movs r0, 0x1
- mov r8, r0
-_08058E0A:
- mov r0, r9
- cmp r0, 0
- beq _08058EAA
- mov r0, r8
- cmp r0, 0
- beq _08058EAA
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08058E48
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08058E48
- ldr r2, =gUnknown_03005D7C
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_08058E48:
- ldr r1, =gUnknown_03005D7C
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r1, [r2, 0x9]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x9]
- ldr r0, [r3]
- ldrb r2, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r0, [r3]
- ldrb r2, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805896C
- str r1, [r0]
-_08058EAA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058B40
-
- thumb_func_start sub_8058EDC
-sub_8058EDC: @ 8058EDC
- push {r4-r6,lr}
- ldr r2, =gSprites
- ldr r0, =gHealthBoxesIds
- ldr r6, =gActiveBank
- ldrb r3, [r6]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r4, r0
- bne _08058F94
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08058F94
- ldr r0, =gBankSpriteIds
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _08058F94
- adds r0, r3, 0
- bl sub_805E408
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r4, =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r0, [r5]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08058F88
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
-_08058F88:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_8058FC0
- str r0, [r1]
-_08058F94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058EDC
-
- thumb_func_start sub_8058FC0
-sub_8058FC0: @ 8058FC0
- push {r4,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0805900E
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _0805900E
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r2, =gBattlePartyID
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- bl PlayerBufferExecCompleted
-_0805900E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8058FC0
-
- thumb_func_start sub_805902C
-sub_805902C: @ 805902C
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _0805905E
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_0805905E:
- ldr r4, =gSprites
- ldr r0, =gUnknown_03005D7C
- ldrb r2, [r5]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r3, r0, 2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _080590D2
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080590D2
- adds r0, r3, r4
- bl DestroySprite
- ldr r4, =gHealthBoxesIds
- ldrb r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r5]
- bl sub_8076918
- ldrb r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058EDC
- str r1, [r0]
-_080590D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805902C
-
- thumb_func_start c3_0802FDF4
-c3_0802FDF4: @ 8059100
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08059122
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- adds r0, r4, 0
- bl DestroyTask
-_08059122:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0802FDF4
-
- thumb_func_start bx_t1_healthbar_update
-bx_t1_healthbar_update: @ 8059130
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r6, =gHealthBoxesIds
- adds r1, r0, r6
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_8074AA0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r1, r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08059178
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0
- bl UpdateHpTextInHealthbox
- b _08059192
- .pool
-_08059178:
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- bl PlayerBufferExecCompleted
-_08059192:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_t1_healthbar_update
-
- thumb_func_start sub_80591A0
-sub_80591A0: @ 80591A0
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080591B2
- bl PlayerBufferExecCompleted
-_080591B2:
- pop {r0}
- bx r0
- thumb_func_end sub_80591A0
-
- thumb_func_start sub_80591B8
-sub_80591B8: @ 80591B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- mov r8, r0
- ldrb r0, [r0, 0x8]
- mov r10, r0
- mov r1, r8
- ldrb r7, [r1, 0xC]
- str r7, [sp, 0x8]
- ldrh r2, [r1, 0xA]
- str r2, [sp, 0xC]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080591FE
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r10, r0
- bne _080591FE
- b _08059314
-_080591FE:
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- ldr r3, =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x13]
- movs r1, 0xCA
- lsls r1, 1
- muls r1, r2
- adds r4, r1
- adds r4, r3
- ldr r2, [r4]
- str r2, [sp]
- ldr r3, [sp, 0xC]
- lsls r1, r3, 16
- asrs r1, 16
- adds r0, r1
- cmp r0, r2
- bcc _080592EC
- adds r0, r6, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r6, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- ldr r0, [sp, 0xC]
- subs r2, r0, r2
- ldr r4, =gActiveBank
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitCmd33
- strb r5, [r4]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080592D4
- ldr r2, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r2
- mov r1, r10
- ldrh r0, [r0]
- cmp r1, r0
- beq _080592B2
- movs r0, 0x2
- eors r7, r0
- lsls r0, r7, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r1, r0
- bne _080592D4
-_080592B2:
- ldr r0, =sub_8059544
- b _08059316
- .pool
-_080592D4:
- ldr r0, =gTasks
- mov r2, r9
- lsls r1, r2, 2
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_805965C
- b _08059318
- .pool
-_080592EC:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, =gBattleBankFunc
- ldr r3, [sp, 0x8]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, =sub_80591A0
- str r1, [r0]
- mov r0, r9
- bl DestroyTask
- b _0805931A
- .pool
-_08059314:
- ldr r0, =sub_8059330
-_08059316:
- mov r1, r8
-_08059318:
- str r0, [r1]
-_0805931A:
- 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_80591B8
-
- thumb_func_start sub_8059330
-sub_8059330: @ 8059330
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- mov r8, r2
- add r8, r0
- mov r0, r8
- lsls r0, 3
- mov r8, r0
- add r8, r1
- mov r2, r8
- ldrb r1, [r2, 0x8]
- movs r0, 0xA
- ldrsh r2, [r2, r0]
- mov r9, r2
- mov r2, r8
- ldrb r2, [r2, 0xC]
- mov r10, r2
- movs r0, 0x64
- adds r6, r1, 0
- muls r6, r0
- ldr r0, =gPlayerParty
- adds r6, r0
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- adds r3, r0, 0
- ldr r6, =gExperienceTables
- lsls r1, r4, 2
- ldr r2, =gBaseStats
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r2
- adds r1, r0
- adds r1, r6
- ldr r1, [r1]
- subs r3, r1
- adds r4, 0x1
- lsls r4, 2
- adds r4, r0
- adds r4, r6
- ldr r2, [r4]
- subs r2, r1
- ldr r0, =gHealthBoxesIds
- add r0, r10
- ldrb r1, [r0]
- mov r0, r9
- negs r0, r0
- str r0, [sp]
- mov r0, r10
- bl SetBattleBarStruct
- movs r0, 0x21
- bl PlaySE
- ldr r0, =sub_8059400
- mov r1, r8
- str r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059330
-
- thumb_func_start sub_8059400
-sub_8059400: @ 8059400
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r6, r0, r1
- ldrh r1, [r6, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r6, r2]
- cmp r0, 0xC
- bgt _08059430
- adds r0, r1, 0x1
- strh r0, [r6, 0x1C]
- b _0805952C
- .pool
-_08059430:
- ldrb r0, [r6, 0x8]
- mov r9, r0
- ldrh r2, [r6, 0xA]
- mov r10, r2
- ldrb r7, [r6, 0xC]
- ldr r5, =gHealthBoxesIds
- adds r5, r7, r5
- ldrb r1, [r5]
- adds r0, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8074AA0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _0805952C
- movs r0, 0x21
- bl m4aSongNumStop
- movs r0, 0x64
- mov r1, r9
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r3, =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r1
- adds r4, r0
- adds r4, r3
- ldr r1, [r4]
- str r1, [sp]
- mov r2, r10
- lsls r0, r2, 16
- asrs r4, r0, 16
- ldr r0, [sp, 0x4]
- adds r0, r4
- cmp r0, r1
- blt _08059510
- adds r0, r5, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- subs r2, r4, r2
- ldr r4, =gActiveBank
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitCmd33
- strb r5, [r4]
- ldr r0, =sub_8059544
- str r0, [r6]
- b _0805952C
- .pool
-_08059510:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r5, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, =gBattleBankFunc
- lsls r0, r7, 2
- adds r0, r1
- ldr r1, =sub_80591A0
- str r1, [r0]
- mov r0, r8
- bl DestroyTask
-_0805952C:
- 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_8059400
-
- thumb_func_start sub_8059544
-sub_8059544: @ 8059544
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrb r4, [r0, 0xC]
- ldrb r6, [r0, 0x8]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08059578
- ldr r1, =gBattlePartyID
- movs r0, 0x2
- adds r2, r4, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bne _08059578
- adds r4, r2, 0
-_08059578:
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl move_anim_start_t4
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80595A4
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059544
-
- thumb_func_start sub_80595A4
-sub_80595A4: @ 80595A4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r2, r0, r1
- ldrb r5, [r2, 0xC]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08059646
- ldrb r4, [r2, 0x8]
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x38
- bl GetMonData
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08059624
- ldr r1, =gBattlePartyID
- movs r0, 0x2
- adds r2, r5, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _08059624
- ldr r0, =gHealthBoxesIds
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r1, r7, 0
- movs r2, 0
- bl UpdateHealthboxAttribute
- b _08059638
- .pool
-_08059624:
- ldr r0, =gHealthBoxesIds
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r1, 0x64
- muls r1, r4
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
-_08059638:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_805965C
- str r0, [r1]
-_08059646:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80595A4
-
- thumb_func_start sub_805965C
-sub_805965C: @ 805965C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r1, [r4, 0x8]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- ldrb r0, [r4, 0xC]
- ldr r1, =gBattleBankFunc
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80591A0
- str r1, [r0]
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805965C
-
- thumb_func_start sub_80596A8
-sub_80596A8: @ 80596A8
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r3, 0x26
- ldrsh r0, [r0, r3]
- adds r1, r0
- cmp r1, 0xA0
- ble _08059724
- ldr r1, =gBattlePartyID
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl nullsub_24
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_08059724:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80596A8
-
- thumb_func_start sub_8059744
-sub_8059744: @ 8059744
- push {r4-r6,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08059798
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_08059798:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059744
-
- thumb_func_start sub_80597B4
-sub_80597B4: @ 80597B4
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080597C6
- bl PlayerBufferExecCompleted
-_080597C6:
- pop {r0}
- bx r0
- thumb_func_end sub_80597B4
-
- thumb_func_start sub_80597CC
-sub_80597CC: @ 80597CC
- push {r4,lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0805980A
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059828
- str r1, [r0]
- ldr r3, =gTasks
- ldr r1, =gUnknown_03005D7C
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrb r4, [r1, 0x8]
- bl DestroyTask
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl sub_81B89AC
-_0805980A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80597CC
-
- thumb_func_start sub_8059828
-sub_8059828: @ 8059828
- push {lr}
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =BattleMainCB2
- cmp r1, r0
- bne _08059898
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08059898
- ldr r0, =gUnknown_0203CEE8
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08059870
- ldr r0, =gUnknown_0203CEE9
- ldrb r1, [r0]
- ldr r2, =gUnknown_0203CF00
- movs r0, 0x1
- bl EmitCmd34
- b _0805987A
- .pool
-_08059870:
- movs r0, 0x1
- movs r1, 0x6
- movs r2, 0
- bl EmitCmd34
-_0805987A:
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _08059894
- bl b_link_standby_message
-_08059894:
- bl PlayerBufferExecCompleted
-_08059898:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059828
-
- thumb_func_start sub_80598A4
-sub_80598A4: @ 80598A4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080598CC
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80598E0
- str r1, [r0]
- bl nullsub_35
- bl FreeAllWindowBuffers
- bl sub_81AABB0
-_080598CC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80598A4
-
- thumb_func_start sub_80598E0
-sub_80598E0: @ 80598E0
- push {lr}
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =BattleMainCB2
- cmp r1, r0
- bne _08059906
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08059906
- ldr r0, =gScriptItemId
- ldrh r1, [r0]
- movs r0, 0x1
- bl EmitCmd35
- bl PlayerBufferExecCompleted
-_08059906:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80598E0
-
- thumb_func_start bx_wait_t1
-bx_wait_t1: @ 805991C
- push {lr}
- ldr r0, =gDoingBattleAnim
- ldrb r0, [r0]
- cmp r0, 0
- beq _08059942
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08059946
-_08059942:
- bl PlayerBufferExecCompleted
-_08059946:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_wait_t1
-
- thumb_func_start bx_blink_t1
-bx_blink_t1: @ 8059958
- push {r4,lr}
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _080599A4
- movs r3, 0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gDoingBattleAnim
- strb r3, [r0]
- bl PlayerBufferExecCompleted
- b _080599CE
- .pool
-_080599A4:
- ldrh r0, [r4, 0x30]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080599C8
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080599C8:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_080599CE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end bx_blink_t1
-
- thumb_func_start sub_80599D4
-sub_80599D4: @ 80599D4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08059A02
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- cmp r0, 0
- beq _08059A02
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- bl BattleDestroyCursorAt
- movs r0, 0
- strb r0, [r4]
- movs r0, 0
- bl BattleCreateCursorAt
-_08059A02:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08059A2C
- ldr r4, =gUnknown_03005D74
- ldrb r0, [r4]
- cmp r0, 0
- bne _08059A2C
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- bl BattleDestroyCursorAt
- movs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- bl BattleCreateCursorAt
-_08059A2C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08059A7A
- str r2, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_03005D74
- ldrb r0, [r0]
- cmp r0, 0
- beq _08059A6C
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0
- bl EmitCmd33
- b _08059A76
- .pool
-_08059A6C:
- movs r0, 0x1
- movs r1, 0xD
- movs r2, 0
- bl EmitCmd33
-_08059A76:
- bl PlayerBufferExecCompleted
-_08059A7A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08059AA0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- movs r0, 0x5
- bl PlaySE
- bl PlayerBufferExecCompleted
-_08059AA0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80599D4
-
- thumb_func_start sub_8059AAC
-sub_8059AAC: @ 8059AAC
- push {r4-r7,lr}
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r1, 9
- ldr r3, =gBattleBufferA + 4
- ldr r2, =gUnknown_03005D78
- movs r0, 0
- strb r0, [r2]
- movs r5, 0
- ldr r7, =gDisplayedStringBattle
- adds r4, r1, r3
- adds r6, r2, 0
-_08059AC4:
- lsls r0, r5, 24
- lsrs r0, 24
- bl battle_menu_cursor_related
- ldrh r1, [r4]
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r7, 0
- bl StringCopy
- adds r1, r5, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl sub_814F9EC
- ldrh r0, [r4]
- cmp r0, 0
- beq _08059AF4
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_08059AF4:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08059AC4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059AAC
-
- thumb_func_start sub_8059B18
-sub_8059B18: @ 8059B18
- push {r4,lr}
- ldr r4, =gDisplayedStringBattle
- ldr r1, =gText_MoveInterfacePP
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_814F9EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059B18
-
- thumb_func_start sub_8059B3C
-sub_8059B3C: @ 8059B3C
- push {r4-r7,lr}
- ldr r5, =gBattleBufferA
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- lsls r0, 9
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08059B98
- bl SetPpNumbersPaletteInMoveSelection
- ldrb r1, [r7]
- lsls r4, r1, 9
- adds r0, r5, 0x4
- adds r4, r0
- ldr r6, =gDisplayedStringBattle
- ldr r5, =gMoveSelectionCursor
- adds r1, r5
- adds r0, r4, 0
- adds r0, 0x8
- ldrb r1, [r1]
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r1, 0xBA
- strb r1, [r0]
- adds r0, 0x1
- ldrb r1, [r7]
- adds r1, r5
- adds r4, 0xC
- ldrb r1, [r1]
- adds r4, r1
- ldrb r1, [r4]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- movs r1, 0x9
- bl sub_814F9EC
-_08059B98:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059B3C
-
- thumb_func_start sub_8059BB0
-sub_8059BB0: @ 8059BB0
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r4, [r5]
- lsls r4, 9
- ldr r0, =gBattleBufferA + 4
- adds r4, r0
- ldr r6, =gDisplayedStringBattle
- ldr r1, =gText_MoveInterfaceType
- adds r0, r6, 0
- bl StringCopy
- movs r1, 0xFC
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x6
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- ldr r3, =gBattleMoves
- ldr r2, =gMoveSelectionCursor
- ldrb r1, [r5]
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 1
- adds r4, r1
- ldrh r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0x2]
- lsls r1, r2, 3
- subs r1, r2
- ldr r2, =gTypeNames
- adds r1, r2
- bl StringCopy
- adds r0, r6, 0
- movs r1, 0xA
- bl sub_814F9EC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059BB0
-
- thumb_func_start battle_menu_cursor_related_2
-battle_menu_cursor_related_2: @ 8059C28
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r1, 24
- lsrs r1, 24
- add r2, sp, 0xC
- adds r0, r1, 0x1
- strh r0, [r2]
- adds r0, r2, 0
- adds r1, 0x2
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- adds r2, r0
- adds r2, 0x1
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x37
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end battle_menu_cursor_related_2
-
- thumb_func_start battle_menu_cursor_related
-battle_menu_cursor_related: @ 8059C70
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- ldr r1, =0x00001016
- strh r1, [r0]
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- adds r2, r0
- adds r2, 0x1
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x37
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end battle_menu_cursor_related
-
- thumb_func_start ActionSelectionCreateCursorAt
-ActionSelectionCreateCursorAt: @ 8059CB4
- push {r4,lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- movs r4, 0x1
- strh r4, [r0]
- movs r1, 0x2
- strh r1, [r0, 0x2]
- adds r0, r3, 0
- ands r0, r4
- lsls r2, r0, 3
- subs r2, r0
- adds r2, 0x10
- lsls r2, 24
- lsrs r2, 24
- ands r3, r1
- adds r3, 0x23
- str r4, [sp]
- str r1, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ActionSelectionCreateCursorAt
-
- thumb_func_start ActionSelectionDestroyCursorAt
-ActionSelectionDestroyCursorAt: @ 8059CF8
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- ldr r1, =0x00001016
- strh r1, [r0]
- strh r1, [r0, 0x2]
- movs r1, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r0, 3
- subs r2, r0
- adds r2, 0x10
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x2
- ands r3, r0
- adds r3, 0x23
- str r1, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- add r1, sp, 0xC
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end ActionSelectionDestroyCursorAt
-
- thumb_func_start sub_8059D40
-sub_8059D40: @ 8059D40
- push {lr}
- ldr r0, =ReshowBattleScreenAfterMenu
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059D40
-
- thumb_func_start sub_8059D50
-sub_8059D50: @ 8059D50
- push {lr}
- ldr r0, =ReshowBattleScreenAfterMenu
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059D50
-
- thumb_func_start sub_8059D60
-sub_8059D60: @ 8059D60
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08059D82
- bl PlayerBufferExecCompleted
-_08059D82:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8059D60
-
- thumb_func_start bx_8030B2C
-bx_8030B2C: @ 8059D90
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08059DB2
- bl PlayerBufferExecCompleted
-_08059DB2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_8030B2C
-
- thumb_func_start b_link_standby_message
-b_link_standby_message: @ 8059DC0
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08059DE0
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r0, =gText_LinkStandby
- movs r1, 0
- bl sub_814F9EC
-_08059DE0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end b_link_standby_message
-
- thumb_func_start dp01t_00_1_getattr
-dp01t_00_1_getattr: @ 8059DF4
- push {r4-r6,lr}
- sub sp, 0x100
- movs r6, 0
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _08059E2C
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- mov r1, sp
- bl dp01_getattr_by_ch1_for_player_pokemon_
- adds r6, r0, 0
- b _08059E4E
- .pool
-_08059E2C:
- ldrb r4, [r1]
- movs r5, 0
-_08059E30:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08059E46
- lsls r0, r5, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r6
- bl dp01_getattr_by_ch1_for_player_pokemon_
- adds r6, r0
-_08059E46:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x5
- ble _08059E30
-_08059E4E:
- lsls r1, r6, 16
- lsrs r1, 16
- movs r0, 0x1
- mov r2, sp
- bl EmitDataTransfer
- bl PlayerBufferExecCompleted
- add sp, 0x100
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end dp01t_00_1_getattr
-
- thumb_func_start dp01_getattr_by_ch1_for_player_pokemon_
-dp01_getattr_by_ch1_for_player_pokemon_: @ 8059E68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x90
- adds r7, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, =gBattleBufferA
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3B
- bls _08059E92
- bl _0805A5FE
-_08059E92:
- lsls r0, 2
- ldr r1, =_08059EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08059EA8:
- .4byte _08059F98
- .4byte _0805A1BC
- .4byte _0805A1CC
- .4byte _0805A1DC
- .4byte _0805A244
- .4byte _0805A244
- .4byte _0805A244
- .4byte _0805A244
- .4byte _0805A260
- .4byte _0805A29C
- .4byte _0805A29C
- .4byte _0805A29C
- .4byte _0805A29C
- .4byte _0805A5FE
- .4byte _0805A5FE
- .4byte _0805A5FE
- .4byte _0805A5FE
- .4byte _0805A2B8
- .4byte _0805A2C8
- .4byte _0805A2F8
- .4byte _0805A308
- .4byte _0805A318
- .4byte _0805A328
- .4byte _0805A338
- .4byte _0805A348
- .4byte _0805A358
- .4byte _0805A368
- .4byte _0805A378
- .4byte _0805A388
- .4byte _0805A398
- .4byte _0805A3A8
- .4byte _0805A3B8
- .4byte _0805A408
- .4byte _0805A418
- .4byte _0805A428
- .4byte _0805A438
- .4byte _0805A448
- .4byte _0805A458
- .4byte _0805A468
- .4byte _0805A478
- .4byte _0805A488
- .4byte _0805A4BC
- .4byte _0805A4CC
- .4byte _0805A4DC
- .4byte _0805A4EC
- .4byte _0805A4FC
- .4byte _0805A50C
- .4byte _0805A51C
- .4byte _0805A52C
- .4byte _0805A54C
- .4byte _0805A55C
- .4byte _0805A56C
- .4byte _0805A57C
- .4byte _0805A58C
- .4byte _0805A59C
- .4byte _0805A5AC
- .4byte _0805A5BC
- .4byte _0805A5CC
- .4byte _0805A5DC
- .4byte _0805A5EC
-_08059F98:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2E]
- movs r6, 0
- add r0, sp, 0x24
- mov r9, r0
- movs r1, 0x3B
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0x2B
- str r2, [sp, 0x80]
- mov r0, sp
- adds r0, 0x2A
- str r0, [sp, 0x7C]
- mov r1, sp
- adds r1, 0x68
- str r1, [sp, 0x8C]
- adds r2, 0x5
- str r2, [sp, 0x84]
- adds r0, 0x12
- str r0, [sp, 0x88]
- mov r8, r4
- add r4, sp, 0xC
-_08059FE4:
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- bl GetMonData
- strh r0, [r4]
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- bl GetMonData
- mov r2, r9
- adds r1, r2, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08059FE4
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- mov r3, sp
- movs r5, 0x1F
- ands r0, r5
- ldrb r2, [r3, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- mov r3, sp
- movs r6, 0x1F
- ands r0, r6
- lsls r0, 5
- ldrh r2, [r3, 0x14]
- ldr r1, =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r3, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [sp, 0x14]
- ldr r2, =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- mov r3, sp
- ands r0, r6
- lsls r0, 4
- ldrh r2, [r3, 0x16]
- ldr r1, =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 1
- ldrb r2, [r3, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x48]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- str r0, [sp, 0x4C]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [sp, 0x7C]
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, sp
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r3, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- mov r3, sp
- lsls r0, 7
- ldrb r2, [r3, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x54]
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, [sp, 0x8C]
- bl GetMonData
- ldr r0, [sp, 0x84]
- ldr r1, [sp, 0x8C]
- bl StringCopy10
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, [sp, 0x88]
- bl GetMonData
- mov r2, sp
- movs r6, 0
-_0805A19C:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x57
- bls _0805A19C
- b _0805A5FE
- .pool
-_0805A1BC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- b _0805A536
- .pool
-_0805A1CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- b _0805A536
- .pool
-_0805A1DC:
- movs r6, 0
- add r2, sp, 0x58
- mov r9, r2
- add r0, sp, 0x60
- mov r10, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- mov r8, r9
-_0805A1F2:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- mov r2, r10
- adds r1, r2, r6
- strb r0, [r1]
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805A1F2
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- mov r1, r9
- strb r0, [r1, 0xC]
- mov r2, r9
- movs r6, 0
-_0805A230:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0xF
- bls _0805A230
- b _0805A5FE
- .pool
-_0805A244:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x9
- b _0805A536
- .pool
-_0805A260:
- movs r6, 0
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r2, =gPlayerParty
- mov r8, r2
-_0805A26C:
- adds r1, r6, 0
- adds r1, 0x11
- mov r2, r8
- adds r0, r4, r2
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805A26C
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- b _0805A5FE
- .pool
-_0805A29C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x8
- b _0805A5F6
- .pool
-_0805A2B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- b _0805A2D2
- .pool
-_0805A2C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x19
-_0805A2D2:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- movs r6, 0x3
- b _0805A5FE
- .pool
-_0805A2F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1A
- b _0805A5F6
- .pool
-_0805A308:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1B
- b _0805A5F6
- .pool
-_0805A318:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1C
- b _0805A5F6
- .pool
-_0805A328:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1D
- b _0805A5F6
- .pool
-_0805A338:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1E
- b _0805A5F6
- .pool
-_0805A348:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1F
- b _0805A5F6
- .pool
-_0805A358:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x20
- b _0805A5F6
- .pool
-_0805A368:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x22
- b _0805A5F6
- .pool
-_0805A378:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x23
- b _0805A5F6
- .pool
-_0805A388:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x24
- b _0805A5F6
- .pool
-_0805A398:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x25
- b _0805A5F6
- .pool
-_0805A3A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x26
- b _0805A5F6
- .pool
-_0805A3B8:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- strb r0, [r7, 0x1]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- strb r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- strb r0, [r7, 0x3]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- strb r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- strb r0, [r7, 0x5]
- movs r6, 0x6
- b _0805A5FE
- .pool
-_0805A408:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x27
- b _0805A5F6
- .pool
-_0805A418:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x28
- b _0805A5F6
- .pool
-_0805A428:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x29
- b _0805A5F6
- .pool
-_0805A438:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2A
- b _0805A5F6
- .pool
-_0805A448:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2B
- b _0805A5F6
- .pool
-_0805A458:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- b _0805A5F6
- .pool
-_0805A468:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- b _0805A492
- .pool
-_0805A478:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x9
- b _0805A536
- .pool
-_0805A488:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x37
-_0805A492:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- lsrs r0, r1, 24
- strb r0, [r7, 0x3]
- movs r6, 0x4
- b _0805A5FE
- .pool
-_0805A4BC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- b _0805A5F6
- .pool
-_0805A4CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- b _0805A536
- .pool
-_0805A4DC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- b _0805A536
- .pool
-_0805A4EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3B
- b _0805A536
- .pool
-_0805A4FC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3C
- b _0805A536
- .pool
-_0805A50C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3D
- b _0805A536
- .pool
-_0805A51C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3E
- b _0805A536
- .pool
-_0805A52C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3F
-_0805A536:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- strb r0, [r7]
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r6, 0x2
- b _0805A5FE
- .pool
-_0805A54C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- b _0805A5F6
- .pool
-_0805A55C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- b _0805A5F6
- .pool
-_0805A56C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- b _0805A5F6
- .pool
-_0805A57C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- b _0805A5F6
- .pool
-_0805A58C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- b _0805A5F6
- .pool
-_0805A59C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- b _0805A5F6
- .pool
-_0805A5AC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x32
- b _0805A5F6
- .pool
-_0805A5BC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x33
- b _0805A5F6
- .pool
-_0805A5CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x34
- b _0805A5F6
- .pool
-_0805A5DC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x35
- b _0805A5F6
- .pool
-_0805A5EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x36
-_0805A5F6:
- bl GetMonData
- strb r0, [r7]
- movs r6, 0x1
-_0805A5FE:
- adds r0, r6, 0
- add sp, 0x90
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end dp01_getattr_by_ch1_for_player_pokemon_
-
- thumb_func_start sub_805A614
-sub_805A614: @ 805A614
- push {r4-r7,lr}
- sub sp, 0x58
- ldr r2, =gBattlePartyID
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- adds r4, r2, 0
- muls r4, r0
- ldr r3, =gBattleBufferA
- lsls r1, 9
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r2, [r0]
- ldr r0, =gPlayerParty
- adds r0, r2, r0
- adds r6, r4, r0
- mov r0, sp
- adds r4, r0, r2
- movs r2, 0
- adds r0, r3, 0x2
- adds r1, r0
- adds r7, r5, 0
- mov r12, r3
- ldrb r1, [r1]
- cmp r2, r1
- bcs _0805A66A
- adds r3, r0, 0
-_0805A650:
- adds r1, r4, r2
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r5]
- lsls r0, 9
- adds r0, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcc _0805A650
-_0805A66A:
- ldrb r0, [r7]
- lsls r0, 9
- mov r1, r12
- adds r1, 0x2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- adds r2, r4, 0
- bl EmitDataTransfer
- bl PlayerBufferExecCompleted
- add sp, 0x58
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805A614
-
- thumb_func_start dp01t_02_1_setattr
-dp01t_02_1_setattr: @ 805A69C
- push {r4,r5,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805A6CC
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- bl dp01_setattr_by_ch1_for_player_pokemon
- b _0805A6EA
- .pool
-_0805A6CC:
- ldrb r4, [r1]
- movs r5, 0
-_0805A6D0:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0805A6DE
- adds r0, r5, 0
- bl dp01_setattr_by_ch1_for_player_pokemon
-_0805A6DE:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0805A6D0
-_0805A6EA:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end dp01t_02_1_setattr
-
- thumb_func_start dp01_setattr_by_ch1_for_player_pokemon
-dp01_setattr_by_ch1_for_player_pokemon: @ 805A6F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- ldr r2, =gBattleBufferA + 3
- adds r3, r0, r2
- adds r6, r3, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r7, r2, 0
- cmp r0, 0x3B
- bls _0805A720
- bl _0805B0BA
-_0805A720:
- lsls r0, 2
- ldr r1, =_0805A738
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0805A738:
- .4byte _0805A828
- .4byte _0805A9C0
- .4byte _0805A9E0
- .4byte _0805AA00
- .4byte _0805AA58
- .4byte _0805AA58
- .4byte _0805AA58
- .4byte _0805AA58
- .4byte _0805AA80
- .4byte _0805AAE4
- .4byte _0805AAE4
- .4byte _0805AAE4
- .4byte _0805AAE4
- .4byte _0805B0BA
- .4byte _0805B0BA
- .4byte _0805B0BA
- .4byte _0805B0BA
- .4byte _0805AB14
- .4byte _0805AB34
- .4byte _0805AB54
- .4byte _0805AB74
- .4byte _0805AB94
- .4byte _0805ABB4
- .4byte _0805ABD4
- .4byte _0805ABF4
- .4byte _0805AC14
- .4byte _0805AC34
- .4byte _0805AC54
- .4byte _0805AC74
- .4byte _0805AC94
- .4byte _0805ACB4
- .4byte _0805ACD4
- .4byte _0805AD44
- .4byte _0805AD64
- .4byte _0805AD84
- .4byte _0805ADA4
- .4byte _0805ADC4
- .4byte _0805ADE4
- .4byte _0805AE04
- .4byte _0805AE24
- .4byte _0805AE44
- .4byte _0805AE64
- .4byte _0805AE84
- .4byte _0805AEA4
- .4byte _0805AEC4
- .4byte _0805AEE4
- .4byte _0805AF04
- .4byte _0805AF24
- .4byte _0805AF44
- .4byte _0805AF64
- .4byte _0805AF84
- .4byte _0805AFA4
- .4byte _0805AFC4
- .4byte _0805AFE4
- .4byte _0805B004
- .4byte _0805B024
- .4byte _0805B044
- .4byte _0805B064
- .4byte _0805B084
- .4byte _0805B0A4
-_0805A828:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl SetMonData
- adds r2, r6, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r6
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r6, 0x2
- str r0, [sp, 0x4]
- adds r0, r6, 0x4
- str r0, [sp, 0x8]
- adds r0, r6, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r7, r6, 0
- adds r7, 0x24
- adds r4, r6, 0
- adds r4, 0xC
-_0805A88E:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r7, 0
- bl SetMonData
- adds r7, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0805A88E
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r6, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r6, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _0805B0BA
- .pool
-_0805A9C0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xB
- bl SetMonData
- b _0805B0BA
- .pool
-_0805A9E0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xC
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AA00:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r3
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r6, r3, 0
- adds r6, 0x8
- adds r4, r3, 0
-_0805AA1A:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0805AA1A
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AA58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _0805AAFC
- .pool
-_0805AA80:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x11
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AAE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_0805AAFC:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB14:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB34:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x19
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB54:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1A
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB74:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1B
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AB94:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1C
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ABB4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1D
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ABD4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1E
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ABF4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1F
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC14:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x20
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC34:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x22
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC54:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x23
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC74:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x24
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AC94:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x25
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ACB4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x26
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ACD4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x27
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _0805ADF4
- .pool
-_0805AD44:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x27
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AD64:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x28
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AD84:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x29
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ADA4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2A
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ADC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2B
- bl SetMonData
- b _0805B0BA
- .pool
-_0805ADE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
-_0805ADF4:
- movs r1, 0x2C
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE04:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE24:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x9
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE44:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x37
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE64:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x38
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AE84:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x39
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AEA4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3A
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AEC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3B
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AEE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3C
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF04:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3D
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF24:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3E
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF44:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3F
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF64:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x16
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AF84:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x17
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AFA4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x18
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AFC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x21
- bl SetMonData
- b _0805B0BA
- .pool
-_0805AFE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2F
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B004:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x30
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B024:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x32
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B044:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x33
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B064:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x34
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B084:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x35
- bl SetMonData
- b _0805B0BA
- .pool
-_0805B0A4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x36
- bl SetMonData
-_0805B0BA:
- ldr r2, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01_setattr_by_ch1_for_player_pokemon
-
- thumb_func_start sub_805B0F0
-sub_805B0F0: @ 805B0F0
- push {r4-r7,lr}
- ldr r1, =gBattlePartyID
- ldr r7, =gActiveBank
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, =gBattleBufferA
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _0805B148
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_0805B126:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0805B126
-_0805B148:
- bl PlayerBufferExecCompleted
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B0F0
-
- thumb_func_start sub_805B164
-sub_805B164: @ 805B164
- push {r4,lr}
- ldr r2, =gBattlePartyID
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
- ldrb r3, [r4]
- adds r0, r3, r0
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_0802E404
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B164
-
- thumb_func_start sub_805B1CC
-sub_805B1CC: @ 805B1CC
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r4, =gBattleBufferA
- lsls r1, r0, 9
- adds r6, r4, 0x2
- adds r1, r6
- ldrb r1, [r1]
- bl sub_805EF84
- ldr r2, =gBattlePartyID
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r2
- lsls r0, 9
- adds r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- movs r4, 0
- strh r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldr r1, =gActionSelectionCursor
- ldrb r0, [r5]
- adds r0, r1
- strb r4, [r0]
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r5]
- adds r0, r1
- strb r4, [r0]
- ldrb r0, [r5]
- lsls r1, r0, 9
- adds r1, r6
- ldrb r1, [r1]
- bl sub_805B258
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805902C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B1CC
-
- thumb_func_start sub_805B258
-sub_805B258: @ 805B258
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_805EF84
- ldr r0, =gBattlePartyID
- lsls r2, r6, 1
- adds r2, r0
- ldr r0, =gBattleBufferA
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
- ldrh r1, [r2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =sub_805D714
- bl CreateInvisibleSpriteWithCallback
- ldr r1, =gUnknown_03005D7C
- mov r9, r1
- add r9, r6
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_80A5C6C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_80A6138
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r10
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, =gSprites
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFF
- bl sub_80753E8
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B258
-
- thumb_func_start sub_805B3D4
-sub_805B3D4: @ 805B3D4
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _0805B41C
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805B464
- str r1, [r0]
- b _0805B452
- .pool
-_0805B41C:
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerBufferExecCompleted
-_0805B452:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B3D4
-
- thumb_func_start sub_805B464
-sub_805B464: @ 805B464
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r1, [r4, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _0805B48C
- cmp r0, 0x1
- beq _0805B4BA
- b _0805B4E2
- .pool
-_0805B48C:
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805B4A6
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0805B4A6:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _0805B4E2
-_0805B4BA:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805B4E2
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059744
- str r1, [r0]
-_0805B4E2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B464
-
- thumb_func_start sub_805B4F0
-sub_805B4F0: @ 805B4F0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805B5B4
- bl GetMultiplayerId
- ldr r5, =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- movs r4, 0xFF
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _0805B538
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x5
- bne _0805B558
-_0805B538:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x2
- b _0805B5BA
- .pool
-_0805B558:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x2
- beq _0805B58A
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1]
- ands r4, r0
- cmp r4, 0x1
- bne _0805B5A0
-_0805B58A:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x4
- b _0805B5BA
-_0805B5A0:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r4, [r1, 0x13]
- b _0805B5BA
-_0805B5B4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r4, [r0, 0x8]
-_0805B5BA:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r2, 0x40
- ands r1, r2
- adds r5, r0, 0
- cmp r1, 0
- beq _0805B63C
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankIdentity
- movs r1, 0x2
- ands r1, r0
- movs r0, 0x20
- mov r9, r0
- cmp r1, 0
- beq _0805B5E0
- movs r1, 0x5A
- mov r9, r1
-_0805B5E0:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _0805B618
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- beq _0805B618
- movs r0, 0x5A
- mov r9, r0
- ldr r1, =gTrainerFrontPicCoords
- b _0805B642
- .pool
-_0805B618:
- ldr r1, =gTrainerBackPicCoords
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- subs r0, r1
- lsls r0, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r0, r1
- lsrs r7, r0, 16
- ldr r5, =gBattleTypeFlags
- b _0805B656
- .pool
-_0805B63C:
- movs r0, 0x50
- mov r9, r0
- ldr r1, =gTrainerBackPicCoords
-_0805B642:
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- subs r0, r1
- lsls r0, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r0, r1
- lsrs r7, r0, 16
-_0805B656:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- bne _0805B664
- b _0805B794
-_0805B664:
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _0805B670
- b _0805B794
-_0805B670:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl sub_806F000
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- adds r0, r5, 0
- bl sub_805DF38
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806A1C0
- ldr r0, =gUnknown_0202499C
- mov r8, r0
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r6]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- mov r1, r9
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r0, =gTrainerFrontPicPaletteTable
- lsls r5, 3
- adds r5, r0
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- ldr r5, =gSprites
- ldrb r1, [r6]
- adds r1, r4
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x30
- strh r1, [r0, 0x26]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_805D7AC
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _0805B82A
- .pool
-_0805B794:
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- adds r0, r4, 0
- bl LoadBackTrainerBankSpriteGfx
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A12C
- ldr r6, =gUnknown_0202499C
- mov r8, r9
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r5]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- bl CreateSprite
- ldr r6, =gBankSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_805D7AC
- str r1, [r0]
-_0805B82A:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058844
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B4F0
-
- thumb_func_start dp01t_08_1_8032428
-dp01t_08_1_8032428: @ 805B864
- push {r4-r6,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805B920
- bl GetMultiplayerId
- ldr r5, =gLinkPlayers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- movs r4, 0xFF
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _0805B8A6
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x5
- bne _0805B8C4
-_0805B8A6:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x2
- b _0805B926
- .pool
-_0805B8C4:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0x2
- beq _0805B8F6
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r0, [r1]
- ands r4, r0
- cmp r4, 0x1
- bne _0805B90C
-_0805B8F6:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x13]
- adds r4, r0, 0x4
- b _0805B926
-_0805B90C:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r4, [r1, 0x13]
- b _0805B926
-_0805B920:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r4, [r0, 0x8]
-_0805B926:
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- adds r0, r4, 0
- bl LoadBackTrainerBankSpriteGfx
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A12C
- ldr r0, =gUnknown_0202499C
- ldr r1, =gTrainerBackPicCoords
- lsls r4, 2
- adds r4, r1
- ldrb r1, [r4]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r2, r1
- asrs r2, 16
- movs r1, 0x50
- movs r3, 0x1E
- bl CreateSprite
- ldr r6, =gBankSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffa0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_805D7AC
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805887C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_08_1_8032428
-
- thumb_func_start sub_805B9F8
-sub_805B9F8: @ 805B9F8
- push {r4-r6,lr}
- ldr r5, =gBankSpriteIds
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_802F7A0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805B9F8
-
- thumb_func_start sub_805BAB8
-sub_805BAB8: @ 805BAB8
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r0, [r4, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _0805BB0C
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805BAEC
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0805BAEC:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- adds r1, 0x1
- strb r1, [r0, 0x4]
- b _0805BB82
- .pool
-_0805BB0C:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0805BB82
- strb r4, [r3, 0x4]
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- movs r1, 0x40
- negs r1, r1
- movs r0, 0x10
- bl PlaySE12WithPanning
- ldr r2, =gSprites
- ldr r3, =gBankSpriteIds
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x30]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039C00
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80596A8
- str r1, [r0]
-_0805BB82:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BAB8
-
- thumb_func_start sub_805BBA4
-sub_805BBA4: @ 805BBA4
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_805BBA4
-
- thumb_func_start sub_805BBC4
-sub_805BBC4: @ 805BBC4
- push {r4,r5,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- movs r0, 0x4
- strb r0, [r1, 0x8]
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldr r5, =gActiveBank
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBankByIdentity
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x3
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_wait_t1
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BBC4
-
- thumb_func_start sub_805BC18
-sub_805BC18: @ 805BC18
- push {r4,r5,lr}
- ldr r1, =gBattleBufferA
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- strb r1, [r0, 0x8]
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBankByIdentity
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x3
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_wait_t1
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BC18
-
- thumb_func_start sub_805BC78
-sub_805BC78: @ 805BC78
- push {lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805BC96
-_0805BC8C:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805BC8C
-_0805BC96:
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BC78
-
- thumb_func_start dp01t_0F_1_move_anim
-dp01t_0F_1_move_anim: @ 805BCA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _0805BCBE
- b _0805BDE4
-_0805BCBE:
- ldr r0, =gBattleBufferA
- mov r12, r0
- ldrb r1, [r5]
- lsls r1, 9
- adds r0, 0x1
- adds r0, r1, r0
- ldrb r6, [r0]
- mov r0, r12
- adds r0, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r6, r0
- ldr r0, =gAnimMoveTurn
- mov r8, r0
- mov r0, r12
- adds r0, 0x3
- adds r1, r0
- ldrb r0, [r1]
- mov r1, r8
- strb r0, [r1]
- ldr r3, =gAnimMovePower
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0x4
- adds r0, r1, r0
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0x5
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r2, r0
- strh r2, [r3]
- ldr r3, =gAnimMoveDmg
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0x6
- adds r0, r1, r0
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0x7
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r2, r0
- mov r0, r12
- adds r0, 0x8
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 16
- orrs r2, r0
- mov r0, r12
- adds r0, 0x9
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 24
- orrs r2, r0
- str r2, [r3]
- ldr r2, =gAnimFriendship
- ldrb r0, [r5]
- lsls r0, 9
- mov r1, r12
- adds r1, 0xA
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r4, =gWeatherMoveAnim
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0xC
- adds r0, r1, r0
- ldrb r2, [r0]
- mov r0, r12
- adds r0, 0xD
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r2, r0
- strh r2, [r4]
- ldr r7, =gAnimDisableStructPtr
- ldrb r1, [r5]
- lsls r1, 9
- mov r0, r12
- adds r0, 0x10
- adds r1, r0
- str r1, [r7]
- ldr r2, =gUnknown_020244BC
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r1]
- str r1, [r0]
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_805DB8C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _0805BDBC
- bl PlayerBufferExecCompleted
- b _0805BDE4
- .pool
-_0805BDBC:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_move_anim_1
- str r1, [r0]
- ldrh r1, [r4]
- ldr r2, [r7]
- adds r0, r6, 0
- bl sub_817E0FC
-_0805BDE4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_0F_1_move_anim
-
- thumb_func_start bx_move_anim_1
-bx_move_anim_1: @ 805BDFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r3, [r6]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r10, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, r2, 0x2
- mov r9, r5
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r1, [r1]
- mov r8, r1
- ldr r7, =gBattleSpritesDataPtr
- ldr r5, [r7]
- ldr r1, [r5, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _0805BE94
- cmp r2, 0x1
- bgt _0805BE54
- cmp r2, 0
- beq _0805BE5E
- b _0805BF70
- .pool
-_0805BE54:
- cmp r2, 0x2
- beq _0805BEBE
- cmp r2, 0x3
- beq _0805BF34
- b _0805BF70
-_0805BE5E:
- ldr r1, [r5]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _0805BE80
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r6]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0805BE80:
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _0805BF70
-_0805BE94:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0805BF70
- movs r0, 0
- bl sub_805EB9C
- adds r0, r4, 0
- bl DoMoveAnim
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0, 0x4]
- b _0805BF70
-_0805BEBE:
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805BF70
- movs r0, 0x1
- bl sub_805EB9C
- ldr r0, [r7]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805BF0C
- mov r0, r8
- cmp r0, 0x1
- bhi _0805BF0C
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0805BF0C:
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _0805BF70
- .pool
-_0805BF34:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0805BF70
- bl sub_805E394
- ldrb r0, [r6]
- lsls r2, r0, 9
- mov r3, r10
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r9
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_805E94C
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r4, [r0, 0x4]
- bl PlayerBufferExecCompleted
-_0805BF70:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end bx_move_anim_1
-
- thumb_func_start sub_805BF80
-sub_805BF80: @ 805BF80
- push {r4,r5,lr}
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r5, =gActiveBank
- ldrb r4, [r5]
- lsls r4, 9
- ldr r0, =gBattleBufferA + 2
- adds r4, r0
- ldrh r0, [r4]
- bl BufferStringBattle
- ldr r0, =gDisplayedStringBattle
- movs r1, 0
- bl sub_814F9EC
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80597B4
- str r1, [r0]
- ldrh r0, [r4]
- bl sub_817C95C
- ldrb r0, [r5]
- ldrh r1, [r4]
- bl sub_81A57E4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805BF80
-
- thumb_func_start dp01t_11_1_message_for_player_only
-dp01t_11_1_message_for_player_only: @ 805BFE0
- push {lr}
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805BFFC
- bl sub_805BF80
- b _0805C000
- .pool
-_0805BFFC:
- bl PlayerBufferExecCompleted
-_0805C000:
- pop {r0}
- bx r0
- thumb_func_end dp01t_11_1_message_for_player_only
-
- thumb_func_start sub_805C004
-sub_805C004: @ 805C004
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805C02A
- ldr r0, =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, =gBattle_BG0_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057588
- str r1, [r0]
-_0805C02A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C004
-
- thumb_func_start dp01t_12_6_battle_menu
-dp01t_12_6_battle_menu: @ 805C044
- push {r4,lr}
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805C004
- str r1, [r0]
- bl sub_817F2A8
- ldr r0, =gText_BattleMenu
- movs r1, 0x2
- bl sub_814F9EC
- movs r4, 0
-_0805C062:
- lsls r0, r4, 24
- lsrs r0, 24
- bl ActionSelectionDestroyCursorAt
- adds r4, 0x1
- cmp r4, 0x3
- ble _0805C062
- ldr r1, =gActionSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- ldr r0, =gText_WhatWillPkmnDo
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r0, =gDisplayedStringBattle
- movs r1, 0x1
- bl sub_814F9EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_12_6_battle_menu
-
- thumb_func_start sub_805C0B0
-sub_805C0B0: @ 805C0B0
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805C108
- str r0, [sp]
- movs r0, 0x18
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl sub_8056A3C
- ldr r0, =gText_BattleYesNoChoice
- movs r1, 0xC
- bl sub_814F9EC
- ldr r1, =gUnknown_03005D74
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- bl BattleCreateCursorAt
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80599D4
- str r1, [r0]
- b _0805C10C
- .pool
-_0805C108:
- bl PlayerBufferExecCompleted
-_0805C10C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_805C0B0
-
- thumb_func_start sub_805C114
-sub_805C114: @ 805C114
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805C13E
- ldr r0, =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, =gBattle_BG0_Y
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8057BFC
- str r1, [r0]
-_0805C13E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C114
-
- thumb_func_start sub_805C158
-sub_805C158: @ 805C158
- push {lr}
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r1, r0
- movs r0, 0xA6
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _0805C194
- ldr r1, =gBattlePalaceMoveSelectionRngValue
- ldr r0, =gRngValue
- ldr r0, [r0]
- str r0, [r1]
- bl sub_805D19C
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- bl PlayerBufferExecCompleted
-_0805C194:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C158
-
- thumb_func_start dp01t_14_5_move_menu_pokedude
-dp01t_14_5_move_menu_pokedude: @ 805C1A8
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0805C1EC
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- movs r1, 0xA6
- lsls r1, 2
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805C158
- b _0805C1FC
- .pool
-_0805C1EC:
- bl sub_805C210
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_805C114
-_0805C1FC:
- str r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_14_5_move_menu_pokedude
-
- thumb_func_start sub_805C210
-sub_805C210: @ 805C210
- push {lr}
- bl sub_8059AAC
- ldr r1, =gUnknown_03005D74
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl battle_menu_cursor_related_2
- bl sub_8059B18
- bl sub_8059B3C
- bl sub_8059BB0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C210
-
- thumb_func_start sub_805C248
-sub_805C248: @ 805C248
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80598A4
- str r1, [r0]
- ldr r1, =gBankInMenu
- ldrb r0, [r2]
- strb r0, [r1]
- movs r3, 0
- ldr r5, =gUnknown_0203CF00
- ldr r4, =gBattleBufferA
-_0805C276:
- adds r0, r3, r5
- ldrb r1, [r2]
- lsls r1, 9
- adds r1, 0x1
- adds r1, r3, r1
- adds r1, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x2
- ble _0805C276
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C248
-
- thumb_func_start sub_805C2AC
-sub_805C2AC: @ 805C2AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r3, 0
- ldr r0, =gUnknown_0203CF00
- mov r12, r0
- ldr r1, =gBattleBufferA
- mov r8, r1
- ldr r2, =gActiveBank
- ldr r7, =gBattleTypeFlags
- mov r6, r12
- mov r5, r8
- adds r4, r2, 0
-_0805C2C8:
- adds r0, r3, r6
- ldrb r1, [r4]
- lsls r1, 9
- adds r1, 0x4
- adds r1, r3, r1
- adds r1, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x2
- ble _0805C2C8
- ldr r0, [r7]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0805C330
- ldrb r3, [r2]
- lsls r0, r3, 9
- mov r1, r8
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x2
- beq _0805C330
- ldr r1, =gBattlePartyID
- lsls r0, r3, 1
- adds r0, r1
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- mov r2, r12
- bl EmitCmd34
- bl PlayerBufferExecCompleted
- b _0805C3BC
- .pool
-_0805C330:
- ldr r0, =TaskDummy
- movs r1, 0xFF
- bl CreateTask
- ldr r3, =gUnknown_03005D7C
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- adds r1, r3
- movs r2, 0
- mov r8, r2
- strb r0, [r1]
- ldr r5, =gTasks
- ldrb r2, [r4]
- adds r3, r2, r3
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- ldr r5, =gBattleBufferA
- lsls r2, 9
- adds r6, r5, 0x1
- adds r2, r6
- ldrb r2, [r2]
- movs r0, 0xF
- ands r0, r2
- strh r0, [r1, 0x8]
- ldr r3, =gBattleStruct
- ldr r1, [r3]
- adds r1, 0x49
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r6
- ldrb r0, [r0]
- lsrs r0, 4
- strb r0, [r1]
- ldr r2, [r3]
- adds r2, 0x8B
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, [r3]
- adds r1, 0xB0
- ldrb r0, [r4]
- lsls r0, 9
- adds r5, 0x3
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- mov r1, r8
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80597CC
- str r1, [r0]
- ldr r1, =gBankInMenu
- ldrb r0, [r4]
- strb r0, [r1]
-_0805C3BC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C2AC
-
- thumb_func_start sub_805C3EC
-sub_805C3EC: @ 805C3EC
- push {lr}
- sub sp, 0x4
- bl BattleMusicStop
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_805C3EC
-
- thumb_func_start sub_805C410
-sub_805C410: @ 805C410
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl LoadBattleBarGfx
- ldr r3, =gBattleBufferA
- ldr r0, =gActiveBank
- mov r9, r0
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r3, 0x2
- adds r0, r1, r0
- ldrb r2, [r0]
- adds r3, 0x3
- adds r1, r3
- ldrb r0, [r1]
- lsls r0, 8
- orrs r2, r0
- lsls r2, 16
- asrs r7, r2, 16
- cmp r7, 0
- ble _0805C44A
- ldr r1, =gUnknown_0203CD70
- ldr r0, [r1]
- adds r0, r7
- str r0, [r1]
-_0805C44A:
- ldr r0, =0x00007fff
- cmp r7, r0
- beq _0805C4B4
- ldr r6, =gBattlePartyID
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, =gHealthBoxesIds
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl SetBattleBarStruct
- b _0805C4F2
- .pool
-_0805C4B4:
- ldr r1, =gBattlePartyID
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r4, =gHealthBoxesIds
- adds r1, r0, r4
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl SetBattleBarStruct
- mov r2, r9
- ldrb r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0
- bl UpdateHpTextInHealthbox
-_0805C4F2:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_t1_healthbar_update
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C410
-
- thumb_func_start sub_805C528
-sub_805C528: @ 805C528
- push {r4-r7,lr}
- ldr r5, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- lsls r0, 9
- adds r1, r5, 0x1
- adds r0, r1
- ldrb r7, [r0]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x63
- bls _0805C560
- bl PlayerBufferExecCompleted
- b _0805C5AC
- .pool
-_0805C560:
- movs r0, 0x1
- bl LoadBattleBarGfx
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r0, r5, 0x3
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- ldr r0, =sub_80591B8
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r7, [r1, 0x8]
- strh r4, [r1, 0xA]
- ldrb r0, [r6]
- strh r0, [r1, 0xC]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =nullsub_21
- str r1, [r0]
-_0805C5AC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C528
-
- thumb_func_start sub_805C5C4
-sub_805C5C4: @ 805C5C4
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0805C618
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0x9
- bl UpdateHealthboxAttribute
- ldrb r2, [r4]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059D60
- str r1, [r0]
-_0805C618:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C5C4
-
- thumb_func_start sub_805C63C
-sub_805C63C: @ 805C63C
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0805C68C
- ldr r4, =gBattleBufferA
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8059D60
- str r1, [r0]
-_0805C68C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C63C
-
- thumb_func_start sub_805C6A4
-sub_805C6A4: @ 805C6A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- ldr r0, =gBattlePartyID
- mov r8, r0
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x37
- bl GetMonData
- ldr r2, =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- eors r0, r1
- mov r1, sp
- strb r0, [r1]
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- bl PlayerBufferExecCompleted
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C6A4
-
- thumb_func_start sub_805C710
-sub_805C710: @ 805C710
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C710
-
- thumb_func_start sub_805C71C
-sub_805C71C: @ 805C71C
- push {r4,r5,lr}
- ldr r3, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r2, 9
- adds r0, r3, 0x1
- adds r0, r2, r0
- ldrb r5, [r0]
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r5, r0
- adds r0, r3, 0x3
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 16
- orrs r5, r0
- adds r0, r3, 0x4
- adds r0, r2, r0
- ldrb r4, [r0]
- lsls r4, 24
- adds r0, r3, 0x5
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r0, r3, 0x6
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- adds r3, 0x7
- adds r2, r3
- orrs r5, r4
- lsrs r4, r1, 16
- movs r0, 0x80
- lsls r0, 5
- cmp r4, r0
- bhi _0805C78C
- ldr r0, =0x040000d4
- str r2, [r0]
- str r5, [r0, 0x4]
- lsrs r1, 17
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _0805C7B8
- .pool
-_0805C78C:
- ldr r3, =0x040000d4
- str r2, [r3]
- str r5, [r3, 0x4]
- ldr r0, =0x80000800
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
- movs r0, 0x80
- lsls r0, 5
- adds r2, r0
- adds r5, r0
- ldr r1, =0xfffff000
- adds r4, r1
- cmp r4, r0
- bhi _0805C78C
- str r2, [r3]
- str r5, [r3, 0x4]
- lsrs r0, r4, 1
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
-_0805C7B8:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C71C
-
- thumb_func_start sub_805C7D0
-sub_805C7D0: @ 805C7D0
- push {lr}
- ldr r2, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayBGM
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C7D0
-
- thumb_func_start sub_805C800
-sub_805C800: @ 805C800
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C800
-
- thumb_func_start sub_805C80C
-sub_805C80C: @ 805C80C
- push {lr}
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl EmitCmd33
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C80C
-
- thumb_func_start sub_805C820
-sub_805C820: @ 805C820
- push {lr}
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl EmitCmd34
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C820
-
- thumb_func_start sub_805C834
-sub_805C834: @ 805C834
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl EmitCmd35
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C834
-
- thumb_func_start sub_805C848
-sub_805C848: @ 805C848
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl EmitCmd36
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C848
-
- thumb_func_start sub_805C85C
-sub_805C85C: @ 805C85C
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C85C
-
- thumb_func_start sub_805C878
-sub_805C878: @ 805C878
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C878
-
- thumb_func_start sub_805C8B0
-sub_805C8B0: @ 805C8B0
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C8B0
-
- thumb_func_start sub_805C8C8
-sub_805C8C8: @ 805C8C8
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C8C8
-
- thumb_func_start dp01t_29_1_blink
-dp01t_29_1_blink: @ 805C8F0
- push {r4,lr}
- ldr r3, =gSprites
- ldr r2, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _0805C924
- bl PlayerBufferExecCompleted
- b _0805C94E
- .pool
-_0805C924:
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_80769F4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_blink_t1
- str r1, [r0]
-_0805C94E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_29_1_blink
-
- thumb_func_start sub_805C960
-sub_805C960: @ 805C960
- push {lr}
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_805C960
-
- thumb_func_start sub_805C96C
-sub_805C96C: @ 805C96C
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _0805C980
- movs r3, 0xC0
-_0805C980:
- ldr r2, =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805C96C
-
- thumb_func_start sub_805C9B0
-sub_805C9B0: @ 805C9B0
- push {r4,r5,lr}
- ldr r4, =gBattleBufferA
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r3, r0, 9
- adds r0, r4, 0x3
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805C9EC
- bl BattleMusicStop
- ldrb r1, [r5]
- lsls r1, 9
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, r4, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayBGM
- b _0805CA00
- .pool
-_0805C9EC:
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
-_0805CA00:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_805C9B0
-
- thumb_func_start sub_805CA0C
-sub_805CA0C: @ 805CA0C
- push {lr}
- ldr r1, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CA0C
-
- thumb_func_start dp01t_2E_1_battle_intro
-dp01t_2E_1_battle_intro: @ 805CA4C
- push {lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl battle_intro_launch
- ldr r2, =gUnknown_020243FC
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_2E_1_battle_intro
-
- thumb_func_start dp01t_2F_1_pokemon_enter
-dp01t_2F_1_pokemon_enter: @ 805CA80
- push {r4-r7,lr}
- ldr r6, =gBankSpriteIds
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r2, [r7]
- adds r0, r2, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x38]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =sub_805CC00
- bl StoreSpriteCallbackInData6
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, =0x0000d6f8
- bl AllocSpritePalette
- adds r4, r0, 0
- lsls r4, 24
- ldr r1, =gTrainerBackPicPaletteTable
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- lsrs r4, 20
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- ldrb r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, =task05_08033660
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldrb r2, [r7]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805CBA2
- ldr r0, =gUnknown_020244B4
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, =sub_8073C30
- str r1, [r0]
-_0805CBA2:
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =nullsub_21
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_2F_1_pokemon_enter
-
- thumb_func_start sub_805CC00
-sub_805CC00: @ 805CC00
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r4, [r5, 0x38]
- lsls r4, 24
- lsrs r4, 24
- bl FreeSpriteOamMatrix
- ldrb r0, [r5, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r5, 0
- bl DestroySprite
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl BattleLoadPlayerMonSpriteGfx
- ldr r0, =gBankSpriteIds
- adds r4, r0
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CC00
-
- thumb_func_start task05_08033660
-task05_08033660: @ 805CC68
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x1E
- bgt _0805CC94
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _0805CD50
- .pool
-_0805CC94:
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0805CCB4
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0805CCE4
-_0805CCB4:
- ldr r0, =gBattleBufferA
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, =gBattlePartyID
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_805B258
- b _0805CD38
- .pool
-_0805CCE4:
- ldr r4, =gBattleBufferA
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, =gBattlePartyID
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_805B258
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r7]
- movs r1, 0
- bl sub_805B258
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_0805CD38:
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8058B40
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_0805CD50:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task05_08033660
-
- thumb_func_start sub_805CD74
-sub_805CD74: @ 805CD74
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805CDA4
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0805CDA4
- bl PlayerBufferExecCompleted
- b _0805CE18
- .pool
-_0805CDA4:
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, =gBattleBufferA + 4
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl CreatePartyStatusSummarySprites
- ldr r2, =gUnknown_020244B4
- ldrb r1, [r5]
- adds r1, r2
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x5]
- ldrb r2, [r5]
- lsls r0, r2, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805CE0C
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_0805CE0C:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_805CE38
- str r0, [r1]
-_0805CE18:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CD74
-
- thumb_func_start sub_805CE38
-sub_805CE38: @ 805CE38
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _0805CE70
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x5]
- bl PlayerBufferExecCompleted
-_0805CE70:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CE38
-
- thumb_func_start sub_805CE80
-sub_805CE80: @ 805CE80
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- ldr r1, [r1, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805CEB2
- ldr r2, =gTasks
- ldr r0, =gUnknown_020244B4
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_8073C30
- str r1, [r0]
-_0805CEB2:
- bl PlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CE80
-
- thumb_func_start sub_805CED0
-sub_805CED0: @ 805CED0
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CED0
-
- thumb_func_start dp01t_33_1_enemy_move
-dp01t_33_1_enemy_move: @ 805CEF4
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl AnimBankSpriteExists
- lsls r0, 24
- cmp r0, 0
- beq _0805CF3A
- ldr r3, =gSprites
- ldr r0, =gBankSpriteIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, =gBattleBufferA
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_805E408
-_0805CF3A:
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_33_1_enemy_move
-
- thumb_func_start sub_805CF54
-sub_805CF54: @ 805CF54
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0805CFB6
- ldr r4, =gBattleBufferA
- ldrb r2, [r5]
- lsls r1, r2, 9
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r6, [r0]
- adds r0, r4, 0x2
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r4, 0x3
- adds r1, r4
- ldrb r0, [r1]
- lsls r0, 8
- orrs r3, r0
- str r3, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- adds r3, r6, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _0805CFA4
- bl PlayerBufferExecCompleted
- b _0805CFB0
- .pool
-_0805CFA4:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, =bx_8030B2C
- str r0, [r1]
-_0805CFB0:
- adds r0, r6, 0
- bl sub_817E32C
-_0805CFB6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805CF54
-
- thumb_func_start dp01t_35_1_link_standby_message_and_free_vram
-dp01t_35_1_link_standby_message_and_free_vram: @ 805CFC8
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r0, 9
- ldr r4, =gBattleBufferA + 2
- adds r0, r4
- bl sub_81851A8
- ldrb r0, [r5]
- lsls r0, 9
- subs r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0805D002
- cmp r0, 0x1
- bgt _0805CFF8
- cmp r0, 0
- beq _0805CFFE
- b _0805D020
- .pool
-_0805CFF8:
- cmp r0, 0x2
- beq _0805D01C
- b _0805D020
-_0805CFFE:
- bl b_link_standby_message
-_0805D002:
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- movs r1, 0x1
- bl dp11b_obj_free
- ldrb r0, [r4]
- movs r1, 0
- bl dp11b_obj_free
- b _0805D020
- .pool
-_0805D01C:
- bl b_link_standby_message
-_0805D020:
- bl PlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end dp01t_35_1_link_standby_message_and_free_vram
-
- thumb_func_start sub_805D02C
-sub_805D02C: @ 805D02C
- push {r4,lr}
- ldr r1, =gBattleBufferA
- ldr r4, =gActiveBank
- ldrb r3, [r4]
- lsls r0, r3, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _0805D074
- cmp r2, 0x1
- bgt _0805D054
- cmp r2, 0
- beq _0805D05A
- b _0805D084
- .pool
-_0805D054:
- cmp r2, 0x2
- beq _0805D07C
- b _0805D084
-_0805D05A:
- ldr r0, =gActionSelectionCursor
- adds r0, r3, r0
- strb r2, [r0]
- ldr r1, =gMoveSelectionCursor
- ldrb r0, [r4]
- adds r0, r1
- strb r2, [r0]
- b _0805D084
- .pool
-_0805D074:
- ldr r0, =gActionSelectionCursor
- b _0805D07E
- .pool
-_0805D07C:
- ldr r0, =gMoveSelectionCursor
-_0805D07E:
- adds r0, r3, r0
- movs r1, 0
- strb r1, [r0]
-_0805D084:
- bl PlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D02C
-
- thumb_func_start sub_805D094
-sub_805D094: @ 805D094
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r0, 9
- ldr r4, =gBattleBufferA + 4
- adds r0, r4
- bl sub_81851A8
- ldr r2, =gBattleOutcome
- ldrb r0, [r5]
- lsls r0, 9
- subs r1, r4, 0x3
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldrb r0, [r5]
- lsls r0, 9
- subs r4, 0x2
- adds r0, r4
- ldrb r0, [r0]
- ldr r1, =0x00000ca9
- adds r3, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 3
- ldrb r2, [r3]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl PlayerBufferExecCompleted
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80587B0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_805D094
-
- thumb_func_start nullsub_22
-nullsub_22: @ 805D114
- bx lr
- thumb_func_end nullsub_22
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_controller_player_partner.s b/asm/battle_controller_player_partner.s
deleted file mode 100644
index f82e1c3c3..000000000
--- a/asm/battle_controller_player_partner.s
+++ /dev/null
@@ -1,6347 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start nullsub_77
-nullsub_77: @ 81BADF0
- bx lr
- thumb_func_end nullsub_77
-
- thumb_func_start SetBankFuncToPlayerPartnerBufferRunCommand
-SetBankFuncToPlayerPartnerBufferRunCommand: @ 81BADF4
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =PlayerPartnerBufferRunCommand
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToPlayerPartnerBufferRunCommand
-
- thumb_func_start PlayerPartnerBufferRunCommand
-PlayerPartnerBufferRunCommand: @ 81BAE10
- push {lr}
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _081BAE5C
- ldr r0, =gBattleBufferA
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _081BAE58
- ldr r0, =gPlayerPartnerBufferCommands
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _081BAE5C
- .pool
-_081BAE58:
- bl PlayerPartnerBufferExecCompleted
-_081BAE5C:
- pop {r0}
- bx r0
- thumb_func_end PlayerPartnerBufferRunCommand
-
- thumb_func_start sub_81BAE60
-sub_81BAE60: @ 81BAE60
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081BAE84
- bl PlayerPartnerBufferExecCompleted
-_081BAE84:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BAE60
-
- thumb_func_start sub_81BAE98
-sub_81BAE98: @ 81BAE98
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081BAEE8
- movs r0, 0
- bl nullsub_25
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl FreeSpriteOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- bl PlayerPartnerBufferExecCompleted
-_081BAEE8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BAE98
-
- thumb_func_start sub_81BAF00
-sub_81BAF00: @ 81BAF00
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r1, [r4]
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x9]
- subs r0, 0x1
- strb r0, [r1, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _081BAF38
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x9]
- bl PlayerPartnerBufferExecCompleted
-_081BAF38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BAF00
-
- thumb_func_start sub_81BAF48
-sub_81BAF48: @ 81BAF48
- push {r4-r6,lr}
- movs r6, 0
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _081BAF6C
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _081BAFA0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081BAFA0
-_081BAF6C:
- ldr r2, =gSprites
- ldr r1, =gHealthBoxesIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081BAFD8
- b _081BAFD6
- .pool
-_081BAFA0:
- ldr r2, =gSprites
- ldr r5, =gHealthBoxesIds
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r2, 0
- adds r4, 0x1C
- adds r0, r4
- ldr r2, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r2, r0
- bne _081BAFD8
- movs r0, 0x2
- eors r3, r0
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- cmp r0, r2
- bne _081BAFD8
-_081BAFD6:
- movs r6, 0x1
-_081BAFD8:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _081BAFE4
- movs r6, 0
-_081BAFE4:
- cmp r6, 0
- beq _081BB00A
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BAF00
- str r1, [r0]
-_081BB00A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BAF48
-
- thumb_func_start sub_81BB02C
-sub_81BB02C: @ 81BB02C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gBattleSpritesDataPtr
- mov r12, r0
- ldr r0, [r0]
- ldr r7, =gActiveBank
- ldrb r2, [r7]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r3
- ldrb r1, [r4]
- movs r5, 0x8
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _081BB058
- b _081BB196
-_081BB058:
- movs r1, 0x2
- mov r8, r1
- adds r1, r2, 0
- mov r0, r8
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _081BB07A
- b _081BB196
-_081BB07A:
- ldr r1, =gSprites
- mov r10, r1
- ldr r0, =gUnknown_03005D7C
- mov r9, r0
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r5, r10
- adds r5, 0x1C
- adds r0, r5
- ldr r3, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r3, r0
- bne _081BB196
- ldr r0, =gBankSpriteIds
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- cmp r0, r3
- bne _081BB196
- ldrb r0, [r4, 0x9]
- adds r0, 0x1
- strb r0, [r4, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081BB196
- mov r1, r12
- ldr r0, [r1]
- ldrb r1, [r7]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r6, [r0, 0x9]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _081BB134
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _081BB134
- ldrb r0, [r7]
- mov r1, r8
- eors r0, r1
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- bl DestroySprite
- ldr r4, =gHealthBoxesIds
- ldrb r0, [r7]
- mov r1, r8
- eors r1, r0
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r7]
- mov r1, r8
- eors r0, r1
- bl sub_8076918
- ldrb r0, [r7]
- mov r1, r8
- eors r0, r1
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_081BB134:
- ldr r1, =gUnknown_03005D7C
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r5, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r4]
- bl sub_8076918
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r2, [r0, 0x8]
- ldrb r1, [r2, 0x9]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BAF48
- str r1, [r0]
-_081BB196:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB02C
-
- thumb_func_start sub_81BB1D4
-sub_81BB1D4: @ 81BB1D4
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- bge _081BB202
- movs r2, 0x24
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _081BB202
- bl PlayerPartnerBufferExecCompleted
-_081BB202:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB1D4
-
- thumb_func_start bx_t3_healthbar_update
-bx_t3_healthbar_update: @ 81BB214
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r6, =gHealthBoxesIds
- adds r1, r0, r6
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_8074AA0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r1, r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081BB25C
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0
- bl UpdateHpTextInHealthbox
- b _081BB276
- .pool
-_081BB25C:
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- bl PlayerPartnerBufferExecCompleted
-_081BB276:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_t3_healthbar_update
-
- thumb_func_start sub_81BB284
-sub_81BB284: @ 81BB284
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _081BB296
- bl PlayerPartnerBufferExecCompleted
-_081BB296:
- pop {r0}
- bx r0
- thumb_func_end sub_81BB284
-
- thumb_func_start sub_81BB29C
-sub_81BB29C: @ 81BB29C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- mov r8, r0
- ldrb r0, [r0, 0x8]
- mov r10, r0
- mov r1, r8
- ldrb r7, [r1, 0xC]
- str r7, [sp, 0x8]
- ldrh r2, [r1, 0xA]
- str r2, [sp, 0xC]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081BB2E2
- ldr r1, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r10, r0
- bne _081BB2E2
- b _081BB3F8
-_081BB2E2:
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- ldr r3, =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x13]
- movs r1, 0xCA
- lsls r1, 1
- muls r1, r2
- adds r4, r1
- adds r4, r3
- ldr r2, [r4]
- str r2, [sp]
- ldr r3, [sp, 0xC]
- lsls r1, r3, 16
- asrs r1, 16
- adds r0, r1
- cmp r0, r2
- bcc _081BB3D0
- adds r0, r6, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r6, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- ldr r0, [sp, 0xC]
- subs r2, r0, r2
- ldr r4, =gActiveBank
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitCmd33
- strb r5, [r4]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081BB3B8
- ldr r2, =gBattlePartyID
- lsls r0, r7, 1
- adds r0, r2
- mov r1, r10
- ldrh r0, [r0]
- cmp r1, r0
- beq _081BB396
- movs r0, 0x2
- eors r7, r0
- lsls r0, r7, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r1, r0
- bne _081BB3B8
-_081BB396:
- ldr r0, =sub_81BB628
- b _081BB3FA
- .pool
-_081BB3B8:
- ldr r0, =gTasks
- mov r2, r9
- lsls r1, r2, 2
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81BB740
- b _081BB3FC
- .pool
-_081BB3D0:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, =gBattleBankFunc
- ldr r3, [sp, 0x8]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, =sub_81BB284
- str r1, [r0]
- mov r0, r9
- bl DestroyTask
- b _081BB3FE
- .pool
-_081BB3F8:
- ldr r0, =sub_81BB414
-_081BB3FA:
- mov r1, r8
-_081BB3FC:
- str r0, [r1]
-_081BB3FE:
- 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_81BB29C
-
- thumb_func_start sub_81BB414
-sub_81BB414: @ 81BB414
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- mov r8, r2
- add r8, r0
- mov r0, r8
- lsls r0, 3
- mov r8, r0
- add r8, r1
- mov r2, r8
- ldrb r1, [r2, 0x8]
- movs r0, 0xA
- ldrsh r2, [r2, r0]
- mov r9, r2
- mov r2, r8
- ldrb r2, [r2, 0xC]
- mov r10, r2
- movs r0, 0x64
- adds r6, r1, 0
- muls r6, r0
- ldr r0, =gPlayerParty
- adds r6, r0
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- movs r1, 0x19
- bl GetMonData
- adds r3, r0, 0
- ldr r6, =gExperienceTables
- lsls r1, r4, 2
- ldr r2, =gBaseStats
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r2
- adds r1, r0
- adds r1, r6
- ldr r1, [r1]
- subs r3, r1
- adds r4, 0x1
- lsls r4, 2
- adds r4, r0
- adds r4, r6
- ldr r2, [r4]
- subs r2, r1
- ldr r0, =gHealthBoxesIds
- add r0, r10
- ldrb r1, [r0]
- mov r0, r9
- negs r0, r0
- str r0, [sp]
- mov r0, r10
- bl SetBattleBarStruct
- movs r0, 0x21
- bl PlaySE
- ldr r0, =sub_81BB4E4
- mov r1, r8
- str r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB414
-
- thumb_func_start sub_81BB4E4
-sub_81BB4E4: @ 81BB4E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r6, r0, r1
- ldrh r1, [r6, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r6, r2]
- cmp r0, 0xC
- bgt _081BB514
- adds r0, r1, 0x1
- strh r0, [r6, 0x1C]
- b _081BB610
- .pool
-_081BB514:
- ldrb r0, [r6, 0x8]
- mov r9, r0
- ldrh r2, [r6, 0xA]
- mov r10, r2
- ldrb r7, [r6, 0xC]
- ldr r5, =gHealthBoxesIds
- adds r5, r7, r5
- ldrb r1, [r5]
- adds r0, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8074AA0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _081BB610
- movs r0, 0x21
- bl m4aSongNumStop
- movs r0, 0x64
- mov r1, r9
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r3, =gExperienceTables
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r1
- adds r4, r0
- adds r4, r3
- ldr r1, [r4]
- str r1, [sp]
- mov r2, r10
- lsls r0, r2, 16
- asrs r4, r0, 16
- ldr r0, [sp, 0x4]
- adds r0, r4
- cmp r0, r1
- blt _081BB5F4
- adds r0, r5, 0
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- bl CalculateMonStats
- ldr r2, [sp]
- add r0, sp, 0x4
- ldrh r0, [r0]
- subs r2, r0
- subs r2, r4, r2
- ldr r4, =gActiveBank
- ldrb r5, [r4]
- strb r7, [r4]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xB
- bl EmitCmd33
- strb r5, [r4]
- ldr r0, =sub_81BB628
- str r0, [r6]
- b _081BB610
- .pool
-_081BB5F4:
- str r0, [sp, 0x4]
- add r2, sp, 0x4
- adds r0, r5, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, =gBattleBankFunc
- lsls r0, r7, 2
- adds r0, r1
- ldr r1, =sub_81BB284
- str r1, [r0]
- mov r0, r8
- bl DestroyTask
-_081BB610:
- 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_81BB4E4
-
- thumb_func_start sub_81BB628
-sub_81BB628: @ 81BB628
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrb r4, [r0, 0xC]
- ldrb r6, [r0, 0x8]
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081BB65C
- ldr r1, =gBattlePartyID
- movs r0, 0x2
- adds r2, r4, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bne _081BB65C
- adds r4, r2, 0
-_081BB65C:
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl move_anim_start_t4
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81BB688
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB628
-
- thumb_func_start sub_81BB688
-sub_81BB688: @ 81BB688
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r2, r0, r1
- ldrb r5, [r2, 0xC]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _081BB72A
- ldrb r4, [r2, 0x8]
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x38
- bl GetMonData
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081BB708
- ldr r1, =gBattlePartyID
- movs r0, 0x2
- adds r2, r5, 0
- eors r2, r0
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _081BB708
- ldr r0, =gHealthBoxesIds
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r1, r7, 0
- movs r2, 0
- bl UpdateHealthboxAttribute
- b _081BB71C
- .pool
-_081BB708:
- ldr r0, =gHealthBoxesIds
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r1, 0x64
- muls r1, r4
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
-_081BB71C:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81BB740
- str r0, [r1]
-_081BB72A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB688
-
- thumb_func_start sub_81BB740
-sub_81BB740: @ 81BB740
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r1, [r4, 0x8]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- ldrb r0, [r4, 0xC]
- ldr r1, =gBattleBankFunc
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB284
- str r1, [r0]
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB740
-
- thumb_func_start sub_81BB78C
-sub_81BB78C: @ 81BB78C
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r3, 0x26
- ldrsh r0, [r0, r3]
- adds r1, r0
- cmp r1, 0xA0
- ble _081BB808
- ldr r1, =gBattlePartyID
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl nullsub_24
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerPartnerBufferExecCompleted
-_081BB808:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB78C
-
- thumb_func_start sub_81BB828
-sub_81BB828: @ 81BB828
- push {r4-r6,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _081BB87C
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerPartnerBufferExecCompleted
-_081BB87C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB828
-
- thumb_func_start sub_81BB898
-sub_81BB898: @ 81BB898
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _081BB8AA
- bl PlayerPartnerBufferExecCompleted
-_081BB8AA:
- pop {r0}
- bx r0
- thumb_func_end sub_81BB898
-
- thumb_func_start bx_blink_t3
-bx_blink_t3: @ 81BB8B0
- push {r4,lr}
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _081BB8FC
- movs r3, 0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gDoingBattleAnim
- strb r3, [r0]
- bl PlayerPartnerBufferExecCompleted
- b _081BB926
- .pool
-_081BB8FC:
- ldrh r0, [r4, 0x30]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081BB920
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_081BB920:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_081BB926:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end bx_blink_t3
-
- thumb_func_start sub_81BB92C
-sub_81BB92C: @ 81BB92C
- push {r4,lr}
- ldr r2, =gSprites
- ldr r0, =gHealthBoxesIds
- ldr r4, =gActiveBank
- ldrb r3, [r4]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081BB97E
- adds r0, r3, 0
- bl sub_805E408
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081BB972
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
-_081BB972:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, =dp01t_35_3_free_vram
- str r0, [r1]
-_081BB97E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB92C
-
- thumb_func_start dp01t_35_3_free_vram
-dp01t_35_3_free_vram: @ 81BB9A0
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- ldr r1, [r1, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _081BB9DC
- ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081BB9DC
- bl PlayerPartnerBufferExecCompleted
-_081BB9DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_35_3_free_vram
-
- thumb_func_start sub_81BB9F4
-sub_81BB9F4: @ 81BB9F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldr r7, =gActiveBank
- ldrb r1, [r7]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081BBAB0
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldrb r2, [r7]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r4, =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r0, =c3_0802FDF4
- movs r1, 0xA
- bl CreateTask
- ldr r0, =gBattlePartyID
- mov r8, r0
- ldrb r1, [r7]
- lsls r0, r1, 1
- add r0, r8
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- bl sub_805E990
- ldr r1, =gBankSpriteIds
- ldrb r0, [r7]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- ldr r4, =gHealthBoxesIds
- ldrb r1, [r7]
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r1, 1
- add r1, r8
- ldrh r1, [r1]
- muls r1, r6
- adds r1, r5
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r7]
- bl sub_8076918
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r1, =gBattleBankFunc
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB92C
- str r1, [r0]
-_081BBAB0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BB9F4
-
- thumb_func_start sub_81BBAE8
-sub_81BBAE8: @ 81BBAE8
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _081BBB1A
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_081BBB1A:
- ldr r5, =gSprites
- ldr r0, =gUnknown_03005D7C
- ldrb r2, [r4]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r3, r0, 2
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081BBB60
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _081BBB60
- adds r0, r3, r5
- bl DestroySprite
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB9F4
- str r1, [r0]
-_081BBB60:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BBAE8
-
- thumb_func_start PlayerPartnerBufferExecCompleted
-PlayerPartnerBufferExecCompleted: @ 81BBB8C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gBattleBankFunc
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =PlayerPartnerBufferRunCommand
- str r1, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081BBBE0
- bl GetMultiplayerId
- mov r1, sp
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- mov r2, sp
- bl PrepareBufferDataTransferLink
- ldr r1, =gBattleBufferA
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r1
- movs r1, 0x38
- strb r1, [r0]
- b _081BBBF2
- .pool
-_081BBBE0:
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
-_081BBBF2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PlayerPartnerBufferExecCompleted
-
- thumb_func_start sub_81BBC04
-sub_81BBC04: @ 81BBC04
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081BBC26
- bl PlayerPartnerBufferExecCompleted
-_081BBC26:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BBC04
-
- thumb_func_start bx_80E8A6C
-bx_80E8A6C: @ 81BBC34
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _081BBC56
- bl PlayerPartnerBufferExecCompleted
-_081BBC56:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_80E8A6C
-
- thumb_func_start dp01t_00_3_getattr
-dp01t_00_3_getattr: @ 81BBC64
- push {r4-r6,lr}
- sub sp, 0x100
- movs r6, 0
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _081BBC9C
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- mov r1, sp
- bl dp01_getattr_by_ch1_for_player_pokemon
- adds r6, r0, 0
- b _081BBCBE
- .pool
-_081BBC9C:
- ldrb r4, [r1]
- movs r5, 0
-_081BBCA0:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081BBCB6
- lsls r0, r5, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r6
- bl dp01_getattr_by_ch1_for_player_pokemon
- adds r6, r0
-_081BBCB6:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x5
- ble _081BBCA0
-_081BBCBE:
- lsls r1, r6, 16
- lsrs r1, 16
- movs r0, 0x1
- mov r2, sp
- bl EmitDataTransfer
- bl PlayerPartnerBufferExecCompleted
- add sp, 0x100
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end dp01t_00_3_getattr
-
- thumb_func_start dp01_getattr_by_ch1_for_player_pokemon
-dp01_getattr_by_ch1_for_player_pokemon: @ 81BBCD8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x90
- adds r7, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, =gBattleBufferA
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3B
- bls _081BBD02
- bl _081BC46E
-_081BBD02:
- lsls r0, 2
- ldr r1, =_081BBD18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BBD18:
- .4byte _081BBE08
- .4byte _081BC02C
- .4byte _081BC03C
- .4byte _081BC04C
- .4byte _081BC0B4
- .4byte _081BC0B4
- .4byte _081BC0B4
- .4byte _081BC0B4
- .4byte _081BC0D0
- .4byte _081BC10C
- .4byte _081BC10C
- .4byte _081BC10C
- .4byte _081BC10C
- .4byte _081BC46E
- .4byte _081BC46E
- .4byte _081BC46E
- .4byte _081BC46E
- .4byte _081BC128
- .4byte _081BC138
- .4byte _081BC168
- .4byte _081BC178
- .4byte _081BC188
- .4byte _081BC198
- .4byte _081BC1A8
- .4byte _081BC1B8
- .4byte _081BC1C8
- .4byte _081BC1D8
- .4byte _081BC1E8
- .4byte _081BC1F8
- .4byte _081BC208
- .4byte _081BC218
- .4byte _081BC228
- .4byte _081BC278
- .4byte _081BC288
- .4byte _081BC298
- .4byte _081BC2A8
- .4byte _081BC2B8
- .4byte _081BC2C8
- .4byte _081BC2D8
- .4byte _081BC2E8
- .4byte _081BC2F8
- .4byte _081BC32C
- .4byte _081BC33C
- .4byte _081BC34C
- .4byte _081BC35C
- .4byte _081BC36C
- .4byte _081BC37C
- .4byte _081BC38C
- .4byte _081BC39C
- .4byte _081BC3BC
- .4byte _081BC3CC
- .4byte _081BC3DC
- .4byte _081BC3EC
- .4byte _081BC3FC
- .4byte _081BC40C
- .4byte _081BC41C
- .4byte _081BC42C
- .4byte _081BC43C
- .4byte _081BC44C
- .4byte _081BC45C
-_081BBE08:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2E]
- movs r6, 0
- add r0, sp, 0x24
- mov r9, r0
- movs r1, 0x3B
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0x2B
- str r2, [sp, 0x80]
- mov r0, sp
- adds r0, 0x2A
- str r0, [sp, 0x7C]
- mov r1, sp
- adds r1, 0x68
- str r1, [sp, 0x8C]
- adds r2, 0x5
- str r2, [sp, 0x84]
- adds r0, 0x12
- str r0, [sp, 0x88]
- mov r8, r4
- add r4, sp, 0xC
-_081BBE54:
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- bl GetMonData
- strh r0, [r4]
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- bl GetMonData
- mov r2, r9
- adds r1, r2, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _081BBE54
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- mov r3, sp
- movs r5, 0x1F
- ands r0, r5
- ldrb r2, [r3, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- mov r3, sp
- movs r6, 0x1F
- ands r0, r6
- lsls r0, 5
- ldrh r2, [r3, 0x14]
- ldr r1, =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r3, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [sp, 0x14]
- ldr r2, =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- mov r3, sp
- ands r0, r6
- lsls r0, 4
- ldrh r2, [r3, 0x16]
- ldr r1, =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 1
- ldrb r2, [r3, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x48]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- str r0, [sp, 0x4C]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [sp, 0x7C]
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, sp
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r3, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- mov r3, sp
- lsls r0, 7
- ldrb r2, [r3, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x54]
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, [sp, 0x8C]
- bl GetMonData
- ldr r0, [sp, 0x84]
- ldr r1, [sp, 0x8C]
- bl StringCopy10
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, [sp, 0x88]
- bl GetMonData
- mov r2, sp
- movs r6, 0
-_081BC00C:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x57
- bls _081BC00C
- b _081BC46E
- .pool
-_081BC02C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- b _081BC3A6
- .pool
-_081BC03C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- b _081BC3A6
- .pool
-_081BC04C:
- movs r6, 0
- add r2, sp, 0x58
- mov r9, r2
- add r0, sp, 0x60
- mov r10, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- mov r8, r9
-_081BC062:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- mov r2, r10
- adds r1, r2, r6
- strb r0, [r1]
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _081BC062
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- mov r1, r9
- strb r0, [r1, 0xC]
- mov r2, r9
- movs r6, 0
-_081BC0A0:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0xF
- bls _081BC0A0
- b _081BC46E
- .pool
-_081BC0B4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x9
- b _081BC3A6
- .pool
-_081BC0D0:
- movs r6, 0
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r2, =gPlayerParty
- mov r8, r2
-_081BC0DC:
- adds r1, r6, 0
- adds r1, 0x11
- mov r2, r8
- adds r0, r4, r2
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x3
- ble _081BC0DC
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- b _081BC46E
- .pool
-_081BC10C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x8
- b _081BC466
- .pool
-_081BC128:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- b _081BC142
- .pool
-_081BC138:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x19
-_081BC142:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- movs r6, 0x3
- b _081BC46E
- .pool
-_081BC168:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1A
- b _081BC466
- .pool
-_081BC178:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1B
- b _081BC466
- .pool
-_081BC188:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1C
- b _081BC466
- .pool
-_081BC198:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1D
- b _081BC466
- .pool
-_081BC1A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1E
- b _081BC466
- .pool
-_081BC1B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1F
- b _081BC466
- .pool
-_081BC1C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x20
- b _081BC466
- .pool
-_081BC1D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x22
- b _081BC466
- .pool
-_081BC1E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x23
- b _081BC466
- .pool
-_081BC1F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x24
- b _081BC466
- .pool
-_081BC208:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x25
- b _081BC466
- .pool
-_081BC218:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x26
- b _081BC466
- .pool
-_081BC228:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- strb r0, [r7, 0x1]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- strb r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- strb r0, [r7, 0x3]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- strb r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- strb r0, [r7, 0x5]
- movs r6, 0x6
- b _081BC46E
- .pool
-_081BC278:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x27
- b _081BC466
- .pool
-_081BC288:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x28
- b _081BC466
- .pool
-_081BC298:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x29
- b _081BC466
- .pool
-_081BC2A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2A
- b _081BC466
- .pool
-_081BC2B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2B
- b _081BC466
- .pool
-_081BC2C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- b _081BC466
- .pool
-_081BC2D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- b _081BC302
- .pool
-_081BC2E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x9
- b _081BC3A6
- .pool
-_081BC2F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x37
-_081BC302:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- lsrs r0, r1, 24
- strb r0, [r7, 0x3]
- movs r6, 0x4
- b _081BC46E
- .pool
-_081BC32C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- b _081BC466
- .pool
-_081BC33C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- b _081BC3A6
- .pool
-_081BC34C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- b _081BC3A6
- .pool
-_081BC35C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3B
- b _081BC3A6
- .pool
-_081BC36C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3C
- b _081BC3A6
- .pool
-_081BC37C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3D
- b _081BC3A6
- .pool
-_081BC38C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3E
- b _081BC3A6
- .pool
-_081BC39C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3F
-_081BC3A6:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- strb r0, [r7]
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r6, 0x2
- b _081BC46E
- .pool
-_081BC3BC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- b _081BC466
- .pool
-_081BC3CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- b _081BC466
- .pool
-_081BC3DC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- b _081BC466
- .pool
-_081BC3EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- b _081BC466
- .pool
-_081BC3FC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- b _081BC466
- .pool
-_081BC40C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- b _081BC466
- .pool
-_081BC41C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x32
- b _081BC466
- .pool
-_081BC42C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x33
- b _081BC466
- .pool
-_081BC43C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x34
- b _081BC466
- .pool
-_081BC44C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x35
- b _081BC466
- .pool
-_081BC45C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x36
-_081BC466:
- bl GetMonData
- strb r0, [r7]
- movs r6, 0x1
-_081BC46E:
- adds r0, r6, 0
- add sp, 0x90
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end dp01_getattr_by_ch1_for_player_pokemon
-
- thumb_func_start sub_81BC484
-sub_81BC484: @ 81BC484
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BC484
-
- thumb_func_start sub_81BC490
-sub_81BC490: @ 81BC490
- push {r4,r5,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _081BC4C0
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- bl sub_81BC4E8
- b _081BC4DE
- .pool
-_081BC4C0:
- ldrb r4, [r1]
- movs r5, 0
-_081BC4C4:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081BC4D2
- adds r0, r5, 0
- bl sub_81BC4E8
-_081BC4D2:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081BC4C4
-_081BC4DE:
- bl PlayerPartnerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81BC490
-
- thumb_func_start sub_81BC4E8
-sub_81BC4E8: @ 81BC4E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- ldr r2, =gBattleBufferA + 3
- adds r3, r0, r2
- adds r6, r3, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r7, r2, 0
- cmp r0, 0x3B
- bls _081BC514
- bl _081BCEAE
-_081BC514:
- lsls r0, 2
- ldr r1, =_081BC52C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BC52C:
- .4byte _081BC61C
- .4byte _081BC7B4
- .4byte _081BC7D4
- .4byte _081BC7F4
- .4byte _081BC84C
- .4byte _081BC84C
- .4byte _081BC84C
- .4byte _081BC84C
- .4byte _081BC874
- .4byte _081BC8D8
- .4byte _081BC8D8
- .4byte _081BC8D8
- .4byte _081BC8D8
- .4byte _081BCEAE
- .4byte _081BCEAE
- .4byte _081BCEAE
- .4byte _081BCEAE
- .4byte _081BC908
- .4byte _081BC928
- .4byte _081BC948
- .4byte _081BC968
- .4byte _081BC988
- .4byte _081BC9A8
- .4byte _081BC9C8
- .4byte _081BC9E8
- .4byte _081BCA08
- .4byte _081BCA28
- .4byte _081BCA48
- .4byte _081BCA68
- .4byte _081BCA88
- .4byte _081BCAA8
- .4byte _081BCAC8
- .4byte _081BCB38
- .4byte _081BCB58
- .4byte _081BCB78
- .4byte _081BCB98
- .4byte _081BCBB8
- .4byte _081BCBD8
- .4byte _081BCBF8
- .4byte _081BCC18
- .4byte _081BCC38
- .4byte _081BCC58
- .4byte _081BCC78
- .4byte _081BCC98
- .4byte _081BCCB8
- .4byte _081BCCD8
- .4byte _081BCCF8
- .4byte _081BCD18
- .4byte _081BCD38
- .4byte _081BCD58
- .4byte _081BCD78
- .4byte _081BCD98
- .4byte _081BCDB8
- .4byte _081BCDD8
- .4byte _081BCDF8
- .4byte _081BCE18
- .4byte _081BCE38
- .4byte _081BCE58
- .4byte _081BCE78
- .4byte _081BCE98
-_081BC61C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl SetMonData
- adds r2, r6, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r6
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r6, 0x2
- str r0, [sp, 0x4]
- adds r0, r6, 0x4
- str r0, [sp, 0x8]
- adds r0, r6, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r7, r6, 0
- adds r7, 0x24
- adds r4, r6, 0
- adds r4, 0xC
-_081BC682:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r7, 0
- bl SetMonData
- adds r7, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _081BC682
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r6, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r6, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC7B4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xB
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC7D4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xC
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC7F4:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r3
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r6, r3, 0
- adds r6, 0x8
- adds r4, r3, 0
-_081BC80E:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _081BC80E
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC84C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _081BC8F0
- .pool
-_081BC874:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x11
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC8D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_081BC8F0:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC908:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC928:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x19
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC948:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1A
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC968:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1B
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC988:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1C
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC9A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1D
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC9C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1E
- bl SetMonData
- b _081BCEAE
- .pool
-_081BC9E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1F
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCA08:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x20
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCA28:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x22
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCA48:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x23
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCA68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x24
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCA88:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x25
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCAA8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x26
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCAC8:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x27
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _081BCBE8
- .pool
-_081BCB38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x27
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCB58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x28
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCB78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x29
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCB98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2A
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCBB8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2B
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCBD8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
-_081BCBE8:
- movs r1, 0x2C
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCBF8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCC18:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x9
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCC38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x37
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCC58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x38
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCC78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x39
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCC98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3A
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCCB8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3B
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCCD8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3C
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCCF8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3D
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCD18:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3E
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCD38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3F
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCD58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x16
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCD78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x17
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCD98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x18
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCDB8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x21
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCDD8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2F
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCDF8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x30
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCE18:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x32
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCE38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x33
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCE58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x34
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCE78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x35
- bl SetMonData
- b _081BCEAE
- .pool
-_081BCE98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x36
- bl SetMonData
-_081BCEAE:
- ldr r2, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BC4E8
-
- thumb_func_start sub_81BCEE4
-sub_81BCEE4: @ 81BCEE4
- push {r4-r7,lr}
- ldr r1, =gBattlePartyID
- ldr r7, =gActiveBank
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, =gBattleBufferA
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _081BCF3C
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_081BCF1A:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _081BCF1A
-_081BCF3C:
- bl PlayerPartnerBufferExecCompleted
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BCEE4
-
- thumb_func_start sub_81BCF58
-sub_81BCF58: @ 81BCF58
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gBattlePartyID
- mov r8, r0
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- lsls r0, r1, 1
- add r0, r8
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r6]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
- mov r8, r0
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_80A5C6C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r6]
- bl sub_80A6138
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r5, =gSprites
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r2, [r6]
- adds r0, r2, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x2E]
- ldrb r3, [r6]
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r2, [r6]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =gBattleMonForms
- adds r2, r1
- ldrb r1, [r2]
- bl StartSpriteAnim
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB1D4
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BCF58
-
- thumb_func_start sub_81BD074
-sub_81BD074: @ 81BD074
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r4, =gBattleBufferA
- lsls r1, r0, 9
- adds r6, r4, 0x2
- adds r1, r6
- ldrb r1, [r1]
- bl sub_805EF84
- ldr r2, =gBattlePartyID
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r2
- lsls r0, 9
- adds r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r5]
- lsls r1, r0, 9
- adds r1, r6
- ldrb r1, [r1]
- bl sub_81BD0E4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BBAE8
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD074
-
- thumb_func_start sub_81BD0E4
-sub_81BD0E4: @ 81BD0E4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_805EF84
- ldr r0, =gBattlePartyID
- lsls r2, r6, 1
- adds r2, r0
- ldr r0, =gBattleBufferA
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
- ldrh r1, [r2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =sub_805D714
- bl CreateInvisibleSpriteWithCallback
- ldr r1, =gUnknown_03005D7C
- mov r9, r1
- add r9, r6
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_80A5C6C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_80A6138
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r10
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, =gSprites
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFF
- bl sub_80753E8
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD0E4
-
- thumb_func_start sub_81BD260
-sub_81BD260: @ 81BD260
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _081BD2A8
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BD2F0
- str r1, [r0]
- b _081BD2DE
- .pool
-_081BD2A8:
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl PlayerPartnerBufferExecCompleted
-_081BD2DE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD260
-
- thumb_func_start sub_81BD2F0
-sub_81BD2F0: @ 81BD2F0
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r1, [r4, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _081BD318
- cmp r0, 0x1
- beq _081BD346
- b _081BD36E
- .pool
-_081BD318:
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081BD332
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_081BD332:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _081BD36E
-_081BD346:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _081BD36E
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB828
- str r1, [r0]
-_081BD36E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD2F0
-
- thumb_func_start sub_81BD37C
-sub_81BD37C: @ 81BD37C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, =gPartnerTrainerId
- ldrh r1, [r2]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _081BD3A8
- movs r4, 0x7
- movs r0, 0x5A
- mov r9, r0
- ldr r0, =gTrainerBackPicCoords
- ldrb r1, [r0, 0x1C]
- b _081BD3BE
- .pool
-_081BD3A8:
- ldrh r0, [r2]
- bl sub_8162AA0
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x20
- mov r9, r0
- ldr r1, =gTrainerFrontPicCoords
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
-_081BD3BE:
- movs r0, 0x8
- subs r0, r1
- lsls r0, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r0, r1
- lsrs r7, r0, 16
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _081BD494
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- adds r0, r4, 0
- bl LoadBackTrainerBankSpriteGfx
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A12C
- ldr r6, =gUnknown_0202499C
- mov r8, r9
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r5]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- bl CreateSprite
- ldr r6, =gBankSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_805D7AC
- str r1, [r0]
- b _081BD57C
- .pool
-_081BD494:
- adds r5, r4, 0
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- adds r0, r5, 0
- bl sub_805DF38
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806A1C0
- ldr r0, =gUnknown_0202499C
- mov r8, r0
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r6]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- mov r1, r9
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r0, =gTrainerFrontPicPaletteTable
- lsls r5, 3
- adds r5, r0
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- ldr r5, =gSprites
- ldrb r1, [r6]
- adds r1, r4
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x30
- strh r1, [r0, 0x26]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_805D7AC
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
-_081BD57C:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BAE60
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD37C
-
- thumb_func_start sub_81BD5BC
-sub_81BD5BC: @ 81BD5BC
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BD5BC
-
- thumb_func_start sub_81BD5C8
-sub_81BD5C8: @ 81BD5C8
- push {r4-r6,lr}
- ldr r6, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BAE98
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD5C8
-
- thumb_func_start sub_81BD674
-sub_81BD674: @ 81BD674
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r0, [r4, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _081BD6C8
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081BD6A8
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_081BD6A8:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- adds r1, 0x1
- strb r1, [r0, 0x4]
- b _081BD73E
- .pool
-_081BD6C8:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081BD73E
- strb r4, [r3, 0x4]
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- movs r1, 0x40
- negs r1, r1
- movs r0, 0x10
- bl PlaySE12WithPanning
- ldr r2, =gSprites
- ldr r3, =gBankSpriteIds
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x30]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039C00
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB78C
- str r1, [r0]
-_081BD73E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD674
-
- thumb_func_start sub_81BD760
-sub_81BD760: @ 81BD760
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BD760
-
- thumb_func_start sub_81BD76C
-sub_81BD76C: @ 81BD76C
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BD76C
-
- thumb_func_start sub_81BD778
-sub_81BD778: @ 81BD778
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BD778
-
- thumb_func_start sub_81BD784
-sub_81BD784: @ 81BD784
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BD784
-
- thumb_func_start sub_81BD790
-sub_81BD790: @ 81BD790
- push {r4-r6,lr}
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _081BD7A2
- b _081BD8B6
-_081BD7A2:
- ldr r0, =gBattleBufferA
- mov r12, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- mov r1, r12
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- ldr r5, =gAnimMoveTurn
- mov r1, r12
- adds r1, 0x3
- adds r2, r1
- ldrb r1, [r2]
- strb r1, [r5]
- ldr r4, =gAnimMovePower
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x4
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x5
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r4, =gAnimMoveDmg
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x6
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x7
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r3, r1
- mov r1, r12
- adds r1, 0x8
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 16
- orrs r3, r1
- mov r1, r12
- adds r1, 0x9
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 24
- orrs r3, r1
- str r3, [r4]
- ldr r3, =gAnimFriendship
- ldrb r1, [r6]
- lsls r1, 9
- mov r2, r12
- adds r2, 0xA
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r3]
- ldr r4, =gWeatherMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0xC
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0xD
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r3, =gAnimDisableStructPtr
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x10
- adds r2, r1
- str r2, [r3]
- ldr r3, =gUnknown_020244BC
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r3
- ldr r2, [r2]
- str r2, [r1]
- ldrb r1, [r5]
- bl sub_805DB8C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _081BD898
- bl PlayerPartnerBufferExecCompleted
- b _081BD8B6
- .pool
-_081BD898:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_move_anim_3
- str r1, [r0]
-_081BD8B6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BD790
-
- thumb_func_start bx_move_anim_3
-bx_move_anim_3: @ 81BD8C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r3, [r6]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r10, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, r2, 0x2
- mov r9, r5
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r1, [r1]
- mov r8, r1
- ldr r7, =gBattleSpritesDataPtr
- ldr r5, [r7]
- ldr r1, [r5, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _081BD960
- cmp r2, 0x1
- bgt _081BD920
- cmp r2, 0
- beq _081BD92A
- b _081BDA3C
- .pool
-_081BD920:
- cmp r2, 0x2
- beq _081BD98A
- cmp r2, 0x3
- beq _081BDA00
- b _081BDA3C
-_081BD92A:
- ldr r1, [r5]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _081BD94C
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r6]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_081BD94C:
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _081BDA3C
-_081BD960:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _081BDA3C
- movs r0, 0
- bl sub_805EB9C
- adds r0, r4, 0
- bl DoMoveAnim
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0, 0x4]
- b _081BDA3C
-_081BD98A:
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _081BDA3C
- movs r0, 0x1
- bl sub_805EB9C
- ldr r0, [r7]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081BD9D8
- mov r0, r8
- cmp r0, 0x1
- bhi _081BD9D8
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_081BD9D8:
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _081BDA3C
- .pool
-_081BDA00:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081BDA3C
- bl sub_805E394
- ldrb r0, [r6]
- lsls r2, r0, 9
- mov r3, r10
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r9
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_805E94C
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r4, [r0, 0x4]
- bl PlayerPartnerBufferExecCompleted
-_081BDA3C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end bx_move_anim_3
-
- thumb_func_start sub_81BDA4C
-sub_81BDA4C: @ 81BDA4C
- push {r4,lr}
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- ldr r1, =gBattleBufferA + 2
- adds r0, r1
- ldrh r0, [r0]
- bl BufferStringBattle
- ldr r0, =gDisplayedStringBattle
- movs r1, 0
- bl sub_814F9EC
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB898
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDA4C
-
- thumb_func_start sub_81BDAA0
-sub_81BDAA0: @ 81BDAA0
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDAA0
-
- thumb_func_start sub_81BDAAC
-sub_81BDAAC: @ 81BDAAC
- push {lr}
- bl AI_TrySwitchOrUseItem
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDAAC
-
- thumb_func_start sub_81BDABC
-sub_81BDABC: @ 81BDABC
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDABC
-
- thumb_func_start sub_81BDAC8
-sub_81BDAC8: @ 81BDAC8
- push {r4-r6,lr}
- ldr r6, =gActiveBank
- ldrb r4, [r6]
- lsls r4, 9
- ldr r0, =gBattleBufferA + 4
- adds r4, r0
- movs r0, 0xF
- bl BattleAI_SetupAIData
- bl BattleAI_ChooseMoveOrAction
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gBattleMoves
- lsls r0, r5, 1
- adds r4, r0
- ldrh r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x6]
- movs r0, 0x12
- ands r0, r1
- cmp r0, 0
- beq _081BDB02
- ldr r1, =gBankTarget
- ldrb r0, [r6]
- strb r0, [r1]
-_081BDB02:
- ldrh r1, [r4]
- 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
- beq _081BDB3C
- movs r0, 0x1
- bl GetBankByIdentity
- ldr r4, =gBankTarget
- 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 _081BDB3C
- movs r0, 0x3
- bl GetBankByIdentity
- strb r0, [r4]
-_081BDB3C:
- ldr r0, =gBankTarget
- ldrb r2, [r0]
- lsls r2, 8
- orrs r2, r5
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- bl PlayerPartnerBufferExecCompleted
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDAC8
-
- thumb_func_start sub_81BDB70
-sub_81BDB70: @ 81BDB70
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDB70
-
- thumb_func_start sub_81BDB7C
-sub_81BDB7C: @ 81BDB7C
- push {r4-r6,lr}
- bl GetMostSuitableMonToSwitchInto
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bne _081BDBD0
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0x3
- b _081BDBA4
-_081BDBA2:
- adds r4, 0x1
-_081BDBA4:
- cmp r4, 0x5
- bgt _081BDBD0
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081BDBA2
- ldr r1, =gBattlePartyID
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _081BDBA2
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _081BDBA2
-_081BDBD0:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- adds r0, 0x5C
- strb r4, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0
- bl EmitCmd34
- bl PlayerPartnerBufferExecCompleted
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDB7C
-
- thumb_func_start sub_81BDC04
-sub_81BDC04: @ 81BDC04
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDC04
-
- thumb_func_start sub_81BDC10
-sub_81BDC10: @ 81BDC10
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl LoadBattleBarGfx
- ldr r3, =gBattleBufferA
- ldr r0, =gActiveBank
- mov r9, r0
- ldrb r4, [r0]
- lsls r2, r4, 9
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r3, 0x3
- adds r2, r3
- ldrb r0, [r2]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- asrs r7, r1, 16
- ldr r0, =0x00007fff
- cmp r7, r0
- beq _081BDCA0
- ldr r6, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, =gHealthBoxesIds
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl SetBattleBarStruct
- b _081BDCCA
- .pool
-_081BDCA0:
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, =gHealthBoxesIds
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl SetBattleBarStruct
-_081BDCCA:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_t3_healthbar_update
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDC10
-
- thumb_func_start sub_81BDD00
-sub_81BDD00: @ 81BDD00
- push {r4-r7,lr}
- ldr r5, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- lsls r0, 9
- adds r1, r5, 0x1
- adds r0, r1
- ldrb r7, [r0]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x63
- bls _081BDD38
- bl PlayerPartnerBufferExecCompleted
- b _081BDD84
- .pool
-_081BDD38:
- movs r0, 0x1
- bl LoadBattleBarGfx
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r0, r5, 0x3
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- ldr r0, =sub_81BB29C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r7, [r1, 0x8]
- strh r4, [r1, 0xA]
- ldrb r0, [r6]
- strh r0, [r1, 0xC]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =nullsub_21
- str r1, [r0]
-_081BDD84:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDD00
-
- thumb_func_start sub_81BDD9C
-sub_81BDD9C: @ 81BDD9C
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _081BDDF0
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0x9
- bl UpdateHealthboxAttribute
- ldrb r2, [r4]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BBC04
- str r1, [r0]
-_081BDDF0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDD9C
-
- thumb_func_start sub_81BDE14
-sub_81BDE14: @ 81BDE14
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _081BDE64
- ldr r4, =gBattleBufferA
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BBC04
- str r1, [r0]
-_081BDE64:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDE14
-
- thumb_func_start sub_81BDE7C
-sub_81BDE7C: @ 81BDE7C
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDE7C
-
- thumb_func_start sub_81BDE88
-sub_81BDE88: @ 81BDE88
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDE88
-
- thumb_func_start sub_81BDE94
-sub_81BDE94: @ 81BDE94
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDE94
-
- thumb_func_start sub_81BDEA0
-sub_81BDEA0: @ 81BDEA0
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDEA0
-
- thumb_func_start sub_81BDEAC
-sub_81BDEAC: @ 81BDEAC
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDEAC
-
- thumb_func_start sub_81BDEB8
-sub_81BDEB8: @ 81BDEB8
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDEB8
-
- thumb_func_start sub_81BDEC4
-sub_81BDEC4: @ 81BDEC4
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDEC4
-
- thumb_func_start sub_81BDED0
-sub_81BDED0: @ 81BDED0
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDED0
-
- thumb_func_start sub_81BDEDC
-sub_81BDEDC: @ 81BDEDC
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDEDC
-
- thumb_func_start sub_81BDEE8
-sub_81BDEE8: @ 81BDEE8
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDEE8
-
- thumb_func_start sub_81BDF04
-sub_81BDF04: @ 81BDF04
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDF04
-
- thumb_func_start sub_81BDF3C
-sub_81BDF3C: @ 81BDF3C
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDF3C
-
- thumb_func_start sub_81BDF54
-sub_81BDF54: @ 81BDF54
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDF54
-
- thumb_func_start dp01t_29_3_blink
-dp01t_29_3_blink: @ 81BDF7C
- push {r4,lr}
- ldr r3, =gSprites
- ldr r2, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081BDFB0
- bl PlayerPartnerBufferExecCompleted
- b _081BDFDA
- .pool
-_081BDFB0:
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_80769F4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_blink_t3
- str r1, [r0]
-_081BDFDA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_29_3_blink
-
- thumb_func_start sub_81BDFEC
-sub_81BDFEC: @ 81BDFEC
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BDFEC
-
- thumb_func_start sub_81BDFF8
-sub_81BDFF8: @ 81BDFF8
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _081BE00C
- movs r3, 0xC0
-_081BE00C:
- ldr r2, =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl PlayerPartnerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BDFF8
-
- thumb_func_start sub_81BE03C
-sub_81BE03C: @ 81BE03C
- push {r4,r5,lr}
- ldr r4, =gBattleBufferA
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r3, r0, 9
- adds r0, r4, 0x3
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _081BE078
- bl BattleMusicStop
- ldrb r1, [r5]
- lsls r1, 9
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, r4, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayBGM
- b _081BE08C
- .pool
-_081BE078:
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
-_081BE08C:
- bl PlayerPartnerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81BE03C
-
- thumb_func_start sub_81BE098
-sub_81BE098: @ 81BE098
- push {lr}
- ldr r1, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE098
-
- thumb_func_start dp01t_2E_3_battle_intro
-dp01t_2E_3_battle_intro: @ 81BE0D8
- push {lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl battle_intro_launch
- ldr r2, =gUnknown_020243FC
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_2E_3_battle_intro
-
- thumb_func_start sub_81BE10C
-sub_81BE10C: @ 81BE10C
- push {r4-r6,lr}
- ldr r6, =gBankSpriteIds
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r2, [r5]
- adds r0, r2, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x38]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_805CC00
- bl StoreSpriteCallbackInData6
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, =0x0000d6f9
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gPartnerTrainerId
- ldrh r1, [r2]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _081BE1FC
- ldr r0, =gTrainerBackPicPaletteTable
- ldr r0, [r0, 0x38]
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- b _081BE21A
- .pool
-_081BE1FC:
- ldrh r0, [r2]
- bl sub_8162AA0
- lsls r0, 24
- ldr r1, =gTrainerFrontPicPaletteTable
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0]
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
-_081BE21A:
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, =sub_81BE2C8
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r5]
- strh r0, [r1, 0x8]
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldrb r2, [r5]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081BE27E
- ldr r0, =gUnknown_020244B4
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, =sub_8073C30
- str r1, [r0]
-_081BE27E:
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =nullsub_77
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE10C
-
- thumb_func_start sub_81BE2C8
-sub_81BE2C8: @ 81BE2C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x17
- bgt _081BE2F4
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _081BE3B0
- .pool
-_081BE2F4:
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _081BE314
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081BE344
-_081BE314:
- ldr r0, =gBattleBufferA
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, =gBattlePartyID
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_81BD0E4
- b _081BE398
- .pool
-_081BE344:
- ldr r4, =gBattleBufferA
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, =gBattlePartyID
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_81BD0E4
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r7]
- movs r1, 0
- bl sub_81BD0E4
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_081BE398:
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81BB02C
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_081BE3B0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE2C8
-
- thumb_func_start dp01t_30_3_80EB11C
-dp01t_30_3_80EB11C: @ 81BE3D4
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _081BE404
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _081BE404
- bl PlayerPartnerBufferExecCompleted
- b _081BE478
- .pool
-_081BE404:
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, =gBattleBufferA + 4
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl CreatePartyStatusSummarySprites
- ldr r2, =gUnknown_020244B4
- ldrb r1, [r5]
- adds r1, r2
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x5]
- ldrb r2, [r5]
- lsls r0, r2, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081BE46C
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_081BE46C:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_81BE498
- str r0, [r1]
-_081BE478:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_30_3_80EB11C
-
- thumb_func_start sub_81BE498
-sub_81BE498: @ 81BE498
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _081BE4D0
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x5]
- bl PlayerPartnerBufferExecCompleted
-_081BE4D0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE498
-
- thumb_func_start sub_81BE4E0
-sub_81BE4E0: @ 81BE4E0
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- ldr r1, [r1, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081BE512
- ldr r2, =gTasks
- ldr r0, =gUnknown_020244B4
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_8073C30
- str r1, [r0]
-_081BE512:
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE4E0
-
- thumb_func_start sub_81BE530
-sub_81BE530: @ 81BE530
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BE530
-
- thumb_func_start sub_81BE53C
-sub_81BE53C: @ 81BE53C
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl AnimBankSpriteExists
- lsls r0, 24
- cmp r0, 0
- beq _081BE582
- ldr r3, =gSprites
- ldr r0, =gBankSpriteIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, =gBattleBufferA
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_805E408
-_081BE582:
- bl PlayerPartnerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE53C
-
- thumb_func_start sub_81BE59C
-sub_81BE59C: @ 81BE59C
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _081BE5F4
- ldr r5, =gBattleBufferA
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _081BE5E8
- bl PlayerPartnerBufferExecCompleted
- b _081BE5F4
- .pool
-_081BE5E8:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, =bx_80E8A6C
- str r0, [r1]
-_081BE5F4:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE59C
-
- thumb_func_start sub_81BE604
-sub_81BE604: @ 81BE604
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BE604
-
- thumb_func_start sub_81BE610
-sub_81BE610: @ 81BE610
- push {lr}
- bl PlayerPartnerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81BE610
-
- thumb_func_start sub_81BE61C
-sub_81BE61C: @ 81BE61C
- push {r4,lr}
- ldr r2, =gBattleOutcome
- ldr r1, =gBattleBufferA
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl PlayerPartnerBufferExecCompleted
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80587B0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE61C
-
- thumb_func_start nullsub_128
-nullsub_128: @ 81BE668
- bx lr
- thumb_func_end nullsub_128
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_controller_recorded_opponent.s b/asm/battle_controller_recorded_opponent.s
index f98c10a6c..2a98967c4 100644
--- a/asm/battle_controller_recorded_opponent.s
+++ b/asm/battle_controller_recorded_opponent.s
@@ -129,7 +129,7 @@ sub_81865C8: @ 81865C8
bne _0818661A
adds r0, r2, r5
ldrh r0, [r0, 0x6]
- bl sub_805DFE4
+ bl FreeTrainerFrontPicPalette
ldrb r0, [r4]
adds r0, r6
ldrb r1, [r0]
@@ -1161,7 +1161,7 @@ sub_8186EA4: @ 8186EA4
adds r1, r3, 0
adds r2, r3, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08186EE4:
ldr r0, =gBattleBankFunc
ldrb r1, [r4]
@@ -1310,7 +1310,7 @@ sub_8186F94: @ 8186F94
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
ldrb r0, [r5]
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -3716,7 +3716,7 @@ sub_81885D8: @ 81885D8
lsls r1, 24
lsrs r1, 24
adds r0, r6, 0
- bl sub_805EF84
+ bl ClearTemporarySpeciesSpriteData
ldr r0, =gBattlePartyID
lsls r4, r6, 1
adds r4, r0
@@ -3968,7 +3968,7 @@ _08188828:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08188842:
ldr r0, [r6]
ldrb r1, [r5]
@@ -3993,7 +3993,7 @@ _08188856:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x2
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -4045,7 +4045,7 @@ _081888D8:
ldr r0, =gTrainerBattleOpponent_B
_081888DA:
ldrh r0, [r0]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
lsls r0, 24
lsrs r0, 24
b _0818892C
@@ -4078,7 +4078,7 @@ _08188910:
adds r0, r2
ldrb r0, [r0, 0x13]
_08188924:
- bl sub_806F000
+ bl PlayerGenderToFrontTrainerPicId
_08188928:
lsls r0, 16
lsrs r0, 16
@@ -4086,7 +4086,7 @@ _0818892C:
mov r8, r0
ldr r5, =gActiveBank
ldrb r1, [r5]
- bl sub_805DF38
+ bl DecompressTrainerFrontPic
ldrb r0, [r5]
bl GetBankIdentity
adds r1, r0, 0
@@ -4301,7 +4301,7 @@ sub_8188AF8: @ 8188AF8
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08188B2C:
ldr r0, [r6]
ldrb r1, [r5]
@@ -4483,14 +4483,14 @@ _08188BE6:
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, =gUnknown_020244BC
+ ldr r3, =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
ldr r2, [r2]
str r2, [r1]
ldrb r1, [r5]
- bl sub_805DB8C
+ bl IsMoveWithoutAnimation
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0
@@ -4584,7 +4584,7 @@ _08188D6E:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_08188D90:
ldr r0, [r7]
ldrb r1, [r6]
@@ -4642,7 +4642,7 @@ _08188DCE:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r0, [r7]
ldrb r1, [r6]
ldr r0, [r0]
@@ -4685,7 +4685,7 @@ _08188E44:
ldrb r2, [r2]
lsls r2, 8
orrs r1, r2
- bl sub_805E94C
+ bl TrySetBehindSubstituteSpriteBit
ldr r0, [r7]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -4722,7 +4722,7 @@ sub_8188E90: @ 8188E90
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -4748,13 +4748,13 @@ sub_8188EF0: @ 8188EF0
push {lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
- bl sub_8185054
+ bl RecordedBattle_ReadBankAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
movs r0, 0x1
movs r2, 0
- bl EmitCmd33
+ bl EmitTwoReturnValues
bl RecordedOpponentBufferExecCompleted
pop {r0}
bx r0
@@ -4779,31 +4779,31 @@ sub_8188F20: @ 8188F20
ands r0, r1
cmp r0, 0
beq _08188F48
- bl sub_805D19C
+ bl ChooseMoveAndTargetInBattlePalace
adds r2, r0, 0
lsls r2, 16
lsrs r2, 16
movs r0, 0x1
movs r1, 0xA
- bl EmitCmd33
+ bl EmitTwoReturnValues
b _08188F6C
.pool
_08188F48:
ldr r5, =gActiveBank
ldrb r0, [r5]
- bl sub_8185054
+ bl RecordedBattle_ReadBankAction
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
- bl sub_8185054
+ bl RecordedBattle_ReadBankAction
adds r2, r0, 0
lsls r2, 24
lsrs r2, 16
orrs r2, r4
movs r0, 0x1
movs r1, 0xA
- bl EmitCmd33
+ bl EmitTwoReturnValues
_08188F6C:
bl RecordedOpponentBufferExecCompleted
pop {r4,r5}
@@ -4825,7 +4825,7 @@ sub_8188F88: @ 8188F88
push {r4,lr}
ldr r4, =gActiveBank
ldrb r0, [r4]
- bl sub_8185054
+ bl RecordedBattle_ReadBankAction
ldrb r1, [r4]
ldr r3, =gBattleStruct
ldr r2, [r3]
@@ -4839,7 +4839,7 @@ sub_8188F88: @ 8188F88
ldrb r1, [r0]
movs r0, 0x1
movs r2, 0
- bl EmitCmd34
+ bl EmitChosenMonReturnValue
bl RecordedOpponentBufferExecCompleted
pop {r4}
pop {r0}
@@ -5041,7 +5041,7 @@ sub_8189144: @ 8189144
ldrb r2, [r3]
lsls r2, 24
orrs r1, r2
- bl move_anim_start_t2_for_situation
+ bl DoStatusAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -5237,7 +5237,7 @@ _081892E0:
movs r1, 0
strh r1, [r0, 0x30]
ldrb r0, [r4]
- bl sub_80769F4
+ bl DoHitAnimHealthboxEffect
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -5371,7 +5371,7 @@ sub_8189404: @ 8189404
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl battle_intro_launch
+ bl HandleIntroSlide
ldr r2, =gUnknown_020243FC
ldrh r0, [r2]
movs r1, 0x1
@@ -5601,7 +5601,7 @@ sub_818962C: @ 818962C
push {r4,lr}
adds r4, r0, 0
ldrh r0, [r4, 0x6]
- bl sub_805DFE4
+ bl FreeTrainerFrontPicPalette
adds r0, r4, 0
bl FreeSpriteOamMatrix
adds r0, r4, 0
@@ -5848,7 +5848,7 @@ sub_8189800: @ 8189800
orrs r0, r1
strb r0, [r2]
ldrb r0, [r4]
- bl sub_805E408
+ bl SetBattleSpriteInvisibilityBitToSpriteInvisibility
_08189846:
bl RecordedOpponentBufferExecCompleted
pop {r4}
@@ -5884,7 +5884,7 @@ sub_8189860: @ 8189860
str r4, [sp]
adds r0, r2, 0
adds r1, r2, 0
- bl move_anim_start_t3
+ bl DoBattleAnimationFromTable
lsls r0, 24
cmp r0, 0
beq _081898AC
diff --git a/asm/battle_controller_recorded_player.s b/asm/battle_controller_recorded_player.s
deleted file mode 100644
index 6f3976205..000000000
--- a/asm/battle_controller_recorded_player.s
+++ /dev/null
@@ -1,6144 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start nullsub_120
-nullsub_120: @ 8189948
- bx lr
- thumb_func_end nullsub_120
-
- thumb_func_start SetBankFuncToRecordedPlayerBufferRunCommand
-SetBankFuncToRecordedPlayerBufferRunCommand: @ 818994C
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =RecordedPlayerBufferRunCommand
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToRecordedPlayerBufferRunCommand
-
- thumb_func_start RecordedPlayerBufferRunCommand
-RecordedPlayerBufferRunCommand: @ 8189968
- push {lr}
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _081899B4
- ldr r0, =gBattleBufferA
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _081899B0
- ldr r0, =gRecordedPlayerBufferCommands
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _081899B4
- .pool
-_081899B0:
- bl RecordedPlayerBufferExecCompleted
-_081899B4:
- pop {r0}
- bx r0
- thumb_func_end RecordedPlayerBufferRunCommand
-
- thumb_func_start sub_81899B8
-sub_81899B8: @ 81899B8
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081899DC
- bl RecordedPlayerBufferExecCompleted
-_081899DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81899B8
-
- thumb_func_start sub_81899F0
-sub_81899F0: @ 81899F0
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08189A40
- movs r0, 0
- bl nullsub_25
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl FreeSpriteOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- bl RecordedPlayerBufferExecCompleted
-_08189A40:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81899F0
-
- thumb_func_start sub_8189A58
-sub_8189A58: @ 8189A58
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r1, [r4]
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x9]
- subs r0, 0x1
- strb r0, [r1, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08189A90
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x9]
- bl RecordedPlayerBufferExecCompleted
-_08189A90:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8189A58
-
- thumb_func_start sub_8189AA0
-sub_8189AA0: @ 8189AA0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r6, 0
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankIdentity
- lsls r0, 24
- cmp r0, 0
- beq _08189ABA
- b _08189C60
-_08189ABA:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08189ADA
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08189B0C
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08189B0C
-_08189ADA:
- ldr r2, =gSprites
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08189B42
- b _08189B48
- .pool
-_08189B0C:
- ldr r2, =gSprites
- ldr r5, =gHealthBoxesIds
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r4, r0
- bne _08189B42
- movs r0, 0x2
- eors r3, r0
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _08189B42
- movs r6, 0x1
-_08189B42:
- cmp r6, 0
- bne _08189B48
- b _08189D18
-_08189B48:
- ldr r0, =gBattleSpritesDataPtr
- mov r9, r0
- ldr r0, [r0]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r3
- ldrb r1, [r4, 0x1]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08189B6A
- b _08189D18
-_08189B6A:
- movs r1, 0x2
- mov r8, r1
- mov r1, r8
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08189B86
- b _08189D18
-_08189B86:
- ldrb r1, [r4]
- movs r3, 0x7F
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r4]
- mov r1, r9
- ldr r0, [r1]
- ldrb r2, [r5]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- mov r0, r9
- ldr r2, [r0]
- ldrb r0, [r5]
- mov r1, r8
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- mov r1, r9
- ldr r2, [r1]
- ldrb r0, [r5]
- mov r1, r8
- eors r1, r0
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- ands r4, r1
- strb r4, [r0, 0x1]
- ldr r4, =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r7, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r4, =gPlayerParty
- adds r0, r4
- bl sub_805E990
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08189C22
- ldrb r0, [r5]
- mov r1, r8
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r4
- bl sub_805E990
-_08189C22:
- mov r1, r9
- ldr r0, [r1]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- b _08189D10
- .pool
-_08189C60:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08189C80
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08189CB0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08189CB0
-_08189C80:
- ldr r2, =gSprites
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08189CE6
- b _08189CE4
- .pool
-_08189CB0:
- ldr r2, =gSprites
- ldr r5, =gHealthBoxesIds
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r4, r0
- bne _08189CE6
- movs r0, 0x2
- eors r3, r0
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _08189CE6
-_08189CE4:
- movs r6, 0x1
-_08189CE6:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _08189CF2
- movs r6, 0
-_08189CF2:
- cmp r6, 0
- beq _08189D18
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r3]
-_08189D10:
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8189A58
- str r1, [r0]
-_08189D18:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8189AA0
-
- thumb_func_start sub_8189D40
-sub_8189D40: @ 8189D40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r10, r0
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankIdentity
- lsls r0, 24
- cmp r0, 0
- bne _08189DBE
- ldr r5, =gBattleSpritesDataPtr
- ldr r0, [r5]
- ldrb r2, [r4]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r6, 0x88
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08189D8C
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_08189D8C:
- ldr r2, [r5]
- ldrb r1, [r4]
- movs r0, 0x2
- adds r3, r0, 0
- eors r3, r1
- ldr r1, [r2, 0x4]
- lsls r2, r3, 1
- adds r0, r2, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08189DBE
- ldr r0, =gBattlePartyID
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r3, 0
- bl sub_8172EF0
-_08189DBE:
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldr r2, =gActiveBank
- ldrb r5, [r2]
- ldr r4, [r0, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r6, r0, r4
- ldrb r1, [r6]
- movs r0, 0x8
- mov r12, r0
- ands r0, r1
- mov r9, r2
- mov r8, r3
- cmp r0, 0
- bne _08189EA2
- movs r7, 0x2
- adds r1, r7, 0
- eors r1, r5
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- bne _08189EA2
- ldrb r1, [r6, 0x1]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08189E84
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08189E54
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08189E54
- ldr r4, =gHealthBoxesIds
- mov r1, r9
- ldrb r0, [r1]
- adds r1, r7, 0
- eors r1, r0
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- mov r1, r9
- ldrb r0, [r1]
- eors r0, r7
- bl sub_8076918
- mov r1, r9
- ldrb r0, [r1]
- eors r0, r7
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_08189E54:
- ldr r5, =gHealthBoxesIds
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r4]
- bl sub_8076918
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
-_08189E84:
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x1]
- mov r9, r3
- mov r8, r4
-_08189EA2:
- mov r1, r8
- ldr r0, [r1]
- mov r1, r9
- ldrb r2, [r1]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x80
- bne _08189F62
- movs r1, 0x2
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08189F62
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08189F62
- mov r1, r8
- ldr r0, [r1]
- mov r1, r9
- ldrb r2, [r1]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08189F44
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x42
- ands r0, r1
- cmp r0, 0x42
- bne _08189F38
- adds r0, r2, 0
- bl GetBankIdentity
- lsls r0, 24
- cmp r0, 0
- bne _08189F44
- ldr r0, =gMPlay_BGM
- bl m4aMPlayContinue
- b _08189F44
- .pool
-_08189F38:
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_08189F44:
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r0, 0x1
- mov r10, r0
-_08189F62:
- mov r1, r10
- cmp r1, 0
- beq _0818A02A
- ldr r7, =gSprites
- ldr r6, =gUnknown_03005D7C
- ldr r5, =gActiveBank
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r7, 0
- adds r4, 0x1C
- adds r0, r4
- ldr r2, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r2, r0
- bne _0818A02A
- ldr r0, =gBankSpriteIds
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- cmp r0, r2
- bne _0818A02A
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08189FC8
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08189FC8
- ldrb r1, [r5]
- movs r0, 0x2
- eors r0, r1
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySprite
-_08189FC8:
- ldr r1, =gUnknown_03005D7C
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r1, [r2, 0x9]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x9]
- ldr r0, [r3]
- ldrb r2, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r0, [r3]
- ldrb r2, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8189AA0
- str r1, [r0]
-_0818A02A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8189D40
-
- thumb_func_start sub_818A064
-sub_818A064: @ 818A064
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- cmp r0, 0
- bge _0818A092
- movs r2, 0x24
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0818A092
- bl RecordedPlayerBufferExecCompleted
-_0818A092:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A064
-
- thumb_func_start sub_818A0A4
-sub_818A0A4: @ 818A0A4
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r6, =gHealthBoxesIds
- adds r1, r0, r6
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_8074AA0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- lsls r4, 16
- asrs r1, r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0818A0EC
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0
- bl UpdateHpTextInHealthbox
- b _0818A106
- .pool
-_0818A0EC:
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- bl RecordedPlayerBufferExecCompleted
-_0818A106:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A0A4
-
- thumb_func_start sub_818A114
-sub_818A114: @ 818A114
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r3, 0x26
- ldrsh r0, [r0, r3]
- adds r1, r0
- cmp r1, 0xA0
- ble _0818A190
- ldr r1, =gBattlePartyID
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl nullsub_24
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl RecordedPlayerBufferExecCompleted
-_0818A190:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A114
-
- thumb_func_start sub_818A1B0
-sub_818A1B0: @ 818A1B0
- push {r4-r6,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0818A204
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl RecordedPlayerBufferExecCompleted
-_0818A204:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A1B0
-
- thumb_func_start sub_818A220
-sub_818A220: @ 818A220
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0818A232
- bl RecordedPlayerBufferExecCompleted
-_0818A232:
- pop {r0}
- bx r0
- thumb_func_end sub_818A220
-
- thumb_func_start sub_818A238
-sub_818A238: @ 818A238
- push {r4,lr}
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _0818A284
- movs r3, 0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- ldr r0, =gDoingBattleAnim
- strb r3, [r0]
- bl RecordedPlayerBufferExecCompleted
- b _0818A2AE
- .pool
-_0818A284:
- ldrh r0, [r4, 0x30]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0818A2A8
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0818A2A8:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_0818A2AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_818A238
-
- thumb_func_start sub_818A2B4
-sub_818A2B4: @ 818A2B4
- push {r4,lr}
- ldr r2, =gSprites
- ldr r0, =gHealthBoxesIds
- ldr r4, =gActiveBank
- ldrb r3, [r4]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _0818A306
- adds r0, r3, 0
- bl sub_805E408
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r2, [r4]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0818A2FA
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
-_0818A2FA:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_818A328
- str r0, [r1]
-_0818A306:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A2B4
-
- thumb_func_start sub_818A328
-sub_818A328: @ 818A328
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- ldr r1, [r1, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0818A364
- ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _0818A364
- bl RecordedPlayerBufferExecCompleted
-_0818A364:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A328
-
- thumb_func_start sub_818A37C
-sub_818A37C: @ 818A37C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldr r7, =gActiveBank
- ldrb r1, [r7]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0818A438
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldrb r2, [r7]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r4, =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r0, =c3_0802FDF4
- movs r1, 0xA
- bl CreateTask
- ldr r0, =gBattlePartyID
- mov r8, r0
- ldrb r1, [r7]
- lsls r0, r1, 1
- add r0, r8
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- bl sub_805E990
- ldr r1, =gBankSpriteIds
- ldrb r0, [r7]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- ldr r4, =gHealthBoxesIds
- ldrb r1, [r7]
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r1, 1
- add r1, r8
- ldrh r1, [r1]
- muls r1, r6
- adds r1, r5
- movs r2, 0
- bl UpdateHealthboxAttribute
- ldrb r0, [r7]
- bl sub_8076918
- ldrb r0, [r7]
- adds r0, r4
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r1, =gBattleBankFunc
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A2B4
- str r1, [r0]
-_0818A438:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A37C
-
- thumb_func_start sub_818A470
-sub_818A470: @ 818A470
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r4, =gActiveBank
- ldrb r2, [r4]
- ldr r1, [r0, 0x4]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _0818A4A2
- ldr r0, =gBattlePartyID
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8172EF0
-_0818A4A2:
- ldr r5, =gSprites
- ldr r0, =gUnknown_03005D7C
- ldrb r2, [r4]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r3, r0, 2
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _0818A4E8
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0818A4E8
- adds r0, r3, r5
- bl DestroySprite
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A37C
- str r1, [r0]
-_0818A4E8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A470
-
- thumb_func_start RecordedPlayerBufferExecCompleted
-RecordedPlayerBufferExecCompleted: @ 818A514
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gBattleBankFunc
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =RecordedPlayerBufferRunCommand
- str r1, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0818A568
- bl GetMultiplayerId
- mov r1, sp
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- mov r2, sp
- bl PrepareBufferDataTransferLink
- ldr r1, =gBattleBufferA
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r1
- movs r1, 0x38
- strb r1, [r0]
- b _0818A57A
- .pool
-_0818A568:
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
-_0818A57A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RecordedPlayerBufferExecCompleted
-
- thumb_func_start sub_818A58C
-sub_818A58C: @ 818A58C
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0818A5AE
- bl RecordedPlayerBufferExecCompleted
-_0818A5AE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A58C
-
- thumb_func_start sub_818A5BC
-sub_818A5BC: @ 818A5BC
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0818A5DE
- bl RecordedPlayerBufferExecCompleted
-_0818A5DE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818A5BC
-
- thumb_func_start sub_818A5EC
-sub_818A5EC: @ 818A5EC
- push {r4-r6,lr}
- sub sp, 0x100
- movs r6, 0
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _0818A624
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- mov r1, sp
- bl sub_818A660
- adds r6, r0, 0
- b _0818A646
- .pool
-_0818A624:
- ldrb r4, [r1]
- movs r5, 0
-_0818A628:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0818A63E
- lsls r0, r5, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r6
- bl sub_818A660
- adds r6, r0
-_0818A63E:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x5
- ble _0818A628
-_0818A646:
- lsls r1, r6, 16
- lsrs r1, 16
- movs r0, 0x1
- mov r2, sp
- bl EmitDataTransfer
- bl RecordedPlayerBufferExecCompleted
- add sp, 0x100
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_818A5EC
-
- thumb_func_start sub_818A660
-sub_818A660: @ 818A660
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x90
- adds r7, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, =gBattleBufferA
- ldr r3, =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3B
- bls _0818A68A
- bl _0818ADF6
-_0818A68A:
- lsls r0, 2
- ldr r1, =_0818A6A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0818A6A0:
- .4byte _0818A790
- .4byte _0818A9B4
- .4byte _0818A9C4
- .4byte _0818A9D4
- .4byte _0818AA3C
- .4byte _0818AA3C
- .4byte _0818AA3C
- .4byte _0818AA3C
- .4byte _0818AA58
- .4byte _0818AA94
- .4byte _0818AA94
- .4byte _0818AA94
- .4byte _0818AA94
- .4byte _0818ADF6
- .4byte _0818ADF6
- .4byte _0818ADF6
- .4byte _0818ADF6
- .4byte _0818AAB0
- .4byte _0818AAC0
- .4byte _0818AAF0
- .4byte _0818AB00
- .4byte _0818AB10
- .4byte _0818AB20
- .4byte _0818AB30
- .4byte _0818AB40
- .4byte _0818AB50
- .4byte _0818AB60
- .4byte _0818AB70
- .4byte _0818AB80
- .4byte _0818AB90
- .4byte _0818ABA0
- .4byte _0818ABB0
- .4byte _0818AC00
- .4byte _0818AC10
- .4byte _0818AC20
- .4byte _0818AC30
- .4byte _0818AC40
- .4byte _0818AC50
- .4byte _0818AC60
- .4byte _0818AC70
- .4byte _0818AC80
- .4byte _0818ACB4
- .4byte _0818ACC4
- .4byte _0818ACD4
- .4byte _0818ACE4
- .4byte _0818ACF4
- .4byte _0818AD04
- .4byte _0818AD14
- .4byte _0818AD24
- .4byte _0818AD44
- .4byte _0818AD54
- .4byte _0818AD64
- .4byte _0818AD74
- .4byte _0818AD84
- .4byte _0818AD94
- .4byte _0818ADA4
- .4byte _0818ADB4
- .4byte _0818ADC4
- .4byte _0818ADD4
- .4byte _0818ADE4
-_0818A790:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2E]
- movs r6, 0
- add r0, sp, 0x24
- mov r9, r0
- movs r1, 0x3B
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0x2B
- str r2, [sp, 0x80]
- mov r0, sp
- adds r0, 0x2A
- str r0, [sp, 0x7C]
- mov r1, sp
- adds r1, 0x68
- str r1, [sp, 0x8C]
- adds r2, 0x5
- str r2, [sp, 0x84]
- adds r0, 0x12
- str r0, [sp, 0x88]
- mov r8, r4
- add r4, sp, 0xC
-_0818A7DC:
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- bl GetMonData
- strh r0, [r4]
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- bl GetMonData
- mov r2, r9
- adds r1, r2, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0818A7DC
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- mov r3, sp
- movs r5, 0x1F
- ands r0, r5
- ldrb r2, [r3, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- mov r3, sp
- movs r6, 0x1F
- ands r0, r6
- lsls r0, 5
- ldrh r2, [r3, 0x14]
- ldr r1, =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r3, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [sp, 0x14]
- ldr r2, =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- mov r3, sp
- ands r0, r6
- lsls r0, 4
- ldrh r2, [r3, 0x16]
- ldr r1, =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 1
- ldrb r2, [r3, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x48]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- str r0, [sp, 0x4C]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [sp, 0x7C]
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, sp
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r3, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- mov r3, sp
- lsls r0, 7
- ldrb r2, [r3, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x54]
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, [sp, 0x8C]
- bl GetMonData
- ldr r0, [sp, 0x84]
- ldr r1, [sp, 0x8C]
- bl StringCopy10
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, [sp, 0x88]
- bl GetMonData
- mov r2, sp
- movs r6, 0
-_0818A994:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x57
- bls _0818A994
- b _0818ADF6
- .pool
-_0818A9B4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- b _0818AD2E
- .pool
-_0818A9C4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- b _0818AD2E
- .pool
-_0818A9D4:
- movs r6, 0
- add r2, sp, 0x58
- mov r9, r2
- add r0, sp, 0x60
- mov r10, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- mov r8, r9
-_0818A9EA:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- mov r2, r10
- adds r1, r2, r6
- strb r0, [r1]
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0818A9EA
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- mov r1, r9
- strb r0, [r1, 0xC]
- mov r2, r9
- movs r6, 0
-_0818AA28:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0xF
- bls _0818AA28
- b _0818ADF6
- .pool
-_0818AA3C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x9
- b _0818AD2E
- .pool
-_0818AA58:
- movs r6, 0
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r2, =gPlayerParty
- mov r8, r2
-_0818AA64:
- adds r1, r6, 0
- adds r1, 0x11
- mov r2, r8
- adds r0, r4, r2
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0818AA64
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- b _0818ADF6
- .pool
-_0818AA94:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x8
- b _0818ADEE
- .pool
-_0818AAB0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- b _0818AACA
- .pool
-_0818AAC0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x19
-_0818AACA:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- movs r6, 0x3
- b _0818ADF6
- .pool
-_0818AAF0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1A
- b _0818ADEE
- .pool
-_0818AB00:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1B
- b _0818ADEE
- .pool
-_0818AB10:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1C
- b _0818ADEE
- .pool
-_0818AB20:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1D
- b _0818ADEE
- .pool
-_0818AB30:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1E
- b _0818ADEE
- .pool
-_0818AB40:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1F
- b _0818ADEE
- .pool
-_0818AB50:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x20
- b _0818ADEE
- .pool
-_0818AB60:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x22
- b _0818ADEE
- .pool
-_0818AB70:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x23
- b _0818ADEE
- .pool
-_0818AB80:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x24
- b _0818ADEE
- .pool
-_0818AB90:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x25
- b _0818ADEE
- .pool
-_0818ABA0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x26
- b _0818ADEE
- .pool
-_0818ABB0:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- strb r0, [r7, 0x1]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- strb r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- strb r0, [r7, 0x3]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- strb r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- strb r0, [r7, 0x5]
- movs r6, 0x6
- b _0818ADF6
- .pool
-_0818AC00:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x27
- b _0818ADEE
- .pool
-_0818AC10:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x28
- b _0818ADEE
- .pool
-_0818AC20:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x29
- b _0818ADEE
- .pool
-_0818AC30:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2A
- b _0818ADEE
- .pool
-_0818AC40:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2B
- b _0818ADEE
- .pool
-_0818AC50:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- b _0818ADEE
- .pool
-_0818AC60:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- b _0818AC8A
- .pool
-_0818AC70:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x9
- b _0818AD2E
- .pool
-_0818AC80:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x37
-_0818AC8A:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- lsrs r0, r1, 24
- strb r0, [r7, 0x3]
- movs r6, 0x4
- b _0818ADF6
- .pool
-_0818ACB4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- b _0818ADEE
- .pool
-_0818ACC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- b _0818AD2E
- .pool
-_0818ACD4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- b _0818AD2E
- .pool
-_0818ACE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3B
- b _0818AD2E
- .pool
-_0818ACF4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3C
- b _0818AD2E
- .pool
-_0818AD04:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3D
- b _0818AD2E
- .pool
-_0818AD14:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3E
- b _0818AD2E
- .pool
-_0818AD24:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3F
-_0818AD2E:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- strb r0, [r7]
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r6, 0x2
- b _0818ADF6
- .pool
-_0818AD44:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x16
- b _0818ADEE
- .pool
-_0818AD54:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x17
- b _0818ADEE
- .pool
-_0818AD64:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x18
- b _0818ADEE
- .pool
-_0818AD74:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x21
- b _0818ADEE
- .pool
-_0818AD84:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2F
- b _0818ADEE
- .pool
-_0818AD94:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x30
- b _0818ADEE
- .pool
-_0818ADA4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x32
- b _0818ADEE
- .pool
-_0818ADB4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x33
- b _0818ADEE
- .pool
-_0818ADC4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x34
- b _0818ADEE
- .pool
-_0818ADD4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x35
- b _0818ADEE
- .pool
-_0818ADE4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x36
-_0818ADEE:
- bl GetMonData
- strb r0, [r7]
- movs r6, 0x1
-_0818ADF6:
- adds r0, r6, 0
- add sp, 0x90
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_818A660
-
- thumb_func_start sub_818AE0C
-sub_818AE0C: @ 818AE0C
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818AE0C
-
- thumb_func_start sub_818AE18
-sub_818AE18: @ 818AE18
- push {r4,r5,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _0818AE48
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- bl sub_818AE70
- b _0818AE66
- .pool
-_0818AE48:
- ldrb r4, [r1]
- movs r5, 0
-_0818AE4C:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0818AE5A
- adds r0, r5, 0
- bl sub_818AE70
-_0818AE5A:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0818AE4C
-_0818AE66:
- bl RecordedPlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_818AE18
-
- thumb_func_start sub_818AE70
-sub_818AE70: @ 818AE70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- ldr r2, =gBattleBufferA + 3
- adds r3, r0, r2
- adds r6, r3, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r7, r2, 0
- cmp r0, 0x3B
- bls _0818AE9C
- bl _0818B836
-_0818AE9C:
- lsls r0, 2
- ldr r1, =_0818AEB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0818AEB4:
- .4byte _0818AFA4
- .4byte _0818B13C
- .4byte _0818B15C
- .4byte _0818B17C
- .4byte _0818B1D4
- .4byte _0818B1D4
- .4byte _0818B1D4
- .4byte _0818B1D4
- .4byte _0818B1FC
- .4byte _0818B260
- .4byte _0818B260
- .4byte _0818B260
- .4byte _0818B260
- .4byte _0818B836
- .4byte _0818B836
- .4byte _0818B836
- .4byte _0818B836
- .4byte _0818B290
- .4byte _0818B2B0
- .4byte _0818B2D0
- .4byte _0818B2F0
- .4byte _0818B310
- .4byte _0818B330
- .4byte _0818B350
- .4byte _0818B370
- .4byte _0818B390
- .4byte _0818B3B0
- .4byte _0818B3D0
- .4byte _0818B3F0
- .4byte _0818B410
- .4byte _0818B430
- .4byte _0818B450
- .4byte _0818B4C0
- .4byte _0818B4E0
- .4byte _0818B500
- .4byte _0818B520
- .4byte _0818B540
- .4byte _0818B560
- .4byte _0818B580
- .4byte _0818B5A0
- .4byte _0818B5C0
- .4byte _0818B5E0
- .4byte _0818B600
- .4byte _0818B620
- .4byte _0818B640
- .4byte _0818B660
- .4byte _0818B680
- .4byte _0818B6A0
- .4byte _0818B6C0
- .4byte _0818B6E0
- .4byte _0818B700
- .4byte _0818B720
- .4byte _0818B740
- .4byte _0818B760
- .4byte _0818B780
- .4byte _0818B7A0
- .4byte _0818B7C0
- .4byte _0818B7E0
- .4byte _0818B800
- .4byte _0818B820
-_0818AFA4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl SetMonData
- adds r2, r6, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r6
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r6, 0x2
- str r0, [sp, 0x4]
- adds r0, r6, 0x4
- str r0, [sp, 0x8]
- adds r0, r6, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r7, r6, 0
- adds r7, 0x24
- adds r4, r6, 0
- adds r4, 0xC
-_0818B00A:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r7, 0
- bl SetMonData
- adds r7, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0818B00A
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r6, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r6, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _0818B836
- .pool
-_0818B13C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xB
- bl SetMonData
- b _0818B836
- .pool
-_0818B15C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xC
- bl SetMonData
- b _0818B836
- .pool
-_0818B17C:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r3
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r6, r3, 0
- adds r6, 0x8
- adds r4, r3, 0
-_0818B196:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0818B196
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _0818B836
- .pool
-_0818B1D4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _0818B278
- .pool
-_0818B1FC:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x11
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _0818B836
- .pool
-_0818B260:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleBufferA
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_0818B278:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _0818B836
- .pool
-_0818B290:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1
- bl SetMonData
- b _0818B836
- .pool
-_0818B2B0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x19
- bl SetMonData
- b _0818B836
- .pool
-_0818B2D0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1A
- bl SetMonData
- b _0818B836
- .pool
-_0818B2F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1B
- bl SetMonData
- b _0818B836
- .pool
-_0818B310:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1C
- bl SetMonData
- b _0818B836
- .pool
-_0818B330:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1D
- bl SetMonData
- b _0818B836
- .pool
-_0818B350:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1E
- bl SetMonData
- b _0818B836
- .pool
-_0818B370:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1F
- bl SetMonData
- b _0818B836
- .pool
-_0818B390:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x20
- bl SetMonData
- b _0818B836
- .pool
-_0818B3B0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x22
- bl SetMonData
- b _0818B836
- .pool
-_0818B3D0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x23
- bl SetMonData
- b _0818B836
- .pool
-_0818B3F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x24
- bl SetMonData
- b _0818B836
- .pool
-_0818B410:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x25
- bl SetMonData
- b _0818B836
- .pool
-_0818B430:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x26
- bl SetMonData
- b _0818B836
- .pool
-_0818B450:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x27
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _0818B570
- .pool
-_0818B4C0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x27
- bl SetMonData
- b _0818B836
- .pool
-_0818B4E0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x28
- bl SetMonData
- b _0818B836
- .pool
-_0818B500:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x29
- bl SetMonData
- b _0818B836
- .pool
-_0818B520:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2A
- bl SetMonData
- b _0818B836
- .pool
-_0818B540:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2B
- bl SetMonData
- b _0818B836
- .pool
-_0818B560:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
-_0818B570:
- movs r1, 0x2C
- bl SetMonData
- b _0818B836
- .pool
-_0818B580:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0
- bl SetMonData
- b _0818B836
- .pool
-_0818B5A0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x9
- bl SetMonData
- b _0818B836
- .pool
-_0818B5C0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x37
- bl SetMonData
- b _0818B836
- .pool
-_0818B5E0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x38
- bl SetMonData
- b _0818B836
- .pool
-_0818B600:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x39
- bl SetMonData
- b _0818B836
- .pool
-_0818B620:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3A
- bl SetMonData
- b _0818B836
- .pool
-_0818B640:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3B
- bl SetMonData
- b _0818B836
- .pool
-_0818B660:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3C
- bl SetMonData
- b _0818B836
- .pool
-_0818B680:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3D
- bl SetMonData
- b _0818B836
- .pool
-_0818B6A0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3E
- bl SetMonData
- b _0818B836
- .pool
-_0818B6C0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3F
- bl SetMonData
- b _0818B836
- .pool
-_0818B6E0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x16
- bl SetMonData
- b _0818B836
- .pool
-_0818B700:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x17
- bl SetMonData
- b _0818B836
- .pool
-_0818B720:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x18
- bl SetMonData
- b _0818B836
- .pool
-_0818B740:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x21
- bl SetMonData
- b _0818B836
- .pool
-_0818B760:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2F
- bl SetMonData
- b _0818B836
- .pool
-_0818B780:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x30
- bl SetMonData
- b _0818B836
- .pool
-_0818B7A0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x32
- bl SetMonData
- b _0818B836
- .pool
-_0818B7C0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x33
- bl SetMonData
- b _0818B836
- .pool
-_0818B7E0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x34
- bl SetMonData
- b _0818B836
- .pool
-_0818B800:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x35
- bl SetMonData
- b _0818B836
- .pool
-_0818B820:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gActiveBank
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x36
- bl SetMonData
-_0818B836:
- ldr r2, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818AE70
-
- thumb_func_start sub_818B86C
-sub_818B86C: @ 818B86C
- push {r4-r7,lr}
- ldr r1, =gBattlePartyID
- ldr r7, =gActiveBank
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, =gBattleBufferA
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _0818B8C4
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_0818B8A2:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0818B8A2
-_0818B8C4:
- bl RecordedPlayerBufferExecCompleted
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818B86C
-
- thumb_func_start sub_818B8E0
-sub_818B8E0: @ 818B8E0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gBattlePartyID
- mov r8, r0
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- lsls r0, r1, 1
- add r0, r8
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r6]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
- mov r8, r0
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_80A5C6C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r6]
- bl sub_80A6138
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r5, =gSprites
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r2, [r6]
- adds r0, r2, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x2E]
- ldrb r3, [r6]
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r2, [r6]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =gBattleMonForms
- adds r2, r1
- ldrb r1, [r2]
- bl StartSpriteAnim
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A064
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818B8E0
-
- thumb_func_start sub_818B9FC
-sub_818B9FC: @ 818B9FC
- push {r4-r6,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- ldr r4, =gBattleBufferA
- lsls r1, r0, 9
- adds r6, r4, 0x2
- adds r1, r6
- ldrb r1, [r1]
- bl sub_805EF84
- ldr r2, =gBattlePartyID
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r2
- lsls r0, 9
- adds r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r5]
- lsls r1, r0, 9
- adds r1, r6
- ldrb r1, [r1]
- bl sub_818BA6C
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A470
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818B9FC
-
- thumb_func_start sub_818BA6C
-sub_818BA6C: @ 818BA6C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_805EF84
- ldr r0, =gBattlePartyID
- lsls r2, r6, 1
- adds r2, r0
- ldr r0, =gBattleBufferA
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
- ldrh r1, [r2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =sub_805D714
- bl CreateInvisibleSpriteWithCallback
- ldr r1, =gUnknown_03005D7C
- mov r9, r1
- add r9, r6
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_80A5C6C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_80A6138
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r10
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, =gSprites
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFF
- bl sub_80753E8
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818BA6C
-
- thumb_func_start sub_818BBE8
-sub_818BBE8: @ 818BBE8
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _0818BC30
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818BC78
- str r1, [r0]
- b _0818BC66
- .pool
-_0818BC30:
- ldr r5, =gBankSpriteIds
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, =gHealthBoxesIds
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
- bl RecordedPlayerBufferExecCompleted
-_0818BC66:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818BBE8
-
- thumb_func_start sub_818BC78
-sub_818BC78: @ 818BC78
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r1, [r4, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _0818BCA0
- cmp r0, 0x1
- beq _0818BCCE
- b _0818BCF6
- .pool
-_0818BCA0:
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0818BCBA
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0818BCBA:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _0818BCF6
-_0818BCCE:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0818BCF6
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A1B0
- str r1, [r0]
-_0818BCF6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818BC78
-
- thumb_func_start sub_818BD04
-sub_818BD04: @ 818BD04
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 18
- ands r0, r1
- cmp r0, 0
- beq _0818BD48
- movs r0, 0x40
- ands r1, r0
- cmp r1, 0
- beq _0818BD30
- bl sub_8185F40
- lsls r0, 24
- lsrs r4, r0, 24
- b _0818BD4C
- .pool
-_0818BD30:
- ldr r2, =gLinkPlayers
- ldr r0, =gUnknown_0203C7B4
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- b _0818BD4A
- .pool
-_0818BD48:
- ldr r0, =gLinkPlayers
-_0818BD4A:
- ldrb r4, [r0, 0x13]
-_0818BD4C:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r2, 0x40
- ands r1, r2
- adds r5, r0, 0
- cmp r1, 0
- beq _0818BD98
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankIdentity
- movs r1, 0x2
- ands r1, r0
- movs r0, 0x20
- mov r9, r0
- cmp r1, 0
- beq _0818BD72
- movs r1, 0x5A
- mov r9, r1
-_0818BD72:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _0818BD9C
- movs r0, 0x5A
- mov r9, r0
- ldr r1, =gTrainerFrontPicCoords
- b _0818BD9E
- .pool
-_0818BD98:
- movs r0, 0x50
- mov r9, r0
-_0818BD9C:
- ldr r1, =gTrainerBackPicCoords
-_0818BD9E:
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- subs r0, r1
- lsls r0, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r0, r1
- lsrs r7, r0, 16
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- bne _0818BDC0
- b _0818BEDC
-_0818BDC0:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl sub_806F000
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- adds r0, r5, 0
- bl sub_805DF38
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806A1C0
- ldr r0, =gUnknown_0202499C
- mov r8, r0
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r6]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- mov r1, r9
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, =gBankSpriteIds
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r0, =gTrainerFrontPicPaletteTable
- lsls r5, 3
- adds r5, r0
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- ldr r5, =gSprites
- ldrb r1, [r6]
- adds r1, r4
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x30
- strh r1, [r0, 0x26]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_805D7AC
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _0818BF72
- .pool
-_0818BEDC:
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- adds r0, r4, 0
- bl LoadBackTrainerBankSpriteGfx
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806A12C
- ldr r6, =gUnknown_0202499C
- mov r8, r9
- lsls r4, r7, 16
- asrs r4, 16
- ldrb r0, [r5]
- bl sub_80A82E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- bl CreateSprite
- ldr r6, =gBankSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_805D7AC
- str r1, [r0]
-_0818BF72:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81899B8
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818BD04
-
- thumb_func_start sub_818BFAC
-sub_818BFAC: @ 818BFAC
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818BFAC
-
- thumb_func_start sub_818BFB8
-sub_818BFB8: @ 818BFB8
- push {r4-r6,lr}
- ldr r6, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81899F0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818BFB8
-
- thumb_func_start sub_818C064
-sub_818C064: @ 818C064
- push {r4-r6,lr}
- ldr r6, =gBattleSpritesDataPtr
- ldr r4, [r6]
- ldr r5, =gActiveBank
- ldrb r2, [r5]
- ldr r0, [r4, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _0818C0B8
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0818C098
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0818C098:
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- adds r1, 0x1
- strb r1, [r0, 0x4]
- b _0818C12E
- .pool
-_0818C0B8:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0818C12E
- strb r4, [r3, 0x4]
- ldr r2, =gBattlePartyID
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl sub_805E990
- movs r1, 0x40
- negs r1, r1
- movs r0, 0x10
- bl PlaySE12WithPanning
- ldr r2, =gSprites
- ldr r3, =gBankSpriteIds
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x30]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8039C00
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A114
- str r1, [r0]
-_0818C12E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C064
-
- thumb_func_start sub_818C150
-sub_818C150: @ 818C150
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C150
-
- thumb_func_start sub_818C15C
-sub_818C15C: @ 818C15C
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C15C
-
- thumb_func_start sub_818C168
-sub_818C168: @ 818C168
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C168
-
- thumb_func_start sub_818C174
-sub_818C174: @ 818C174
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C174
-
- thumb_func_start sub_818C180
-sub_818C180: @ 818C180
- push {r4-r6,lr}
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _0818C192
- b _0818C2A6
-_0818C192:
- ldr r0, =gBattleBufferA
- mov r12, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- mov r1, r12
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- ldr r5, =gAnimMoveTurn
- mov r1, r12
- adds r1, 0x3
- adds r2, r1
- ldrb r1, [r2]
- strb r1, [r5]
- ldr r4, =gAnimMovePower
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x4
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x5
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r4, =gAnimMoveDmg
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x6
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x7
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r3, r1
- mov r1, r12
- adds r1, 0x8
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 16
- orrs r3, r1
- mov r1, r12
- adds r1, 0x9
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 24
- orrs r3, r1
- str r3, [r4]
- ldr r3, =gAnimFriendship
- ldrb r1, [r6]
- lsls r1, 9
- mov r2, r12
- adds r2, 0xA
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r3]
- ldr r4, =gWeatherMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0xC
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0xD
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r3, =gAnimDisableStructPtr
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x10
- adds r2, r1
- str r2, [r3]
- ldr r3, =gUnknown_020244BC
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r3
- ldr r2, [r2]
- str r2, [r1]
- ldrb r1, [r5]
- bl sub_805DB8C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _0818C288
- bl RecordedPlayerBufferExecCompleted
- b _0818C2A6
- .pool
-_0818C288:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x4]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_move_anim_2
- str r1, [r0]
-_0818C2A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C180
-
- thumb_func_start bx_move_anim_2
-bx_move_anim_2: @ 818C2B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r3, [r6]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r10, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, r2, 0x2
- mov r9, r5
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r1, [r1]
- mov r8, r1
- ldr r7, =gBattleSpritesDataPtr
- ldr r5, [r7]
- ldr r1, [r5, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _0818C350
- cmp r2, 0x1
- bgt _0818C310
- cmp r2, 0
- beq _0818C31A
- b _0818C42C
- .pool
-_0818C310:
- cmp r2, 0x2
- beq _0818C37A
- cmp r2, 0x3
- beq _0818C3F0
- b _0818C42C
-_0818C31A:
- ldr r1, [r5]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _0818C33C
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r6]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0818C33C:
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0, 0x4]
- b _0818C42C
-_0818C350:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0818C42C
- movs r0, 0
- bl sub_805EB9C
- adds r0, r4, 0
- bl DoMoveAnim
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0, 0x4]
- b _0818C42C
-_0818C37A:
- ldr r0, =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0818C42C
- movs r0, 0x1
- bl sub_805EB9C
- ldr r0, [r7]
- ldrb r2, [r6]
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0818C3C8
- mov r0, r8
- cmp r0, 0x1
- bhi _0818C3C8
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0818C3C8:
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _0818C42C
- .pool
-_0818C3F0:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0818C42C
- bl sub_805E394
- ldrb r0, [r6]
- lsls r2, r0, 9
- mov r3, r10
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r9
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_805E94C
- ldr r0, [r7]
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r4, [r0, 0x4]
- bl RecordedPlayerBufferExecCompleted
-_0818C42C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end bx_move_anim_2
-
- thumb_func_start sub_818C43C
-sub_818C43C: @ 818C43C
- push {r4,lr}
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- ldr r1, =gBattleBufferA + 2
- adds r0, r1
- ldrh r0, [r0]
- bl BufferStringBattle
- ldr r0, =gDisplayedStringBattle
- movs r1, 0
- bl sub_814F9EC
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A220
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C43C
-
- thumb_func_start sub_818C490
-sub_818C490: @ 818C490
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C490
-
- thumb_func_start sub_818C49C
-sub_818C49C: @ 818C49C
- push {lr}
- ldr r1, =gBattleCommunication
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- ldrb r1, [r1, 0x4]
- lsrs r0, 1
- cmp r1, r0
- bcc _0818C4C6
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl sub_8185054
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0
- bl EmitCmd33
- bl RecordedPlayerBufferExecCompleted
-_0818C4C6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C49C
-
- thumb_func_start sub_818C4D8
-sub_818C4D8: @ 818C4D8
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0818C508
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818C49C
- str r1, [r0]
- b _0818C522
- .pool
-_0818C508:
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl sub_8185054
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0
- bl EmitCmd33
- bl RecordedPlayerBufferExecCompleted
-_0818C522:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C4D8
-
- thumb_func_start sub_818C52C
-sub_818C52C: @ 818C52C
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C52C
-
- thumb_func_start sub_818C538
-sub_818C538: @ 818C538
- push {r4,r5,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- beq _0818C560
- bl sub_805D19C
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
- b _0818C584
- .pool
-_0818C560:
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl sub_8185054
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5]
- bl sub_8185054
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 16
- orrs r2, r4
- movs r0, 0x1
- movs r1, 0xA
- bl EmitCmd33
-_0818C584:
- bl RecordedPlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C538
-
- thumb_func_start sub_818C594
-sub_818C594: @ 818C594
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C594
-
- thumb_func_start sub_818C5A0
-sub_818C5A0: @ 818C5A0
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl sub_8185054
- ldrb r1, [r4]
- ldr r3, =gBattleStruct
- ldr r2, [r3]
- adds r1, r2
- adds r1, 0x5C
- strb r0, [r1]
- ldrb r0, [r4]
- ldr r1, [r3]
- adds r0, r1
- adds r0, 0x5C
- ldrb r1, [r0]
- movs r0, 0x1
- movs r2, 0
- bl EmitCmd34
- bl RecordedPlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C5A0
-
- thumb_func_start sub_818C5DC
-sub_818C5DC: @ 818C5DC
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C5DC
-
- thumb_func_start sub_818C5E8
-sub_818C5E8: @ 818C5E8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl LoadBattleBarGfx
- ldr r3, =gBattleBufferA
- ldr r0, =gActiveBank
- mov r9, r0
- ldrb r4, [r0]
- lsls r2, r4, 9
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r3, 0x3
- adds r2, r3
- ldrb r0, [r2]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- asrs r7, r1, 16
- ldr r0, =0x00007fff
- cmp r7, r0
- beq _0818C678
- ldr r6, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, =gHealthBoxesIds
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl SetBattleBarStruct
- b _0818C6B2
- .pool
-_0818C678:
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r4, =gHealthBoxesIds
- adds r1, r0, r4
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl SetBattleBarStruct
- mov r1, r9
- ldrb r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0
- bl UpdateHpTextInHealthbox
-_0818C6B2:
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A0A4
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C5E8
-
- thumb_func_start sub_818C6E8
-sub_818C6E8: @ 818C6E8
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C6E8
-
- thumb_func_start sub_818C6F4
-sub_818C6F4: @ 818C6F4
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0818C748
- ldr r0, =gHealthBoxesIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0x9
- bl UpdateHealthboxAttribute
- ldrb r2, [r4]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A58C
- str r1, [r0]
-_0818C748:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C6F4
-
- thumb_func_start sub_818C76C
-sub_818C76C: @ 818C76C
- push {r4,r5,lr}
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0818C7BC
- ldr r4, =gBattleBufferA
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A58C
- str r1, [r0]
-_0818C7BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C76C
-
- thumb_func_start sub_818C7D4
-sub_818C7D4: @ 818C7D4
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C7D4
-
- thumb_func_start sub_818C7E0
-sub_818C7E0: @ 818C7E0
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C7E0
-
- thumb_func_start sub_818C7EC
-sub_818C7EC: @ 818C7EC
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C7EC
-
- thumb_func_start sub_818C7F8
-sub_818C7F8: @ 818C7F8
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C7F8
-
- thumb_func_start sub_818C804
-sub_818C804: @ 818C804
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C804
-
- thumb_func_start sub_818C810
-sub_818C810: @ 818C810
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C810
-
- thumb_func_start sub_818C81C
-sub_818C81C: @ 818C81C
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C81C
-
- thumb_func_start sub_818C828
-sub_818C828: @ 818C828
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C828
-
- thumb_func_start sub_818C834
-sub_818C834: @ 818C834
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C834
-
- thumb_func_start sub_818C840
-sub_818C840: @ 818C840
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C840
-
- thumb_func_start sub_818C85C
-sub_818C85C: @ 818C85C
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C85C
-
- thumb_func_start sub_818C894
-sub_818C894: @ 818C894
- push {lr}
- ldr r2, =gUnknown_02022D0C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C894
-
- thumb_func_start sub_818C8AC
-sub_818C8AC: @ 818C8AC
- push {lr}
- ldr r3, =gUnknown_02022D0C
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C8AC
-
- thumb_func_start sub_818C8D4
-sub_818C8D4: @ 818C8D4
- push {r4,lr}
- ldr r3, =gSprites
- ldr r2, =gBankSpriteIds
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _0818C908
- bl RecordedPlayerBufferExecCompleted
- b _0818C932
- .pool
-_0818C908:
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_80769F4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_818A238
- str r1, [r0]
-_0818C932:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C8D4
-
- thumb_func_start sub_818C944
-sub_818C944: @ 818C944
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818C944
-
- thumb_func_start sub_818C950
-sub_818C950: @ 818C950
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _0818C964
- movs r3, 0xC0
-_0818C964:
- ldr r2, =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl RecordedPlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C950
-
- thumb_func_start sub_818C994
-sub_818C994: @ 818C994
- push {r4,r5,lr}
- ldr r4, =gBattleBufferA
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r3, r0, 9
- adds r0, r4, 0x3
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0818C9D0
- bl BattleMusicStop
- ldrb r1, [r5]
- lsls r1, 9
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, r4, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayBGM
- b _0818C9E4
- .pool
-_0818C9D0:
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
-_0818C9E4:
- bl RecordedPlayerBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_818C994
-
- thumb_func_start sub_818C9F0
-sub_818C9F0: @ 818C9F0
- push {lr}
- ldr r1, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818C9F0
-
- thumb_func_start dp01t_2E_2_battle_intro
-dp01t_2E_2_battle_intro: @ 818CA30
- push {lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl battle_intro_launch
- ldr r2, =gUnknown_020243FC
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_2E_2_battle_intro
-
- thumb_func_start sub_818CA64
-sub_818CA64: @ 818CA64
- push {r4-r6,lr}
- ldr r5, =gBankSpriteIds
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80A6EEC
- str r1, [r0]
- ldrb r2, [r6]
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x38]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =sub_805CC00
- bl StoreSpriteCallbackInData6
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, =0x0000d6f9
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _0818CB54
- ldr r4, =gLinkPlayers
- ldrb r0, [r6]
- bl sub_806D864
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1, 0x13]
- b _0818CB5A
- .pool
-_0818CB54:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
-_0818CB5A:
- ldr r1, =gTrainerBackPicPaletteTable
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- lsls r4, r5, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, =sub_818CC24
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r5]
- strh r0, [r1, 0x8]
- ldr r3, =gBattleSpritesDataPtr
- ldr r0, [r3]
- ldrb r2, [r5]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0818CBD4
- ldr r0, =gUnknown_020244B4
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, =sub_8073C30
- str r1, [r0]
-_0818CBD4:
- ldr r0, [r3]
- ldr r2, [r0, 0x8]
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =nullsub_120
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818CA64
-
- thumb_func_start sub_818CC24
-sub_818CC24: @ 818CC24
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x17
- bgt _0818CC50
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _0818CD0C
- .pool
-_0818CC50:
- ldr r7, =gActiveBank
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0818CC70
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0818CCA0
-_0818CC70:
- ldr r0, =gBattleBufferA
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, =gBattlePartyID
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_818BA6C
- b _0818CCF4
- .pool
-_0818CCA0:
- ldr r4, =gBattleBufferA
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, =gBattlePartyID
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_818BA6C
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, =gPlayerParty
- adds r0, r2
- bl BattleLoadPlayerMonSpriteGfx
- ldrb r0, [r7]
- movs r1, 0
- bl sub_818BA6C
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_0818CCF4:
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8189D40
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_0818CD0C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818CC24
-
- thumb_func_start sub_818CD30
-sub_818CD30: @ 818CD30
- push {r4-r6,lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0818CD60
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0818CD60
- bl RecordedPlayerBufferExecCompleted
- b _0818CDD4
- .pool
-_0818CD60:
- ldr r6, =gBattleSpritesDataPtr
- ldr r0, [r6]
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, =gBattleBufferA + 4
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl CreatePartyStatusSummarySprites
- ldr r2, =gUnknown_020244B4
- ldrb r1, [r5]
- adds r1, r2
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r6]
- ldrb r1, [r5]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r3, [r0, 0x5]
- ldrb r2, [r5]
- lsls r0, r2, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0818CDC8
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_0818CDC8:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, =bx_increment_dp11b_field_5_till_x60_then_resume
- str r0, [r1]
-_0818CDD4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818CD30
-
- thumb_func_start bx_increment_dp11b_field_5_till_x60_then_resume
-bx_increment_dp11b_field_5_till_x60_then_resume: @ 818CDF4
- push {r4,lr}
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r3, =gActiveBank
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _0818CE2C
- ldr r0, [r4]
- ldrb r1, [r3]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strb r1, [r0, 0x5]
- bl RecordedPlayerBufferExecCompleted
-_0818CE2C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_increment_dp11b_field_5_till_x60_then_resume
-
- thumb_func_start sub_818CE3C
-sub_818CE3C: @ 818CE3C
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- ldr r1, [r1, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0818CE6E
- ldr r2, =gTasks
- ldr r0, =gUnknown_020244B4
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_8073C30
- str r1, [r0]
-_0818CE6E:
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818CE3C
-
- thumb_func_start sub_818CE8C
-sub_818CE8C: @ 818CE8C
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818CE8C
-
- thumb_func_start sub_818CE98
-sub_818CE98: @ 818CE98
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl AnimBankSpriteExists
- lsls r0, 24
- cmp r0, 0
- beq _0818CEDE
- ldr r3, =gSprites
- ldr r0, =gBankSpriteIds
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, =gBattleBufferA
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_805E408
-_0818CEDE:
- bl RecordedPlayerBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818CE98
-
- thumb_func_start sub_818CEF8
-sub_818CEF8: @ 818CEF8
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0818CF50
- ldr r5, =gBattleBufferA
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _0818CF44
- bl RecordedPlayerBufferExecCompleted
- b _0818CF50
- .pool
-_0818CF44:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_818A5BC
- str r0, [r1]
-_0818CF50:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818CEF8
-
- thumb_func_start sub_818CF60
-sub_818CF60: @ 818CF60
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818CF60
-
- thumb_func_start sub_818CF6C
-sub_818CF6C: @ 818CF6C
- push {lr}
- bl RecordedPlayerBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_818CF6C
-
- thumb_func_start sub_818CF78
-sub_818CF78: @ 818CF78
- push {r4,lr}
- ldr r2, =gBattleOutcome
- ldr r1, =gBattleBufferA
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl RecordedPlayerBufferExecCompleted
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_80587B0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_818CF78
-
- thumb_func_start nullsub_121
-nullsub_121: @ 818CFC4
- bx lr
- thumb_func_end nullsub_121
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s
deleted file mode 100644
index d7efd69fe..000000000
--- a/asm/battle_controller_safari.s
+++ /dev/null
@@ -1,1412 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start nullsub_114
-nullsub_114: @ 8159368
- bx lr
- thumb_func_end nullsub_114
-
- thumb_func_start SetBankFuncToSafariBufferRunCommand
-SetBankFuncToSafariBufferRunCommand: @ 815936C
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =SafariBufferRunCommand
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToSafariBufferRunCommand
-
- thumb_func_start SafariBufferRunCommand
-SafariBufferRunCommand: @ 8159388
- push {lr}
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldr r0, =gActiveBank
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _081593D4
- ldr r0, =gBattleBufferA
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _081593D0
- ldr r0, =gSafariBufferCommands
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _081593D4
- .pool
-_081593D0:
- bl SafariBufferExecCompleted
-_081593D4:
- pop {r0}
- bx r0
- thumb_func_end SafariBufferRunCommand
-
- thumb_func_start bx_battle_menu_t6_2
-bx_battle_menu_t6_2: @ 81593D8
- push {r4,r5,lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08159446
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gActionSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08159424
- cmp r0, 0x1
- bgt _08159414
- cmp r0, 0
- beq _0815941E
- b _08159440
- .pool
-_08159414:
- cmp r0, 0x2
- beq _0815942A
- cmp r0, 0x3
- beq _08159436
- b _08159440
-_0815941E:
- movs r0, 0x1
- movs r1, 0x5
- b _0815942E
-_08159424:
- movs r0, 0x1
- movs r1, 0x6
- b _0815942E
-_0815942A:
- movs r0, 0x1
- movs r1, 0x7
-_0815942E:
- movs r2, 0
- bl EmitCmd33
- b _08159440
-_08159436:
- movs r0, 0x1
- movs r1, 0x8
- movs r2, 0
- bl EmitCmd33
-_08159440:
- bl SafariBufferExecCompleted
- b _0815954E
-_08159446:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08159484
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0815954E
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _081594F2
- .pool
-_08159484:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081594C0
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0815954E
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x1
- b _081594F2
- .pool
-_081594C0:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0815950C
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0815954E
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
-_081594F2:
- eors r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- b _0815954E
- .pool
-_0815950C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0815954E
- ldr r5, =gActionSelectionCursor
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0815954E
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ActionSelectionDestroyCursorAt
- ldrb r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- movs r2, 0x2
- eors r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
-_0815954E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_battle_menu_t6_2
-
- thumb_func_start sub_815955C
-sub_815955C: @ 815955C
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08159580
- bl SafariBufferExecCompleted
-_08159580:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815955C
-
- thumb_func_start bx_t6_button_a
-bx_t6_button_a: @ 8159594
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _081595A6
- bl SafariBufferExecCompleted
-_081595A6:
- pop {r0}
- bx r0
- thumb_func_end bx_t6_button_a
-
- thumb_func_start sub_81595AC
-sub_81595AC: @ 81595AC
- push {lr}
- ldr r2, =gSprites
- ldr r1, =gHealthBoxesIds
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081595D0
- bl SafariBufferExecCompleted
-_081595D0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81595AC
-
- thumb_func_start sub_81595E4
-sub_81595E4: @ 81595E4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0815960E
- ldr r2, =gMain
- ldr r0, =0x00000439
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldr r0, =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r2, 0x8]
- bl SetMainCallback2
-_0815960E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81595E4
-
- thumb_func_start bx_wait_t6
-bx_wait_t6: @ 8159624
- push {lr}
- ldr r0, =gDoingBattleAnim
- ldrb r0, [r0]
- cmp r0, 0
- beq _0815964A
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _0815964E
-_0815964A:
- bl SafariBufferExecCompleted
-_0815964E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_wait_t6
-
- thumb_func_start sub_8159660
-sub_8159660: @ 8159660
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08159684
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8159698
- str r1, [r0]
- bl FreeAllWindowBuffers
- bl sub_81358F4
-_08159684:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159660
-
- thumb_func_start sub_8159698
-sub_8159698: @ 8159698
- push {lr}
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =BattleMainCB2
- cmp r1, r0
- bne _081596BE
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081596BE
- ldr r0, =gScriptItemId
- ldrh r1, [r0]
- movs r0, 0x1
- bl EmitCmd35
- bl SafariBufferExecCompleted
-_081596BE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159698
-
- thumb_func_start sub_81596D4
-sub_81596D4: @ 81596D4
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _081596F6
- bl SafariBufferExecCompleted
-_081596F6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81596D4
-
- thumb_func_start SafariBufferExecCompleted
-SafariBufferExecCompleted: @ 8159704
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gBattleBankFunc
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =SafariBufferRunCommand
- str r1, [r0]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08159758
- bl GetMultiplayerId
- mov r1, sp
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- mov r2, sp
- bl PrepareBufferDataTransferLink
- ldr r1, =gBattleBufferA
- ldrb r0, [r4]
- lsls r0, 9
- adds r0, r1
- movs r1, 0x38
- strb r1, [r0]
- b _0815976A
- .pool
-_08159758:
- ldr r2, =gBattleExecBuffer
- ldr r1, =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
-_0815976A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SafariBufferExecCompleted
-
- thumb_func_start bx_80364D0
-bx_80364D0: @ 815977C
- push {lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r2, [r0]
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0815979E
- bl SafariBufferExecCompleted
-_0815979E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_80364D0
-
- thumb_func_start sub_81597AC
-sub_81597AC: @ 81597AC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81597AC
-
- thumb_func_start sub_81597B8
-sub_81597B8: @ 81597B8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81597B8
-
- thumb_func_start sub_81597C4
-sub_81597C4: @ 81597C4
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81597C4
-
- thumb_func_start sub_81597D0
-sub_81597D0: @ 81597D0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81597D0
-
- thumb_func_start sub_81597DC
-sub_81597DC: @ 81597DC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81597DC
-
- thumb_func_start sub_81597E8
-sub_81597E8: @ 81597E8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81597E8
-
- thumb_func_start sub_81597F4
-sub_81597F4: @ 81597F4
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81597F4
-
- thumb_func_start sub_8159800
-sub_8159800: @ 8159800
- push {r4-r6,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- ldr r5, =gActiveBank
- ldrb r1, [r5]
- bl LoadBackTrainerBankSpriteGfx
- ldr r0, [r4]
- ldrb r6, [r0, 0x8]
- ldrb r0, [r5]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_806A12C
- ldr r0, =gUnknown_0202499C
- ldr r2, =gTrainerBackPicCoords
- ldr r1, [r4]
- ldrb r1, [r1, 0x8]
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r2, r1
- asrs r2, 16
- movs r1, 0x50
- movs r3, 0x1E
- bl CreateSprite
- ldr r6, =gBankSpriteIds
- ldrb r1, [r5]
- adds r1, r6
- strb r0, [r1]
- ldr r4, =gSprites
- ldrb r3, [r5]
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_805D7AC
- str r1, [r0]
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_815955C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159800
-
- thumb_func_start sub_81598E0
-sub_81598E0: @ 81598E0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81598E0
-
- thumb_func_start sub_81598EC
-sub_81598EC: @ 81598EC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81598EC
-
- thumb_func_start sub_81598F8
-sub_81598F8: @ 81598F8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81598F8
-
- thumb_func_start sub_8159904
-sub_8159904: @ 8159904
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159904
-
- thumb_func_start sub_8159910
-sub_8159910: @ 8159910
- push {r4,r5,lr}
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- movs r0, 0x4
- strb r0, [r1, 0x8]
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldr r5, =gActiveBank
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBankByIdentity
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x4
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_wait_t6
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159910
-
- thumb_func_start sub_8159964
-sub_8159964: @ 8159964
- push {r4,r5,lr}
- ldr r1, =gBattleBufferA
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- strb r1, [r0, 0x8]
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r4, [r5]
- movs r0, 0x1
- bl GetBankByIdentity
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x4
- bl move_anim_start_t4
- ldr r1, =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_wait_t6
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159964
-
- thumb_func_start sub_81599C4
-sub_81599C4: @ 81599C4
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81599C4
-
- thumb_func_start sub_81599D0
-sub_81599D0: @ 81599D0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_81599D0
-
- thumb_func_start dp01t_10_6_message
-dp01t_10_6_message: @ 81599DC
- push {r4,lr}
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG0_Y
- strh r1, [r0]
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- ldr r1, =gBattleBufferA + 2
- adds r0, r1
- ldrh r0, [r0]
- bl BufferStringBattle
- ldr r0, =gDisplayedStringBattle
- movs r1, 0
- bl sub_814F9EC
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_t6_button_a
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_10_6_message
-
- thumb_func_start dp01t_11_6_message_for_player_only
-dp01t_11_6_message_for_player_only: @ 8159A30
- push {lr}
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08159A4C
- bl dp01t_10_6_message
- b _08159A50
- .pool
-_08159A4C:
- bl SafariBufferExecCompleted
-_08159A50:
- pop {r0}
- bx r0
- thumb_func_end dp01t_11_6_message_for_player_only
-
- thumb_func_start sub_8159A54
-sub_8159A54: @ 8159A54
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08159A7A
- ldr r0, =gBattle_BG0_X
- strh r1, [r0]
- ldr r1, =gBattle_BG0_Y
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =bx_battle_menu_t6_2
- str r1, [r0]
-_08159A7A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159A54
-
- thumb_func_start sub_8159A94
-sub_8159A94: @ 8159A94
- push {r4,lr}
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8159A54
- str r1, [r0]
- ldr r0, =gText_SafariZoneMenu
- movs r1, 0x2
- bl sub_814F9EC
- movs r4, 0
-_08159AAE:
- lsls r0, r4, 24
- lsrs r0, 24
- bl ActionSelectionDestroyCursorAt
- adds r4, 0x1
- cmp r4, 0x3
- ble _08159AAE
- ldr r1, =gActionSelectionCursor
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl ActionSelectionCreateCursorAt
- ldr r0, =gText_WhatWillPkmnDo2
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r0, =gDisplayedStringBattle
- movs r1, 0x1
- bl sub_814F9EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159A94
-
- thumb_func_start sub_8159AFC
-sub_8159AFC: @ 8159AFC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159AFC
-
- thumb_func_start sub_8159B08
-sub_8159B08: @ 8159B08
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159B08
-
- thumb_func_start sub_8159B14
-sub_8159B14: @ 8159B14
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gBattleBankFunc
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_8159660
- str r1, [r0]
- ldr r1, =gBankInMenu
- ldrb r0, [r2]
- strb r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159B14
-
- thumb_func_start sub_8159B54
-sub_8159B54: @ 8159B54
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159B54
-
- thumb_func_start sub_8159B60
-sub_8159B60: @ 8159B60
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159B60
-
- thumb_func_start sub_8159B6C
-sub_8159B6C: @ 8159B6C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159B6C
-
- thumb_func_start sub_8159B78
-sub_8159B78: @ 8159B78
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159B78
-
- thumb_func_start sub_8159B84
-sub_8159B84: @ 8159B84
- push {lr}
- ldr r0, =gHealthBoxesIds
- ldr r1, =gActiveBank
- ldrb r1, [r1]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0xB
- bl UpdateHealthboxAttribute
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159B84
-
- thumb_func_start sub_8159BC0
-sub_8159BC0: @ 8159BC0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159BC0
-
- thumb_func_start sub_8159BCC
-sub_8159BCC: @ 8159BCC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159BCC
-
- thumb_func_start sub_8159BD8
-sub_8159BD8: @ 8159BD8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159BD8
-
- thumb_func_start sub_8159BE4
-sub_8159BE4: @ 8159BE4
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159BE4
-
- thumb_func_start sub_8159BF0
-sub_8159BF0: @ 8159BF0
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159BF0
-
- thumb_func_start sub_8159BFC
-sub_8159BFC: @ 8159BFC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159BFC
-
- thumb_func_start sub_8159C08
-sub_8159C08: @ 8159C08
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C08
-
- thumb_func_start sub_8159C14
-sub_8159C14: @ 8159C14
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C14
-
- thumb_func_start sub_8159C20
-sub_8159C20: @ 8159C20
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C20
-
- thumb_func_start sub_8159C2C
-sub_8159C2C: @ 8159C2C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C2C
-
- thumb_func_start sub_8159C38
-sub_8159C38: @ 8159C38
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C38
-
- thumb_func_start sub_8159C44
-sub_8159C44: @ 8159C44
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C44
-
- thumb_func_start sub_8159C50
-sub_8159C50: @ 8159C50
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C50
-
- thumb_func_start sub_8159C5C
-sub_8159C5C: @ 8159C5C
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C5C
-
- thumb_func_start sub_8159C68
-sub_8159C68: @ 8159C68
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C68
-
- thumb_func_start sub_8159C74
-sub_8159C74: @ 8159C74
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159C74
-
- thumb_func_start sub_8159C80
-sub_8159C80: @ 8159C80
- push {r4,lr}
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _08159C94
- movs r3, 0xC0
-_08159C94:
- ldr r2, =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl SafariBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159C80
-
- thumb_func_start dp01t_34_6_move_anim_start_t3
-dp01t_34_6_move_anim_start_t3: @ 8159CC4
- push {r4,r5,lr}
- ldr r4, =gBattleBufferA
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- lsls r3, r0, 9
- adds r0, r4, 0x3
- adds r0, r3, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08159D00
- bl BattleMusicStop
- ldrb r1, [r5]
- lsls r1, 9
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, r4, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayBGM
- b _08159D14
- .pool
-_08159D00:
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
-_08159D14:
- bl SafariBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end dp01t_34_6_move_anim_start_t3
-
- thumb_func_start sub_8159D20
-sub_8159D20: @ 8159D20
- push {lr}
- ldr r1, =gBattlePartyID
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- bl PlayCry1
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159D20
-
- thumb_func_start dp01t_2E_6_battle_intro
-dp01t_2E_6_battle_intro: @ 8159D5C
- push {lr}
- ldr r1, =gBattleBufferA
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl battle_intro_launch
- ldr r2, =gUnknown_020243FC
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp01t_2E_6_battle_intro
-
- thumb_func_start sub_8159D90
-sub_8159D90: @ 8159D90
- push {r4,r5,lr}
- ldr r5, =gHealthBoxesIds
- ldr r4, =gActiveBank
- ldrb r1, [r4]
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0xA
- bl UpdateHealthboxAttribute
- ldrb r0, [r4]
- bl sub_8076918
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- ldr r1, =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, =sub_81595AC
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159D90
-
- thumb_func_start sub_8159DEC
-sub_8159DEC: @ 8159DEC
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159DEC
-
- thumb_func_start sub_8159DF8
-sub_8159DF8: @ 8159DF8
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159DF8
-
- thumb_func_start sub_8159E04
-sub_8159E04: @ 8159E04
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159E04
-
- thumb_func_start sub_8159E10
-sub_8159E10: @ 8159E10
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159E10
-
- thumb_func_start sub_8159E1C
-sub_8159E1C: @ 8159E1C
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, =gBattleBufferA
- ldr r6, =gActiveBank
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _08159E5C
- bl SafariBufferExecCompleted
- b _08159E68
- .pool
-_08159E5C:
- ldr r0, =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_81596D4
- str r0, [r1]
-_08159E68:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159E1C
-
- thumb_func_start sub_8159E78
-sub_8159E78: @ 8159E78
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159E78
-
- thumb_func_start sub_8159E84
-sub_8159E84: @ 8159E84
- push {lr}
- bl SafariBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8159E84
-
- thumb_func_start sub_8159E90
-sub_8159E90: @ 8159E90
- push {r4,lr}
- ldr r2, =gBattleOutcome
- ldr r1, =gBattleBufferA
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl SafariBufferExecCompleted
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x6
- ands r0, r1
- cmp r0, 0x2
- bne _08159ECC
- ldr r0, =gBattleBankFunc
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, =sub_81595E4
- str r0, [r1]
-_08159ECC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159E90
-
- thumb_func_start nullsub_115
-nullsub_115: @ 8159EEC
- bx lr
- thumb_func_end nullsub_115
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_controller_wally.s b/asm/battle_controller_wally.s
index e1d92de0d..10b6d30be 100644
--- a/asm/battle_controller_wally.s
+++ b/asm/battle_controller_wally.s
@@ -5,38 +5,6 @@
.text
-
- thumb_func_start nullsub_117
-nullsub_117: @ 81683B4
- bx lr
- thumb_func_end nullsub_117
-
- thumb_func_start SetBankFuncToWallyBufferRunCommand
-SetBankFuncToWallyBufferRunCommand: @ 81683B8
- ldr r1, =gBattleBankFunc
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, =WallyBufferRunCommand
- str r1, [r0]
- ldr r2, =gBattleStruct
- ldr r0, [r2]
- adds r0, 0x94
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x95
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x96
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x97
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end SetBankFuncToWallyBufferRunCommand
thumb_func_start WallyBufferRunCommand
WallyBufferRunCommand: @ 81683F4
@@ -153,7 +121,7 @@ _081684CE:
movs r1, 0x9
_081684E4:
movs r2, 0
- bl EmitCmd33
+ bl EmitTwoReturnValues
bl WallyBufferExecCompleted
ldr r1, [r4]
adds r1, 0x94
@@ -208,7 +176,7 @@ _08168540:
movs r0, 0x1
movs r1, 0x1
movs r2, 0
- bl EmitCmd33
+ bl EmitTwoReturnValues
bl WallyBufferExecCompleted
_08168564:
pop {r4,r5}
@@ -311,7 +279,7 @@ sub_8168610: @ 8168610
ldr r0, =gScriptItemId
ldrh r1, [r0]
movs r0, 0x1
- bl EmitCmd35
+ bl EmitOneReturnValue
bl WallyBufferExecCompleted
_08168636:
pop {r0}
@@ -928,8 +896,8 @@ _08168B92:
.pool
thumb_func_end sub_8168B70
- thumb_func_start dp01t_00_5_getattr
-dp01t_00_5_getattr: @ 8168BA0
+ thumb_func_start WallyHandleGetMonData
+WallyHandleGetMonData: @ 8168BA0
push {r4-r6,lr}
sub sp, 0x100
movs r6, 0
@@ -981,7 +949,7 @@ _08168BFA:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end dp01t_00_5_getattr
+ thumb_func_end WallyHandleGetMonData
thumb_func_start sub_8168C14
sub_8168C14: @ 8168C14
@@ -1861,16 +1829,16 @@ _081693AA:
.pool
thumb_func_end sub_8168C14
- thumb_func_start sub_81693C0
-sub_81693C0: @ 81693C0
+ thumb_func_start WallyHandleGetRawMonData
+WallyHandleGetRawMonData: @ 81693C0
push {lr}
- bl sub_805A614
+ bl PlayerHandleGetRawMonData
pop {r0}
bx r0
- thumb_func_end sub_81693C0
+ thumb_func_end WallyHandleGetRawMonData
- thumb_func_start sub_81693CC
-sub_81693CC: @ 81693CC
+ thumb_func_start WallyHandleSetMonData
+WallyHandleSetMonData: @ 81693CC
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -1910,7 +1878,7 @@ _0816941A:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_81693CC
+ thumb_func_end WallyHandleSetMonData
thumb_func_start sub_8169424
sub_8169424: @ 8169424
@@ -2945,32 +2913,32 @@ _08169DEA:
.pool
thumb_func_end sub_8169424
- thumb_func_start sub_8169E20
-sub_8169E20: @ 8169E20
+ thumb_func_start WallyHandleSetRawMonData
+WallyHandleSetRawMonData: @ 8169E20
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8169E20
+ thumb_func_end WallyHandleSetRawMonData
- thumb_func_start sub_8169E2C
-sub_8169E2C: @ 8169E2C
+ thumb_func_start WallyHandleLoadMonSprite
+WallyHandleLoadMonSprite: @ 8169E2C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8169E2C
+ thumb_func_end WallyHandleLoadMonSprite
- thumb_func_start sub_8169E38
-sub_8169E38: @ 8169E38
+ thumb_func_start WallyHandleSwitchInAnim
+WallyHandleSwitchInAnim: @ 8169E38
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_8169E38
+ thumb_func_end WallyHandleSwitchInAnim
- thumb_func_start sub_8169E44
-sub_8169E44: @ 8169E44
+ thumb_func_start WallyHandleReturnMonToBall
+WallyHandleReturnMonToBall: @ 8169E44
push {r4-r6,lr}
ldr r0, =gBattleBufferA
ldr r6, =gActiveBank
@@ -2984,7 +2952,7 @@ sub_8169E44: @ 8169E44
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x1
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r0, =gBattleBankFunc
ldrb r1, [r6]
lsls r1, 2
@@ -3022,15 +2990,15 @@ _08169EB6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8169E44
+ thumb_func_end WallyHandleReturnMonToBall
- thumb_func_start sub_8169EC8
-sub_8169EC8: @ 8169EC8
+ thumb_func_start WallyHandleDrawTrainerPic
+WallyHandleDrawTrainerPic: @ 8169EC8
push {r4-r6,lr}
ldr r4, =gActiveBank
ldrb r1, [r4]
movs r0, 0x6
- bl LoadBackTrainerBankSpriteGfx
+ bl DecompressTrainerBackPic
ldrb r0, [r4]
bl GetBankIdentity
adds r1, r0, 0
@@ -3107,15 +3075,15 @@ sub_8169EC8: @ 8169EC8
pop {r0}
bx r0
.pool
- thumb_func_end sub_8169EC8
+ thumb_func_end WallyHandleDrawTrainerPic
- thumb_func_start dp01t_07_6_
-dp01t_07_6_: @ 8169F94
+ thumb_func_start WallyHandleTrainerSlide
+WallyHandleTrainerSlide: @ 8169F94
push {r4-r6,lr}
ldr r4, =gActiveBank
ldrb r1, [r4]
movs r0, 0x6
- bl LoadBackTrainerBankSpriteGfx
+ bl DecompressTrainerBackPic
ldrb r0, [r4]
bl GetBankIdentity
adds r1, r0, 0
@@ -3192,34 +3160,34 @@ dp01t_07_6_: @ 8169F94
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_07_6_
+ thumb_func_end WallyHandleTrainerSlide
- thumb_func_start sub_816A060
-sub_816A060: @ 816A060
+ thumb_func_start WallyHandleTrainerSlideBack
+WallyHandleTrainerSlideBack: @ 816A060
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A060
+ thumb_func_end WallyHandleTrainerSlideBack
- thumb_func_start sub_816A06C
-sub_816A06C: @ 816A06C
+ thumb_func_start WallyHandleFaintAnimation
+WallyHandleFaintAnimation: @ 816A06C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A06C
+ thumb_func_end WallyHandleFaintAnimation
- thumb_func_start sub_816A078
-sub_816A078: @ 816A078
+ thumb_func_start WallyHandleCmd11
+WallyHandleCmd11: @ 816A078
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A078
+ thumb_func_end WallyHandleCmd11
- thumb_func_start sub_816A084
-sub_816A084: @ 816A084
+ thumb_func_start WallyHandleCmd12
+WallyHandleCmd12: @ 816A084
push {r4,r5,lr}
ldr r0, =gBattleSpritesDataPtr
ldr r0, [r0]
@@ -3239,7 +3207,7 @@ sub_816A084: @ 816A084
adds r0, r4, 0
adds r1, r4, 0
movs r3, 0x4
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -3250,10 +3218,10 @@ sub_816A084: @ 816A084
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A084
+ thumb_func_end WallyHandleCmd12
- thumb_func_start sub_816A0D8
-sub_816A0D8: @ 816A0D8
+ thumb_func_start WallyHandleBallThrow
+WallyHandleBallThrow: @ 816A0D8
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r5, =gActiveBank
@@ -3278,7 +3246,7 @@ sub_816A0D8: @ 816A0D8
adds r0, r4, 0
adds r1, r4, 0
movs r3, 0x4
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
ldr r1, =gBattleBankFunc
ldrb r0, [r5]
lsls r0, 2
@@ -3289,18 +3257,18 @@ sub_816A0D8: @ 816A0D8
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A0D8
+ thumb_func_end WallyHandleBallThrow
- thumb_func_start sub_816A138
-sub_816A138: @ 816A138
+ thumb_func_start WallyHandlePause
+WallyHandlePause: @ 816A138
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A138
+ thumb_func_end WallyHandlePause
- thumb_func_start sub_816A144
-sub_816A144: @ 816A144
+ thumb_func_start WallyHandleMoveAnimation
+WallyHandleMoveAnimation: @ 816A144
push {r4-r6,lr}
ldr r0, =gBattleBufferA
mov r12, r0
@@ -3391,14 +3359,14 @@ sub_816A144: @ 816A144
adds r1, 0x10
adds r2, r1
str r2, [r3]
- ldr r3, =gUnknown_020244BC
+ ldr r3, =gTransformedPersonalities
ldrb r1, [r6]
lsls r1, 2
adds r1, r3
ldr r2, [r2]
str r2, [r1]
ldrb r1, [r5]
- bl sub_805DB8C
+ bl IsMoveWithoutAnimation
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0
@@ -3427,7 +3395,7 @@ _0816A25A:
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A144
+ thumb_func_end WallyHandleMoveAnimation
thumb_func_start bx_move_anim_5
bx_move_anim_5: @ 816A26C
@@ -3484,7 +3452,7 @@ _0816A2C6:
adds r1, r3, 0
adds r2, r3, 0
movs r3, 0x5
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_0816A2E2:
ldr r0, [r7]
ldrb r1, [r6]
@@ -3539,7 +3507,7 @@ _0816A320:
adds r0, r2, 0
adds r1, r2, 0
movs r3, 0x6
- bl move_anim_start_t4
+ bl DoSpecialBattleAnimation
_0816A354:
ldr r0, [r7]
ldrb r1, [r6]
@@ -3570,7 +3538,7 @@ _0816A370:
ldrb r2, [r2]
lsls r2, 8
orrs r1, r2
- bl sub_805E94C
+ bl TrySetBehindSubstituteSpriteBit
ldr r0, [r7]
ldrb r1, [r6]
ldr r2, [r0, 0x4]
@@ -3589,8 +3557,8 @@ _0816A3AC:
bx r0
thumb_func_end bx_move_anim_5
- thumb_func_start sub_816A3B8
-sub_816A3B8: @ 816A3B8
+ thumb_func_start WallyHandlePrintString
+WallyHandlePrintString: @ 816A3B8
push {r4,lr}
ldr r0, =gBattle_BG0_X
movs r1, 0
@@ -3606,7 +3574,7 @@ sub_816A3B8: @ 816A3B8
bl BufferStringBattle
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -3617,10 +3585,10 @@ sub_816A3B8: @ 816A3B8
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A3B8
+ thumb_func_end WallyHandlePrintString
- thumb_func_start dp01t_11_5_message_for_player_only
-dp01t_11_5_message_for_player_only: @ 816A40C
+ thumb_func_start WallyHandlePrintStringPlayerOnly
+WallyHandlePrintStringPlayerOnly: @ 816A40C
push {lr}
ldr r0, =gActiveBank
ldrb r0, [r0]
@@ -3628,7 +3596,7 @@ dp01t_11_5_message_for_player_only: @ 816A40C
lsls r0, 24
cmp r0, 0
bne _0816A428
- bl sub_816A3B8
+ bl WallyHandlePrintString
b _0816A42C
.pool
_0816A428:
@@ -3636,7 +3604,7 @@ _0816A428:
_0816A42C:
pop {r0}
bx r0
- thumb_func_end dp01t_11_5_message_for_player_only
+ thumb_func_end WallyHandlePrintStringPlayerOnly
thumb_func_start sub_816A430
sub_816A430: @ 816A430
@@ -3664,8 +3632,8 @@ _0816A456:
.pool
thumb_func_end sub_816A430
- thumb_func_start dp01t_12_1_battle_menu
-dp01t_12_1_battle_menu: @ 816A470
+ thumb_func_start WallyHandleChooseAction
+WallyHandleChooseAction: @ 816A470
push {r4,lr}
ldr r1, =gBattleBankFunc
ldr r0, =gActiveBank
@@ -3676,7 +3644,7 @@ dp01t_12_1_battle_menu: @ 816A470
str r1, [r0]
ldr r0, =gText_BattleMenu
movs r1, 0x2
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
movs r4, 0
_0816A48A:
lsls r0, r4, 24
@@ -3696,23 +3664,23 @@ _0816A48A:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x1
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
pop {r4}
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_12_1_battle_menu
+ thumb_func_end WallyHandleChooseAction
- thumb_func_start sub_816A4D8
-sub_816A4D8: @ 816A4D8
+ thumb_func_start WallyHandleCmd19
+WallyHandleCmd19: @ 816A4D8
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A4D8
+ thumb_func_end WallyHandleCmd19
- thumb_func_start sub_816A4E4
-sub_816A4E4: @ 816A4E4
+ thumb_func_start WallyHandleChooseMove
+WallyHandleChooseMove: @ 816A4E4
push {r4,lr}
ldr r4, =gBattleStruct
ldr r1, [r4]
@@ -3732,7 +3700,7 @@ _0816A504:
beq _0816A550
b _0816A574
_0816A50A:
- bl sub_805C210
+ bl InitMoveSelectionsVarsAndStrings
ldr r1, [r4]
adds r1, 0x95
ldrb r0, [r1]
@@ -3777,16 +3745,16 @@ _0816A550:
lsls r2, 1
movs r0, 0x1
movs r1, 0xA
- bl EmitCmd33
+ bl EmitTwoReturnValues
bl WallyBufferExecCompleted
_0816A574:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_816A4E4
+ thumb_func_end WallyHandleChooseMove
- thumb_func_start sub_816A57C
-sub_816A57C: @ 816A57C
+ thumb_func_start WallyHandleOpenBag
+WallyHandleOpenBag: @ 816A57C
push {lr}
sub sp, 0x4
movs r0, 0x1
@@ -3810,26 +3778,26 @@ sub_816A57C: @ 816A57C
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A57C
+ thumb_func_end WallyHandleOpenBag
- thumb_func_start sub_816A5BC
-sub_816A5BC: @ 816A5BC
+ thumb_func_start WallyHandleChoosePokemon
+WallyHandleChoosePokemon: @ 816A5BC
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A5BC
+ thumb_func_end WallyHandleChoosePokemon
- thumb_func_start sub_816A5C8
-sub_816A5C8: @ 816A5C8
+ thumb_func_start WallyHandleCmd23
+WallyHandleCmd23: @ 816A5C8
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A5C8
+ thumb_func_end WallyHandleCmd23
- thumb_func_start sub_816A5D4
-sub_816A5D4: @ 816A5D4
+ thumb_func_start WallyHandleHealthBarUpdate
+WallyHandleHealthBarUpdate: @ 816A5D4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -3929,138 +3897,138 @@ _0816A69E:
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A5D4
+ thumb_func_end WallyHandleHealthBarUpdate
- thumb_func_start sub_816A6D4
-sub_816A6D4: @ 816A6D4
+ thumb_func_start WallyHandleExpUpdate
+WallyHandleExpUpdate: @ 816A6D4
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A6D4
+ thumb_func_end WallyHandleExpUpdate
- thumb_func_start sub_816A6E0
-sub_816A6E0: @ 816A6E0
+ thumb_func_start WallyHandleStatusIconUpdate
+WallyHandleStatusIconUpdate: @ 816A6E0
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A6E0
+ thumb_func_end WallyHandleStatusIconUpdate
- thumb_func_start sub_816A6EC
-sub_816A6EC: @ 816A6EC
+ thumb_func_start WallyHandleStatusAnimation
+WallyHandleStatusAnimation: @ 816A6EC
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A6EC
+ thumb_func_end WallyHandleStatusAnimation
- thumb_func_start sub_816A6F8
-sub_816A6F8: @ 816A6F8
+ thumb_func_start WallyHandleStatusXor
+WallyHandleStatusXor: @ 816A6F8
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A6F8
+ thumb_func_end WallyHandleStatusXor
- thumb_func_start sub_816A704
-sub_816A704: @ 816A704
+ thumb_func_start WallyHandleDataTransfer
+WallyHandleDataTransfer: @ 816A704
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A704
+ thumb_func_end WallyHandleDataTransfer
- thumb_func_start sub_816A710
-sub_816A710: @ 816A710
+ thumb_func_start WallyHandleDMA3Transfer
+WallyHandleDMA3Transfer: @ 816A710
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A710
+ thumb_func_end WallyHandleDMA3Transfer
- thumb_func_start sub_816A71C
-sub_816A71C: @ 816A71C
+ thumb_func_start WallyHandlePlayBGM
+WallyHandlePlayBGM: @ 816A71C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A71C
+ thumb_func_end WallyHandlePlayBGM
- thumb_func_start sub_816A728
-sub_816A728: @ 816A728
+ thumb_func_start WallyHandleCmd32
+WallyHandleCmd32: @ 816A728
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A728
+ thumb_func_end WallyHandleCmd32
- thumb_func_start sub_816A734
-sub_816A734: @ 816A734
+ thumb_func_start WallyHandleCmd33
+WallyHandleCmd33: @ 816A734
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A734
+ thumb_func_end WallyHandleCmd33
- thumb_func_start sub_816A740
-sub_816A740: @ 816A740
+ thumb_func_start WallyHandleCmd34
+WallyHandleCmd34: @ 816A740
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A740
+ thumb_func_end WallyHandleCmd34
- thumb_func_start sub_816A74C
-sub_816A74C: @ 816A74C
+ thumb_func_start WallyHandleCmd35
+WallyHandleCmd35: @ 816A74C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A74C
+ thumb_func_end WallyHandleCmd35
- thumb_func_start sub_816A758
-sub_816A758: @ 816A758
+ thumb_func_start WallyHandleCmd36
+WallyHandleCmd36: @ 816A758
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A758
+ thumb_func_end WallyHandleCmd36
- thumb_func_start sub_816A764
-sub_816A764: @ 816A764
+ thumb_func_start WallyHandleCmd37
+WallyHandleCmd37: @ 816A764
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A764
+ thumb_func_end WallyHandleCmd37
- thumb_func_start sub_816A770
-sub_816A770: @ 816A770
+ thumb_func_start WallyHandleCmd38
+WallyHandleCmd38: @ 816A770
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A770
+ thumb_func_end WallyHandleCmd38
- thumb_func_start sub_816A77C
-sub_816A77C: @ 816A77C
+ thumb_func_start WallyHandleCmd39
+WallyHandleCmd39: @ 816A77C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A77C
+ thumb_func_end WallyHandleCmd39
- thumb_func_start sub_816A788
-sub_816A788: @ 816A788
+ thumb_func_start WallyHandleCmd40
+WallyHandleCmd40: @ 816A788
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A788
+ thumb_func_end WallyHandleCmd40
- thumb_func_start sub_816A794
-sub_816A794: @ 816A794
+ thumb_func_start WallyHandleHitAnimation
+WallyHandleHitAnimation: @ 816A794
push {r4,lr}
ldr r3, =gSprites
ldr r2, =gBankSpriteIds
@@ -4094,7 +4062,7 @@ _0816A7C8:
movs r1, 0
strh r1, [r0, 0x30]
ldrb r0, [r4]
- bl sub_80769F4
+ bl DoHitAnimHealthboxEffect
ldr r1, =gBattleBankFunc
ldrb r0, [r4]
lsls r0, 2
@@ -4106,18 +4074,18 @@ _0816A7F2:
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A794
+ thumb_func_end WallyHandleHitAnimation
- thumb_func_start sub_816A804
-sub_816A804: @ 816A804
+ thumb_func_start WallyHandleCmd42
+WallyHandleCmd42: @ 816A804
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816A804
+ thumb_func_end WallyHandleCmd42
- thumb_func_start sub_816A810
-sub_816A810: @ 816A810
+ thumb_func_start WallyHandleEffectivenessSound
+WallyHandleEffectivenessSound: @ 816A810
push {lr}
ldr r2, =gBattleBufferA
ldr r0, =gActiveBank
@@ -4136,10 +4104,10 @@ sub_816A810: @ 816A810
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A810
+ thumb_func_end WallyHandleEffectivenessSound
- thumb_func_start sub_816A840
-sub_816A840: @ 816A840
+ thumb_func_start WallyHandlePlayFanfareOrBGM
+WallyHandlePlayFanfareOrBGM: @ 816A840
push {r4,r5,lr}
ldr r4, =gBattleBufferA
ldr r5, =gActiveBank
@@ -4179,10 +4147,10 @@ _0816A890:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_816A840
+ thumb_func_end WallyHandlePlayFanfareOrBGM
- thumb_func_start sub_816A89C
-sub_816A89C: @ 816A89C
+ thumb_func_start WallyHandleFaintingCry
+WallyHandleFaintingCry: @ 816A89C
push {lr}
ldr r1, =gBattlePartyID
ldr r0, =gActiveBank
@@ -4204,10 +4172,10 @@ sub_816A89C: @ 816A89C
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A89C
+ thumb_func_end WallyHandleFaintingCry
- thumb_func_start dp01t_2E_5_battle_intro
-dp01t_2E_5_battle_intro: @ 816A8D8
+ thumb_func_start WallyHandleIntroSlide
+WallyHandleIntroSlide: @ 816A8D8
push {lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -4216,7 +4184,7 @@ dp01t_2E_5_battle_intro: @ 816A8D8
adds r1, 0x1
adds r0, r1
ldrb r0, [r0]
- bl battle_intro_launch
+ bl HandleIntroSlide
ldr r2, =gUnknown_020243FC
ldrh r0, [r2]
movs r1, 0x1
@@ -4226,10 +4194,10 @@ dp01t_2E_5_battle_intro: @ 816A8D8
pop {r0}
bx r0
.pool
- thumb_func_end dp01t_2E_5_battle_intro
+ thumb_func_end WallyHandleIntroSlide
- thumb_func_start sub_816A90C
-sub_816A90C: @ 816A90C
+ thumb_func_start WallyHandleIntroTrainerBallThrow
+WallyHandleIntroTrainerBallThrow: @ 816A90C
push {r4-r7,lr}
ldr r6, =gBankSpriteIds
ldr r7, =gActiveBank
@@ -4381,7 +4349,7 @@ _0816AA24:
pop {r0}
bx r0
.pool
- thumb_func_end sub_816A90C
+ thumb_func_end WallyHandleIntroTrainerBallThrow
thumb_func_start sub_816AA80
sub_816AA80: @ 816AA80
@@ -4601,8 +4569,8 @@ _0816AC5E:
.pool
thumb_func_end sub_816AC04
- thumb_func_start sub_816AC78
-sub_816AC78: @ 816AC78
+ thumb_func_start WallyHandleDrawPartyStatusSummary
+WallyHandleDrawPartyStatusSummary: @ 816AC78
push {r4,r5,lr}
ldr r1, =gBattleBufferA
ldr r0, =gActiveBank
@@ -4656,34 +4624,34 @@ _0816ACE6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_816AC78
+ thumb_func_end WallyHandleDrawPartyStatusSummary
- thumb_func_start sub_816ACFC
-sub_816ACFC: @ 816ACFC
+ thumb_func_start WallyHandleCmd49
+WallyHandleCmd49: @ 816ACFC
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816ACFC
+ thumb_func_end WallyHandleCmd49
- thumb_func_start sub_816AD08
-sub_816AD08: @ 816AD08
+ thumb_func_start WallyHandleCmd50
+WallyHandleCmd50: @ 816AD08
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816AD08
+ thumb_func_end WallyHandleCmd50
- thumb_func_start sub_816AD14
-sub_816AD14: @ 816AD14
+ thumb_func_start WallyHandleSpriteInvisibility
+WallyHandleSpriteInvisibility: @ 816AD14
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816AD14
+ thumb_func_end WallyHandleSpriteInvisibility
- thumb_func_start sub_816AD20
-sub_816AD20: @ 816AD20
+ thumb_func_start WallyHandleBattleAnimation
+WallyHandleBattleAnimation: @ 816AD20
push {r4-r6,lr}
sub sp, 0x4
ldr r5, =gBattleBufferA
@@ -4704,7 +4672,7 @@ sub_816AD20: @ 816AD20
str r4, [sp]
adds r0, r2, 0
adds r1, r2, 0
- bl move_anim_start_t3
+ bl DoBattleAnimationFromTable
lsls r0, 24
cmp r0, 0
beq _0816AD60
@@ -4724,26 +4692,26 @@ _0816AD6C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_816AD20
+ thumb_func_end WallyHandleBattleAnimation
- thumb_func_start sub_816AD7C
-sub_816AD7C: @ 816AD7C
+ thumb_func_start WallyHandleLinkStandbyMsg
+WallyHandleLinkStandbyMsg: @ 816AD7C
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816AD7C
+ thumb_func_end WallyHandleLinkStandbyMsg
- thumb_func_start sub_816AD88
-sub_816AD88: @ 816AD88
+ thumb_func_start WallyHandleResetActionMoveSelection
+WallyHandleResetActionMoveSelection: @ 816AD88
push {lr}
bl WallyBufferExecCompleted
pop {r0}
bx r0
- thumb_func_end sub_816AD88
+ thumb_func_end WallyHandleResetActionMoveSelection
- thumb_func_start sub_816AD94
-sub_816AD94: @ 816AD94
+ thumb_func_start WallyHandleCmd55
+WallyHandleCmd55: @ 816AD94
push {r4,lr}
ldr r2, =gBattleOutcome
ldr r1, =gBattleBufferA
@@ -4776,7 +4744,7 @@ _0816ADD0:
pop {r0}
bx r0
.pool
- thumb_func_end sub_816AD94
+ thumb_func_end WallyHandleCmd55
thumb_func_start nullsub_118
nullsub_118: @ 816ADF0
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index 7ac60f1be..978dd30fa 100755
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -6956,7 +6956,7 @@ _08192574:
cmp r2, r0
bne _08192598
ldrb r0, [r1, 0x8]
- bl sub_806F000
+ bl PlayerGenderToFrontTrainerPicId
lsls r0, 16
lsrs r0, 16
b _081925B6
@@ -6971,7 +6971,7 @@ _08192598:
.pool
_081925AC:
ldr r0, [sp, 0x24]
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
_081925B2:
lsls r0, 24
lsrs r0, 24
@@ -8535,7 +8535,7 @@ _081932A2:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
- bl sub_806F000
+ bl PlayerGenderToFrontTrainerPicId
lsls r0, 16
lsrs r0, 16
mov r2, r8
@@ -8554,7 +8554,7 @@ _081932D4:
_081932E4:
lsls r0, r1, 16
lsrs r0, 16
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
_081932EC:
lsls r0, 24
lsrs r0, 24
@@ -8621,7 +8621,7 @@ _0819335A:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
- bl sub_806F000
+ bl PlayerGenderToFrontTrainerPicId
lsls r0, 16
lsrs r0, 16
b _081933B0
@@ -8642,7 +8642,7 @@ _08193388:
_081933A4:
lsls r0, r1, 16
lsrs r0, 16
- bl sub_8162AA0
+ bl GetFrontierTrainerFrontSpriteId
lsls r0, 24
lsrs r0, 24
_081933B0:
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 37ddc7ac6..ac92b3c2a 100755
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -20557,7 +20557,7 @@ _081A5306:
movs r1, 0
movs r2, 0x18
movs r3, 0xD
- bl sub_8056A3C
+ bl HandleBattleWindow
b _081A553E
.pool
_081A531C:
@@ -20582,29 +20582,29 @@ _081A5328:
ldr r4, =gDisplayedStringBattle
adds r0, r4, 0
movs r1, 0xF
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Vs
movs r1, 0x10
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_OpponentMon1Name
bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x11
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Mind
movs r1, 0x12
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Skill
movs r1, 0x13
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Body
movs r1, 0x14
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gText_Judgement
bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x15
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
b _081A553E
.pool
_081A53B4:
@@ -20688,7 +20688,7 @@ _081A5464:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x15
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
@@ -20733,7 +20733,7 @@ _081A54D4:
movs r1, 0
movs r2, 0x18
movs r3, 0xD
- bl sub_8056A3C
+ bl HandleBattleWindow
movs r0, 0
bl CopyBgTilemapBufferToVram
ldr r0, =gMPlay_BGM
diff --git a/asm/battle_link_817C95C.s b/asm/battle_link_817C95C.s
index aa887bc25..fedb50c45 100644
--- a/asm/battle_link_817C95C.s
+++ b/asm/battle_link_817C95C.s
@@ -110,7 +110,7 @@ _0817CA4C:
ldr r1, =gStringInfo
ldr r1, [r1]
ldrh r1, [r1]
- bl sub_817F33C
+ bl GetBankMoveSlotId
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -2572,7 +2572,7 @@ _0817E122:
mov r1, r10
ldrb r0, [r1]
adds r1, r7, 0
- bl sub_817F33C
+ bl GetBankMoveSlotId
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x3
@@ -4793,8 +4793,8 @@ _0817F324:
.pool
thumb_func_end sub_817F2A8
- thumb_func_start sub_817F33C
-sub_817F33C: @ 817F33C
+ thumb_func_start GetBankMoveSlotId
+GetBankMoveSlotId: @ 817F33C
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -4835,7 +4835,7 @@ _0817F388:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_817F33C
+ thumb_func_end GetBankMoveSlotId
thumb_func_start sub_817F394
sub_817F394: @ 817F394
@@ -4888,97 +4888,4 @@ _0817F3E6:
bx r0
thumb_func_end sub_817F394
- thumb_func_start nullsub_69
-nullsub_69: @ 817F3EC
- bx lr
- thumb_func_end nullsub_69
-
- thumb_func_start sub_817F3F0
-sub_817F3F0: @ 817F3F0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r9, r0
- mov r8, r1
- adds r5, r2, 0
- adds r4, r3, 0
- lsls r5, 16
- negs r5, r5
- lsls r4, 16
- negs r4, r4
- lsrs r4, 16
- mov r0, r8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- asrs r5, 16
- adds r1, r5, 0
- bl Cos
- adds r6, r0, 0
- lsls r4, 16
- asrs r4, 16
- mov r0, r8
- adds r1, r4, 0
- bl Sin
- subs r6, r0
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- adds r1, r4, 0
- bl Cos
- adds r2, r0, 0
- mov r0, r8
- adds r1, r5, 0
- str r2, [sp]
- bl Sin
- ldr r2, [sp]
- adds r2, r0
- negs r5, r5
- negs r4, r4
- lsls r6, 16
- asrs r6, 16
- lsls r5, 16
- asrs r5, 16
- adds r6, r5
- mov r0, r9
- strh r6, [r0, 0x24]
- lsls r2, 16
- asrs r2, 16
- lsls r4, 16
- asrs r4, 16
- adds r2, r4
- strh r2, [r0, 0x26]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_817F3F0
-
- thumb_func_start GetSpeciesBackAnimId
-GetSpeciesBackAnimId: @ 817F474
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gUnknown_0860A8C8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0817F48C
- movs r0, 0
- b _0817F492
- .pool
-_0817F48C:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_0817F492:
- pop {r1}
- bx r1
- thumb_func_end GetSpeciesBackAnimId
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 74c84e34c..2b220cb56 100755
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -1329,8 +1329,8 @@ _08162A8A:
.pool
thumb_func_end sub_81628A0
- thumb_func_start sub_8162AA0
-sub_8162AA0: @ 8162AA0
+ thumb_func_start GetFrontierTrainerFrontSpriteId
+GetFrontierTrainerFrontSpriteId: @ 8162AA0
push {r4,r5,lr}
lsls r0, 16
lsrs r4, r0, 16
@@ -1454,7 +1454,7 @@ _08162BCA:
pop {r1}
bx r1
.pool
- thumb_func_end sub_8162AA0
+ thumb_func_end GetFrontierTrainerFrontSpriteId
thumb_func_start GetFrontierOpponentClass
GetFrontierOpponentClass: @ 8162BD8
diff --git a/asm/battle_transition.s b/asm/battle_transition.s
index 2f9637594..6ffa17320 100644
--- a/asm/battle_transition.s
+++ b/asm/battle_transition.s
@@ -4348,7 +4348,7 @@ sub_8148218: @ 8148218
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
- bl sub_806F000
+ bl PlayerGenderToFrontTrainerPicId
lsls r0, 24
lsrs r0, 24
movs r1, 0x88
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index e5e9aaab9..1dd5cb4f1 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -1338,7 +1338,7 @@ _0813E6E4:
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -1626,7 +1626,7 @@ _0813E99E:
bl StringExpandPlaceholders
adds r0, r4, 0
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =0x00000173
bl PlayBGM
ldr r2, =gTasks
@@ -1868,7 +1868,7 @@ _0813EBE4:
_0813EBEC:
ldr r0, =gStringVar4
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@@ -1900,7 +1900,7 @@ _0813EC2A:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@@ -1997,7 +1997,7 @@ _0813ED16:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2026,7 +2026,7 @@ _0813ED62:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2051,7 +2051,7 @@ _0813ED90:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2084,10 +2084,10 @@ _0813EDEA:
movs r1, 0x8
movs r2, 0x1D
movs r3, 0xD
- bl sub_8056A3C
+ bl HandleBattleWindow
ldr r0, =gText_BattleYesNoChoice
movs r1, 0xC
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
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 BattleCreateCursorAt
+ bl BattleCreateYesNoCursorAt
b _0813F1A4
.pool
_0813EE34:
@@ -2117,10 +2117,10 @@ _0813EE34:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
- bl BattleDestroyCursorAt
+ bl BattleDestroyYesNoCursorAt
movs r0, 0
strb r0, [r4, 0x1]
- bl BattleCreateCursorAt
+ bl BattleCreateYesNoCursorAt
_0813EE5C:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -2135,10 +2135,10 @@ _0813EE5C:
movs r0, 0x5
bl PlaySE
ldrb r0, [r4, 0x1]
- bl BattleDestroyCursorAt
+ bl BattleDestroyYesNoCursorAt
movs r0, 0x1
strb r0, [r4, 0x1]
- bl BattleCreateCursorAt
+ bl BattleCreateYesNoCursorAt
_0813EE84:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -2152,7 +2152,7 @@ _0813EE84:
movs r1, 0x8
movs r2, 0x1D
movs r3, 0xD
- bl sub_8056A3C
+ bl HandleBattleWindow
movs r0, 0x5
bl PlaySE
ldr r0, =gBattleCommunication
@@ -2202,7 +2202,7 @@ _0813EF00:
movs r1, 0x8
movs r2, 0x1D
movs r3, 0xD
- bl sub_8056A3C
+ bl HandleBattleWindow
movs r0, 0x5
bl PlaySE
ldr r1, =gTasks
@@ -2292,7 +2292,7 @@ _0813EFC8:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2341,7 +2341,7 @@ _0813F05C:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gTasks
mov r2, r8
adds r1, r2, r7
@@ -2370,7 +2370,7 @@ _0813F0AA:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r0, =gTasks
mov r3, r8
adds r1, r3, r7
@@ -2398,7 +2398,7 @@ _0813F0D8:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
@@ -2414,7 +2414,7 @@ _0813F120:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gTasks
mov r3, r8
adds r0, r3, r7
@@ -2434,7 +2434,7 @@ _0813F154:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0
- bl sub_814F9EC
+ bl BattleHandleAddTextPrinter
ldr r1, =gTasks
mov r2, r8
adds r0, r2, r7
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 1e4dfca49..06c0a86ed 100755
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -47,14 +47,14 @@ sub_81AABB0: @ 81AABB0
lsls r0, 24
cmp r0, 0
bne _081AABCC
- ldr r2, =sub_8059D50
+ ldr r2, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
movs r1, 0x5
bl GoToBagMenu
b _081AABD4
.pool
_081AABCC:
- ldr r1, =sub_8059D50
+ ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
bl sub_81C4F98
_081AABD4:
@@ -5634,7 +5634,7 @@ DoWallyTutorialBagMenu: @ 81ADD70
movs r0, 0x4
movs r1, 0x1
bl AddBagItem
- ldr r2, =sub_8059D50
+ ldr r2, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0xA
movs r1, 0
bl GoToBagMenu
diff --git a/asm/party_menu.s b/asm/party_menu.s
index f2e681b9b..0ab4eb318 100755
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -15908,7 +15908,7 @@ sub_81B89AC: @ 81B89AC
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =sub_8059D40
+ ldr r0, =SetCB2ToReshowScreenAfterMenu
str r0, [sp, 0x8]
movs r0, 0x1
adds r2, r4, 0
@@ -16828,7 +16828,7 @@ _081B9136:
thumb_func_start sub_81B9140
sub_81B9140: @ 81B9140
push {lr}
- ldr r0, =sub_8059D40
+ ldr r0, =SetCB2ToReshowScreenAfterMenu
bl SetMainCallback2
pop {r0}
bx r0
diff --git a/asm/pokeball.s b/asm/pokeball.s
index fed227c80..0afd27932 100755
--- a/asm/pokeball.s
+++ b/asm/pokeball.s
@@ -2685,8 +2685,8 @@ _080769EA:
.pool
thumb_func_end sub_80769CC
- thumb_func_start sub_80769F4
-sub_80769F4: @ 80769F4
+ thumb_func_start DoHitAnimHealthboxEffect
+DoHitAnimHealthboxEffect: @ 80769F4
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2714,7 +2714,7 @@ sub_80769F4: @ 80769F4
pop {r0}
bx r0
.pool
- thumb_func_end sub_80769F4
+ thumb_func_end DoHitAnimHealthboxEffect
thumb_func_start oamc_804BEB4
oamc_804BEB4: @ 8076A38
diff --git a/asm/pokedex.s b/asm/pokedex.s
index f9ee0eeab..3d69281c2 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -7923,7 +7923,7 @@ _080BF982:
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x8]
- bl sub_806F000
+ bl PlayerGenderToFrontTrainerPicId
lsls r0, 16
lsrs r0, 16
movs r1, 0x98
diff --git a/asm/pokemon_animation.s b/asm/pokemon_animation.s
index a29ecb729..870e658f7 100644
--- a/asm/pokemon_animation.s
+++ b/asm/pokemon_animation.s
@@ -4,6 +4,100 @@
.syntax unified
.text
+
+
+ thumb_func_start nullsub_69
+nullsub_69: @ 817F3EC
+ bx lr
+ thumb_func_end nullsub_69
+
+ thumb_func_start sub_817F3F0
+sub_817F3F0: @ 817F3F0
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ mov r9, r0
+ mov r8, r1
+ adds r5, r2, 0
+ adds r4, r3, 0
+ lsls r5, 16
+ negs r5, r5
+ lsls r4, 16
+ negs r4, r4
+ lsrs r4, 16
+ mov r0, r8
+ lsls r0, 16
+ asrs r0, 16
+ mov r8, r0
+ asrs r5, 16
+ adds r1, r5, 0
+ bl Cos
+ adds r6, r0, 0
+ lsls r4, 16
+ asrs r4, 16
+ mov r0, r8
+ adds r1, r4, 0
+ bl Sin
+ subs r6, r0
+ lsls r6, 16
+ lsrs r6, 16
+ mov r0, r8
+ adds r1, r4, 0
+ bl Cos
+ adds r2, r0, 0
+ mov r0, r8
+ adds r1, r5, 0
+ str r2, [sp]
+ bl Sin
+ ldr r2, [sp]
+ adds r2, r0
+ negs r5, r5
+ negs r4, r4
+ lsls r6, 16
+ asrs r6, 16
+ lsls r5, 16
+ asrs r5, 16
+ adds r6, r5
+ mov r0, r9
+ strh r6, [r0, 0x24]
+ lsls r2, 16
+ asrs r2, 16
+ lsls r4, 16
+ asrs r4, 16
+ adds r2, r4
+ strh r2, [r0, 0x26]
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_817F3F0
+
+ thumb_func_start GetSpeciesBackAnimId
+GetSpeciesBackAnimId: @ 817F474
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, =gUnknown_0860A8C8
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0817F48C
+ movs r0, 0
+ b _0817F492
+ .pool
+_0817F48C:
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+_0817F492:
+ pop {r1}
+ bx r1
+ thumb_func_end GetSpeciesBackAnimId
thumb_func_start sub_817F498
sub_817F498: @ 817F498
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index fd2518075..03f6b11d1 100755
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -2035,7 +2035,7 @@ sub_81C4EFC: @ 81C4EFC
thumb_func_start sub_81C4F10
sub_81C4F10: @ 81C4F10
push {lr}
- ldr r1, =sub_8059D50
+ ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
bl sub_81C4F98
pop {r0}
diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s
index 2209312c2..55cfdf6ef 100644
--- a/asm/recorded_battle.s
+++ b/asm/recorded_battle.s
@@ -312,8 +312,8 @@ _08185046:
.pool
thumb_func_end RecordedBattle_ClearBankAction
- thumb_func_start sub_8185054
-sub_8185054: @ 8185054
+ thumb_func_start RecordedBattle_ReadBankAction
+RecordedBattle_ReadBankAction: @ 8185054
push {r4,lr}
sub sp, 0x4
lsls r0, 24
@@ -364,7 +364,7 @@ _081850C6:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8185054
+ thumb_func_end RecordedBattle_ReadBankAction
thumb_func_start sub_81850D0
sub_81850D0: @ 81850D0
@@ -2274,7 +2274,7 @@ _0818611E:
b _081863EE
_08186142:
adds r0, r5, 0
- bl sub_8185054
+ bl RecordedBattle_ReadBankAction
movs r5, 0
mov r0, sp
adds r0, 0x4
@@ -2326,7 +2326,7 @@ _0818617E:
_081861A6:
ldr r3, [sp, 0x4C]
lsrs r0, r3, 24
- bl sub_8185054
+ bl RecordedBattle_ReadBankAction
strb r0, [r4]
ldrb r0, [r4]
lsls r0, 1
diff --git a/asm/rom6.s b/asm/rom6.s
index b729369c8..87b780ba5 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -547,7 +547,7 @@ _081358D4:
thumb_func_start sub_81358F4
sub_81358F4: @ 81358F4
push {lr}
- ldr r1, =sub_8059D50
+ ldr r1, =SetCB2ToReshowScreenAfterMenu2
movs r0, 0x1
bl sub_81357FC
pop {r0}